js_of_ocaml VS ninja

Compare js_of_ocaml vs ninja and see what are their differences.

js_of_ocaml

Compiler from OCaml to Javascript. (by ocsigen)

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
js_of_ocaml ninja
4 51
930 10,411
1.3% 1.6%
9.4 7.9
9 days ago 7 days ago
OCaml C++
GNU General Public License v3.0 or later Apache License 2.0
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.

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.
  • 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.

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.
  • Using Make – writing less Makefile
    6 projects | news.ycombinator.com | 26 Dec 2023
  • What was used to build C++ programs before Cmake?
    5 projects | /r/cpp_questions | 5 Jul 2023
    Ninja showed real promise for a while, but then CMake grew up and people stopped seeing a reason to leave it behind.
    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
  • 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

  • Classifying Python virtual environment workflows
    4 projects | news.ycombinator.com | 7 Jan 2023
  • Flutter 3 on Arch Linux: 始め方
    5 projects | dev.to | 1 Jan 2023
    Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.3.10, on Artix Linux 6.0.12-artix1-1, locale en_US.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1) [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✗] Linux toolchain - develop for Linux desktop ✗ clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ ✗ CMake is required for Linux development. It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/ ✗ ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases ✗ pkg-config is required for Linux development. It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/ [✓] Android Studio (version 2021.3) [✓] Connected device (1 available) [✓] HTTP Host Availability ! Doctor found issues in 2 categories.

What are some alternatives?

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

meson - The Meson Build System

SCons

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

Invoke - Pythonic task management & command execution.

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

PyBuilder - Software build automation tool for Python.

CMake - Mirror of CMake upstream repository

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

PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:

xmake - 🔥 A cross-platform build utility based on Lua

Nox - Flexible test automation for Python

doit - task management & automation tool