Love SwiftUI / Combine Framework where UI is a function of state ... Never going back to UIKit. Seeing Compose feel like removing XML, RecyclerView, PagingLib, ViewModel, Room etc ... whenever possible. Thank you for building Jetpack compose in opensource so I can follow the evolution. I am tempted to release all my apps on Compose with Kotlin Flow.
2 years ago
I think it's great you love it. pretty much all of us do. But I don't feel like it's close to being "Production ready" you actually need to compile a version of AS in order to run it.
Paging library is an abstraction for loading paged data. Of course you can avoid using it with Compose, exactly how you can avoid using it now, if you don't see any advantages for you. But with compose you have all the same problems that paginglib tries to solve. The same for ViewModel
2 years ago
Right. We're looking at having some Compose-native constructs that would use ViewModel under the hood to save state/transport it across activity recreations where appropriate. The Compose ListView/RecyclerView is also being designed right next to the team that works on the paging lib so I'd expect some cooperation of ideas there too.
The paging lib authors are also looking at what could be simplified by leaning more heavily into kotlin anyway 🙂
all of it should come together; we're taking special care to make sure we don't bring along unnecessary historical complexity to Compose just because it's there today.
This all sounds wonderful. There's tons of elements of the paging library and view model that are good and necessary, but as we switch from an imperative world to a declarative one there's no doubt in my mind that there will be opportunities to handle those concerns in a more concise manner. It sounds like the team is taking these considerations in stride, which is awesome. Super excited to see all of the awesome work!
SwiftUI is just sugar, the Combine framework (data flow) is real meat. From my tests with Jetpack Compose (3 part series), https://android.jlelse.eu/jetpack-compose-primer-92ff005b7ce2 think the real power in Jetpack Compose will be the new simplified data flow as data is always passed down from the parent and events are always passed up from the widgets. This makes it very easy to reason about what is happening. ... have faith in the amazing Android team will do the right things with Compose / Kotlin Flow. Think RecyclerView, PagingLib, ViewModel will be abstracted away, Navigation might just be one line of Kotlin ... MVVM straight to Room/Repo. Sorry ... just on a high from SwiftUI ❤️ but also ❤️ all the feedback and this amazing Android community !!! This community is what drives Android forward.