-
Notifications
You must be signed in to change notification settings - Fork 63
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
Support Multiplatform #24
Comments
There's probably too much JVM reflection going on for this to be easy, let alone viable :/ |
Any Updates ? |
@icecreamparlor Nope. While it would be cool, there are just so many JVM dependencies in the project right now, so while in theory, it should be possible, it would be a huge undertaking. If performance would be the reason to go multiplatform, I think we still have a lot to gain when the Vector API hits the JVM eventually, plus we have plans to convert our Lists to primitive arrays eventually #30. If, aside from performance, there are other needs for multiplatform support, I would be interested in seeing a proof of concept of (part of) the API, so we can then properly decide whether it would be worth the effort or not. |
|
Doubts arose about multiplatform support in dataframe, because the library uses a lot of reflections. I've looked into this a bit, most of the reflection we use is in common. Therefore, if there are problems, then in isolated cases |
If you look at implementation files like this: |
In fact, this is the only thing I noticed that is strongly tied to the platform. In this case, for jvm everything will be the same, for native it will be possible to come up with a workaround, with wasmJs I’m not sure if it’s worth supporting at all |
Gradle & KSP plugins need to be tested in multiplatform projects when the library is ready
|
I took a closer look at multiplatform support and conducted some experiments with it. Initially, I made some erroneous conclusions. Here are the issues I discovered:
This is used in methods, for example: As a result, I do not see multiplatform support with Kotlin/Native (ios) as feasible in the near future, as it requires a lot of effort, which presumably could be solved by Kotlin itself in the future.
|
Most of the library code is common, exceptions are IO parts and Jupyter integration. We may support KMP (at least K/JS) for this library
The text was updated successfully, but these errors were encountered: