Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea: Package Level Separation of Concerns #15

Open
jenspots opened this issue Jun 11, 2024 · 1 comment
Open

Idea: Package Level Separation of Concerns #15

jenspots opened this issue Jun 11, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@jenspots
Copy link
Member

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.

@jenspots jenspots added the enhancement New feature or request label Jun 11, 2024
@jenspots jenspots self-assigned this Jun 11, 2024
@jenspots
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant