Learn

Migration from other routers

Move from Navigator, go_router, or auto_route by replacing hidden behavior with typed contracts and exact operations.

v0.1.0-dev.2Intermediate

Migration from other routers

Migration should preserve user-visible behavior while making contracts explicit.

Existing conceptArk Navigation replacement
String route or generated classHandwritten NavigationDestination<R>
extra or query map in feature codeTyped fields plus one NavigationUriCodec
Generic go()Exact stack operation
Redirect performing access checksRedirect plus enter or leave Guard
Nested router configurationScope tree and explicit Outlet
Static Navigator keysSession-owned keys and typed IDs

Start with one vertical flow, not the whole application. Define Destination types and observed stack behavior, mount one Module, then replace call sites with NavigationPort. Add URI codecs only for routes that must restore or receive links.

Code generation is not required before calling a route. The handwritten Destination is the stable interface, so features can compile independently before the application chooses Mounts and URI prefixes.

ARKTELOS

Purpose-built engineering systems for software that has to hold.