Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

jnim

Nim - Java bridge

Subscribe to updates I use jnim


Statistics on jnim

Number of watchers on Github 51
Number of open issues 0
Main language Nimrod
Average time to merge a PR about 19 hours
Open pull requests 1+
Closed pull requests 1+
Last commit over 2 years ago
Repo Created almost 5 years ago
Repo Last Updated about 2 years ago
Size 214 KB
Organization / Authoryglukhov
Latest Releasev0.4.0
Contributors1
Page Updated
Do you use jnim? Leave a review!
View jnim activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating jnim for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

jnim - JNI library for Nim language nimble

Build Status

Native language integration with Java VM has never been easier!

import jnim

# Import a couple of classes
jclass java.io.PrintStream of JVMObject:
  proc println(s: string)
jclass java.lang.System of JVMObject:
  proc `out`: PrintStream {.prop, final, `static`.}

# Initialize JVM
initJNI()
# Call!
System.`out`.println("This string is printed with System.out.println!")

Overview

The list of the main features:

  • API splitted in two parts: low and high level.
  • It supports Java inheritance and generics.

The documentation is coming soon. Now you can look the examples in the tests directory. For example, tests/test_java_lang.nim and tests/test_java_util.nim shows how to use high level API.

If you want to run the tests, use nim test command.

Installation

nimble install jnim

Thanks

  • The current version of the library is a complete rewrite done by @vegansk.
  • Also thanks a lot to all the contributors
jnim open pull requests (View All Pulls)
  • Add compatibility for C++ backend.
jnim list of languages used
jnim latest release notes
v0.4.0 v0.4.0
  • Renamed jclass type to JClass, because it clashes with jclass macro and produces errors with newer Nim
  • Removed NaN methods from lang.nim because they clash with system.NaN
  • Removed long deprecated jnim1
v0.3.6 v0.3.6
  • Fixed potential crash on calling constructors and property setters in certain cases
v0.3.5 v0.3.5
  • Fixed undefined behavior (with a decent chance of seemingly correct behavior) when jstring that contains UTF-8 multibyte characters is converted to nim string.
Other projects in Nimrod