Overview¶
Voyager: Compose on Warp Speed¶
A multiplatform navigation library built for, and seamlessly integrated with, Jetpack Compose.
Create scalable Single-Activity apps powered by a pragmatic API:
class HomeScreenModel : ScreenModel {
// ...
}
class HomeScreen : Screen {
@Composable
override fun Content() {
val screenModel = rememberScreenModel { HomeScreenModel() }
// ...
}
}
class SingleActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Navigator(HomeScreen())
}
}
}
Turn on the Warp Drive and enjoy the voyage 🖖
Features¶
- Supported platforms: Android, iOS, Desktop, Web, Wasm (since 1.1.0-alpha03)
- Linear navigation
- BottomSheet navigation
- Tab navigation like Youtube app
- Nested navigation (multiple stacks, parent navigation)
- ScreenModel (a.k.a ViewModel) integrated with Koin, Kodein, Hilt, Coroutines, RxJava, LiveData
- Android ViewModel integration (with Hilt support)
- Type-safe multi-module navigation
- State-aware Stack API
- Built-in transitions
- State restoration after Activity recreation
- Lifecycle callbacks
- Back press handling
- Deep linking support
- Lifecycle KMP support since 1.1.0-beta01
Credits¶
- Logo by Icons8