-
Notifications
You must be signed in to change notification settings - Fork 22
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
Kotlin Multiplatform #67
Comments
Hey there, Steven :) I was discussing with @semanticer a couple of days ago that once 1.0 was out we should start working on Multiplatform! I was gonna do it, namely because I have some Android projects that I'm migrating to Multiplatform 😂, but if you want to take it over I see it as an absolute win :) |
Lovely! I would love to work on a Multiplatform version. There will need to be discussions about certain aspects of this work. Some that come to mind ATM are which platforms to support (I would expect to eventually support jvm, macOS, iOS, watchOS, tvOS, js, linuxX64, mingwX64 and wasm), and if the library is not generally for use directly from native code (at least to begin with) but for use in multiplatform or jvm projects. |
Your Repo looks great Steven! I'll leave the multiplatform stuff to you and @heytherewill but I'd like to take a closer look at the ScopedActions, buffering, and batching actions you've implemented there. I'd merge our PR first. Then, we can kick off new issues and tweak what we've got. Also, noticed you axed the subscriptions from your version. I get why they seem less crucial now with flow-based effects on the horizon, but they're still unique, especially since they work with State and respond to its changes. Maybe the smart move is to spin off subscriptions into an optional, standalone module? 🤔 |
When I axed them, I thought that with long lasting effects added into the mix, the use case for subscriptions was a little indistinct. However, I can see situations where they could be useful. When using my library, I did end up needing something like subscriptions but I created them outside the framework by collecting the store |
Spent a little time converting the recent release. Converting the library itself has been fairly easy but the tests are using An alternative would be to keep the existing tests, but they would only run from |
IMO the best course of action is to drop mocks altogether and use Fakes instead, since everything crucial is already an interface that can be implemented easily |
I'd love to have a checklist of what we need to do to go fully KMP. I'm now trying to get more familiar with KMP but don't feel confident creating that checklist yet myself, so if anyone wants to step in, please feel free. |
I have a fork of the current I have not created a PR for this as I have been watching the progress of the |
We need to break down this issue into smaller steps. |
I have rewritten a version of this library for Kotlin Multiplatform that is in use in a production app. My version has some of the same items you are currently iterating on, Effects using Flows, Effect cancellation (by id and by scope) among other changes. You can find a version of it here.
Since there is very little in this framework that is JVM specific, in the name of avoiding duplication of effort, I would be more than happy to contribute to this library and use this framework if it supported KMP.
Is there any chance you would consider supporting KMP in this library? I'd be happy to contribute to or do the implementation.
The text was updated successfully, but these errors were encountered: