Open jenspots opened 2 weeks ago
With respect to FFI functionality, we should decide how to handle external processors. For example, a processor in JavaScript might include dependencies, but executing our own version of npm install
is not desirable. Therefore, any published processors should basically be a "fat binary", in which all dependencies are included. For JavaScript, this would mean one or a collection of .js
files which already include all dependencies which they reference.
Of course, we could interact with the npm
package repository, but only do using simple actions, such as downloading a "fat" .js
file from a specific package at runtime.
Currently, the whole project is a monolithic application with many features interwoven between modules. This might become unmaintainable as the repository grows, and we should look into separation of concern.
Using separate packages forces us to come up with consistent APIs and application stages which introduce flexibility and maintainability. Ideally, some of these should be platform-independent. The ones which are dependant on the JVM can then be replaced be implementations for other programming languages via FFI.