-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
Use Kotlin Multiplatform and merge platform-android with core #208
Comments
+1 to this. I was thinking of building a Flutter app for Jellyfin at some point in the future, and having the sdk support kotlin multiplatform would help with that (we currently use this structure at my job: kotlin multiplatform library for the business logic, with a flutter wrapper for the library, and then the UI only built in flutter) |
Kotlin MPP does allow us to add iOS support eventually but it's not a priority right now. So while you could make Flutter bindings for the SDK it would work on Android only. I think using an OpenAPI generator specifically written for Dart might be the better option for Flutter apps right now. |
Perhaps. I haven't looked at the SDK yet and only became aware of it yesterday but to me, if all the HTTP calls, db / image caching, and any other core logic could be contained in a KMPP library that would still save a lot of time and effort. Building UI's in Flutter is so fast and easy that this structure has really become my favourite lately. The only problematic part I'd anticipate is the video and or audio players (not insignificant) I'll hopefully have time to take a closer look at the SDK this week to see how things stand. |
Moving the structure of the library to Kotlin Mutliplatform allows us to add the Android specific code to the core library. This would make it easier to use the library as users don't need to include the Android platform separately. It also makes it easier for us to support different platforms like JavaScript, WASM, Native or iOS in the future.
I already tested this in #187 and it might be a relatively easy change.
The text was updated successfully, but these errors were encountered: