Session

Building Your Own Opinionated Navigation Library with Decompose

Navigation is a core functionality in modern mobile apps. But what happens when existing navigation libraries don't quite fit your needs? This talk explores the concept of building your own opinionated navigation library using Decompose, a Kotlin Multiplatform navigation library for Jetpack Compose and other UI toolkits.

First off, we’ll explore the why? We'll delve into the fundamentals of navigation in mobile apps, covering concepts like state management, screen composition, passing argument and returning results, and different navigation models we often see on apps. We'll then explore platform-specific challenges you'll encounter (like configuration changes on Android and back button behaviour) and the benefits of using a custom navigation library.

Secondly, we’ll explore the What? The core of the talk will focus on Decompose and its capabilities as a navigation library and why you should use it. We'll see how Decompose helps to decompose screens as components, model navigation states as configurations, and expose the navigation state to plug in different UIs. We'll also explore Decompose's approach to animations, allowing for customisation using any UI framework's native APIs.

Finally, we'll see How? With a live demo showcasing a simple app built with Decompose's navigation capabilities.


We will be using Decompose together with Decompose-Router

Arkadii Ivanov is doing this talk on his own capacity, unrelated to his Google employment or role. If accepted, please don't associate any Google logos etc. with his profile. Mentioning in the bio is fine, though. Thank you!

https://github.com/arkivanov/Decompose https://github.com/xxfast/Decompose-Router

Isuru Rajapakse

Motorola Solutions, Android Developer

Melbourne, Australia

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top