Essential concepts to know when learning Declarative UI

"Declarative UI" is a hot topic in the mobile UI development ecosystem these days. Declarative UI toolkits provided by the OS, such as Jetpack Compose and SwiftUI, are replacing the traditional imperative approach to UI development. Moreover, the cross-platform market is getting bigger by the day, and as long as you know the different types of declarative UI toolkits such as Flutter, React Native, and Compose Multiplatform, you can deliver market-ready products on any platform. But does the usage look different for each toolkit? No. The syntax and specific usage of each toolkit may vary, but the overall concepts behind them are similar or identical. In this session, we'll take the essential concepts covered in declarative UI and see how they're implemented in Jetpack Compose, SwiftUI, and even React Native if you can afford it, so that you can quickly learn the different declarative UI toolkits. - What is Declarative UI? - What is different between imperative-fashioned way and declarative-fashioned way? - Re-draw UI and state(Recomposition/Re-render): Core concept of Declarative UI - Prevent inefficient construction of objects: Memoization - How to pass objects in UI Nodes?: CompositionLocal(Context) - Various ways of state management in each toolkits - Future of state management in Android: Introduction to Server State Management(tanstack-query from React/riverpod from Flutter)

  • HyunWoo Lee Organizer, KUG(Kotlin User Groups) Seoul


Summary

  • Dates 2024.09.12 / 11:20 ~ 12:00 (40min)
  • Place Hedgehog
  • Language English (Japanese interpretation available)

Intended audience

- Those who wants to create products that support multiple platforms with Jetpack Compose and other declarative UI toolkits(such as SwiftUI, React Native) - Those who are not yet familiar with the concepts that exist within declarative UI - Those who are still developing UIs in the imperative paradigm and want to quickly adapt to developing screens in the declarative paradigm

Android is a trademark of Google LLC. 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. Android, Google Play and the Google Play logo are trademarks of Google LLC.
Past DroidKaigi

© 2014- DroidKaigi Committee