Our great sponsors
-
PeopleInSpace
Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, Compose for Web and Kotlin/JS + React clients along with Ktor backend.
Here's a project using it.
-
koin
Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
It'd be great if it worked
-
Appwrite
Appwrite - The Open Source Firebase alternative introduces iOS support. Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!
-
Technically, their Jetpack Navigation integration using this somewhat awkwardly named public method does resolve the issue, but then you're forced to use Jetpack Navigation and ViewModelStoreOwner and the rest, because that's the only thing it works with. And AFAIK the SavedStateProvider in SavedStateHandle is private, so you can't even register a custom SavedStateHandle to the SavedStateRegistry yourself - basically, vendor lock-in because the API was not designed to be extensible beyond what Google internals needed.
-
kompass seems promising for navigation. Though it's not that difficult to maka a router with SharedFlow of routes (sealed interface or something) and subscribe for it in activity for navigation. I guess something similar could be done in iOS.
-
"Works for me" just like how "Multi-activity works for me", "Singleton state works for me", "3000 line Fragments with nested AsyncTask work for me" -- the fact that it runs is the least minimal requirement that is expected of any software, and when you have quirky runtime bugs like in Koin or Jetpack Navigation, then it doesn't even hit that bar.
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.