nbind VS JavaCPP

Compare nbind vs JavaCPP and see what are their differences.

nbind

:sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket: (by charto)

JavaCPP

The missing bridge between Java and native C++ (by bytedeco)
Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
nbind JavaCPP
1 3
1,834 3,732
0.8% 1.4%
0.0 7.7
over 2 years ago 7 days ago
C++ Java
MIT License 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.

nbind

Posts with mentions or reviews of nbind. We have used some of these posts to build our list of alternatives and similar projects.

JavaCPP

Posts with mentions or reviews of JavaCPP. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-05-20.
  • If it gets better w age, will java become compatible for machine learning and data science?
    7 projects | reddit.com/r/java | 20 May 2021
    As for our approach, we maintain a library called javacpp: https://github.com/bytedeco/javacpp which proves a python wheel like experience where we distribute natively optimized c/c++ code (and even cuda accelerated code) as jar files on maven central. We also are able to develop with a python like experience by passing pointers around and other low level constructs directly allowing optimizations that you typically only get in c/c++.
  • CXX - Safe interop between Rust and C++
    3 projects | news.ycombinator.com | 24 Mar 2021
    https://github.com/bytedeco/javacpp

    * it maps naturally and efficiently many common features afforded by the C++ language and often considered problematic, including overloaded operators, class and function templates, callbacks through function pointers, function objects (aka functors), virtual functions and member function pointers, nested struct definitions, variable length arguments, nested namespaces, large data structures containing arbitrary cycles, virtual and multiple inheritance, passing/returning by value/reference/string/vector, anonymous unions, bit fields, exceptions, destructors and shared or unique pointers (via either try-with-resources or garbage collection), and documentation comments*

  • An article on how to use C++ for cross-platform development
    1 project | reddit.com/r/cpp | 11 Mar 2021
    I did not try myself, but for JNI maybe this could make lives easier? https://github.com/bytedeco/javacpp

What are some alternatives?

When comparing nbind and JavaCPP you can also consider the following projects:

JNA - Java Native Access

SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

JNR - Java Abstracted Foreign Function Layer

v8pp - Bind C++ functions and classes into V8 JavaScript engine

cppimport - Import C++ files directly from Python!

jnativehook - Global keyboard and mouse listeners for Java.

djinni

CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages

wasmer-java - ☕ WebAssembly runtime for Java

V8 - The official mirror of the V8 Git repository

nelson - Nelson numerical interpreter

Deep Java Library (DJL) - An Engine-Agnostic Deep Learning Framework in Java