Hey community!
My name is Mads and I am currently studying Computer Science at Aarhus University in Denmark. I've been very interested in Server-Side-Swift the past years, especially the idea of writing Swift that runs on multiple platforms. Being an iOS developer as well, I find the idea of making cross-platform libraries for iOS and Android very intriguing! Therefore, I am very excited about the swift-java project and Swift/Java interoperability. Unfortunately, the foreign function and memory API (FFM) that the library currently uses to generate Java wrappers for Swift requires JDK 22+, making it hard to use on platforms such as Android.
I have been working on a proposal for this years GSoC that will expand on the projects code generation capabilities by introducing a new generation mode, that uses JNI instead FFM, making it available on more platforms!
The primary goal will be to provide the same set of functionality as FFM currently does, which means classes, members methods/variables and structs. Along with the important part of proper memory management. However, this project can hopefully also set the stage for expanding the support for both JNI and FFM to other language features such as protocols, enums, concurrency etc.
I've been discussing/brainstorming the project with @ktoso, but also look forward to connect with any other members of the community interested in the project!