Multi language support - deegree/deegree3 GitHub Wiki

The deegree project is committed to the JVM (Java Virtual Machine). Contributors shall focus on Java source code when adding new functionality to the deegree project.

The TMC might accept contributions using other languages which must compile to Java byte code executable on the JVM. Currently the deegree project accepts contributions compliant to the Java Language and Virtual Machine Specifications.

Contributors may use Groovy, Kotlin, Scala, or JavaScript but are encouraged to get in contact with the TMC to discuss the integration of theses codes into the deegree project.

In the past the deegree project had accepted contributions which use the Java Native Interface (JNI) extension mechanism. Nowadays we don't recommend to use this interface anymore since the JNI allows the execution of native applications or libraries written in C, C++ or assembler code. The issues with JNI is that these extensions are not as easy to deploy.

Therefore, optional and complementary modules may make use of JNI but for core functions JNI must not be used!