List of sessions - / droidkaigi
MVI-based State Machines architecture with KMM and Jetpack (wasabimuffin, sobaya)
We have been interested in Kotlin Multiplatform (KMM) for years as potentially the next big cross-platform technology, and we have been implementing it in projects since before the Alpha version was released around 2020. Shortly after that, Jetpack Compose and SwiftUI came out, so we began researching architectures that would successfully combine these three technologies. As a result, we found that since Jetpack Compose and SwiftUI are declarative UI frameworks, an MVI-based architecture works very well with them.
In this session, we would like to share our experience of using MVI and these three technologies in actual development. First, we will introduce the features of MVI and explain why we chose this architecture compared to other UI architectures (MVVM, MVP). Next, we will show you the simplest implementation of MVI and demonstrate how to apply the StateMachine architecture to make it easier to use. Finally, we will explain the knowledge gained from the real project implementation, and the benefits of team development.
Table of Contents (planned):
Introduction to KMM, Jetpack Compose and SwiftUI
MVI Architecture
Why use MVI
How to implement MVI
How to use with Jetpack Compose / SwiftUI
StateMachine based on MVI architecture
State Safety
State UML Diagrams
StateMachine implementation
Actual project implementation
Usage with Jetpack Compose / SwiftUI
Benefits of Team Development
DroidKaigi 2023 Session timetable/Slide link - https://2023.droidkaigi.jp/en/timetab...
---------
DroidKaigi is a conference tailored for Android developers. It took place on the 14, 15, and 16 of September 2023.
All participants at DroidKaigi are required to agree with the DroidKaigi Code of Conduct.
This will be enforced on social media and YouTube comments and chats as well:
https://portal.droidkaigi.jp/en/about...
DroidKaigi 2023 and more - https://2023.droidkaigi.jp/
DroidKaigi on X - / droidkaigi
#Android #DroidKaigi
----
The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.