ninja VS js_of_ocaml

Compare ninja vs js_of_ocaml and see what are their differences.

ninja

a small build system with a focus on speed (by ninja-build)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
ninja js_of_ocaml
51 4
10,485 931
1.5% 0.6%
7.9 9.4
7 days ago 5 days ago
C++ OCaml
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ninja

Posts with mentions or reviews of ninja. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-26.
  • TypeScript's Successor is Waiting, and You'll Never Want to Turn Back
    1 project | dev.to | 29 Jan 2024
    Under the hood, Rescript uses a build system called Ninja. Ninja is similar to Make, but cross-platform and more minimal/performant.
  • Using Make – writing less Makefile
    6 projects | news.ycombinator.com | 26 Dec 2023
  • Ask HN: What outdated tech are you still using and are perfectly happy with?
    1 project | news.ycombinator.com | 18 Oct 2023
    Really? I thought most new projects were switching to ninja[^1] and have never used it.

    [^1]: https://ninja-build.org/

  • What was used to build C++ programs before Cmake?
    5 projects | /r/cpp_questions | 5 Jul 2023
  • I have spent two whole work days trying to install GLEW
    6 projects | /r/GraphicsProgramming | 3 Jul 2023
    warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add --triplet x86-windows to keep the same behavior. Computing installation plan... The following packages will be built and installed: * egl-registry:x86-windows -> 2022-09-20 glew:x86-windows -> 2.2.0#3 * opengl:x86-windows -> 2022-12-04#3 * opengl-registry:x86-windows -> 2022-09-29#1 * vcpkg-cmake:x64-windows -> 2023-05-04 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x86-windows... A suitable version of powershell-core was not found (required v7.2.11) Downloading portable powershell-core 7.2.11... Downloading powershell-core... https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip->C:\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip Extracting powershell-core... error: while detecting compiler information: The log file content at "C:\vcpkg\buildtrees\detect_compiler\stdout-x86-windows.log" is: -- Downloading https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip -> ninja-win-1.10.2.zip... -- Configuring x86-windows CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message): Command failed: C:/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe -v Working Directory: C:/vcpkg/buildtrees/detect_compiler/x86-windows-rel/vcpkg-parallel-configure Error code: 1 See logs for more information: C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-rel-CMakeCache.txt.log C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-out.log
  • Installer script for CMake, Ninja, and Meson
    4 projects | /r/bash | 1 Jun 2023
    I thought I would share my custom installer script for the latest GitHub versions of CMake, Ninja, and Meson.
  • Building and Running Pidgin and Finch 3
    3 projects | dev.to | 6 May 2023
    Now that you have your build system all generated you can go ahead and build everything. By default Meson will use Ninja as the build tool. Ninja is similar to Make but much much faster. You can also generate additional build systems but that's outside of the scope of this post.
  • Is there any way to configure my project so I can work on it on both Windows and MacOS?
    2 projects | /r/sdl | 16 Apr 2023
    There are also some other tools like https://ninja-build.org/ that you might prefer using instead
  • Bitdefender blocked Explorer.exe and Ninja.exe has been quarantined
    1 project | /r/antivirus | 16 Feb 2023
    I got Ninja from https://github.com/ninja-build/ninja, latest release. I'm assuming this is a false positive?
  • Just: A Command Runner
    27 projects | news.ycombinator.com | 9 Jan 2023
    Oh excellent, then better (and more portable!) tools are available:

    http://pants.build

    https://ninja-build.org

    https://buck.build

    and, if you hate yourself: https://bazel.build

js_of_ocaml

Posts with mentions or reviews of js_of_ocaml. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-04.
  • Question about the Reason project in general
    3 projects | /r/rescript | 4 Feb 2022
    In reality, most folks that developed BuckleScript frontends with ReasonML switched to ReScript syntax and are happy with it. Some felt more friction because of their reliance on PPXes or FP-heavy libraries (like Relude) and those people tend to use the Melange fork of BuckleScript or they switched to js_of_ocaml.
  • Is there a statically typed functional programming language that doesn't take purity so seriously?
    7 projects | /r/functionalprogramming | 1 Jun 2021
    TL;DR: Reason is, and always has been, independent of ReScript (formerly BuckleScript) and is still actively maintained. If you want to use Reason or OCaml to make native code you can. If you want to compile JS from OCaml or Reason you also still can, but you'll want to use either js_of_ocaml or a BuckleScript fork named Melange that was made in response to the BuckleScript/ReScript people's shenanigans. And if you only care about JS-like syntax and JS output, you can use ReScript.
  • Why is Elm more popular than most of its similar alternatives?
    1 project | /r/elm | 15 May 2021
    Personally, I just use OCaml and compile to JavaScript with Js_of_ocaml. Js_of_ocaml has been stable and actively maintained for a decade, and I don't have to worry if some superficial syntactic change that affects nothing but ASCII art is going to break my code.
  • query-json: A story of cross-compilation with Reason
    8 projects | dev.to | 12 Oct 2020
    The compilation to JavaScript is the sweet section of this blog post since we are using OCaml (under the hood while writing Reason), and it allows us to compile directly to JavaScript using js_of_ocaml.

What are some alternatives?

When comparing ninja and js_of_ocaml you can also consider the following projects:

meson - The Meson Build System

melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason

SCons

reason - Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

Bazel - a fast, scalable, multi-language and extensible build system

jsoo-react - js_of_ocaml bindings for ReactJS. Based on ReasonReact.

Invoke - Pythonic task management & command execution.

yojson - Low-level JSON parsing and pretty-printing library for OCaml

BitBake - The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.

bs-emotion - BuckleScript bindings to Emotion

PyBuilder - Software build automation tool for Python.

query-json - Faster, simpler and more portable implementation of `jq` in Reason