voyager

Multiplatform navigation library seamlessly integrated with Jetpack Compose. Supports various navigation types including linear, bottom sheet, tab, nested, and multi-module navigation with state restoration, lifecycle callbacks, and deep linking.

Android JVMJVMKotlin/NativeWasmJS
GitHub stars3056
Authorsadrielcafe
Open issues191
LicenseMIT License
Creation dateover 4 years ago

Last activity10 days ago
Latest release1.0.1 (about 1 year ago)

Featured project

Maven metadata URL Android API kotlin ktlint License MIT


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 πŸ––

Documentation

See the project website for documentation and APIs.

Features

Samples

Stack API Android ViewModel ScreenModel Basic nav.
navigation-stack navigation-android-viewmodel navigation-screenmodel navigation-basic
BottomSheet nav. Tab nav. Multi-module nav. Nested nav.
navigation-bottom-sheet navigation-tab navigation-multi-module navigation-nested
Android JVMJVMKotlin/NativeWasmJS
GitHub stars3056
Authorsadrielcafe
Open issues191
LicenseMIT License
Creation dateover 4 years ago

Last activity10 days ago
Latest release1.0.1 (about 1 year ago)

Featured project

Maven metadata URL Android API kotlin ktlint License MIT


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 πŸ––

Documentation

See the project website for documentation and APIs.

Features

Samples

Stack API Android ViewModel ScreenModel Basic nav.
navigation-stack navigation-android-viewmodel navigation-screenmodel navigation-basic
BottomSheet nav. Tab nav. Multi-module nav. Nested nav.
navigation-bottom-sheet navigation-tab navigation-multi-module navigation-nested
Survey iconComplete survey to improve klibs.io β†—
Let’s go