A basic editor lets you type code. An IDE (Integrated Development Environment) can provide a broader development workflow, including editing, compilation, running, debugging, and project tooling.
The Java Native Runtime (JNR) is a collection of libraries for programmatically binding native code to Java interfaces using FFI (foreign function interface).