Skip to content

7. Comparison with previous navigator (UINavigator)

UINavigator (previous)SusRouter
WhereInside host project (monolith)Separate sus-router package
APIShow<TScreen>() + eventsPush / Replace / Back / Forward / Go + stack
GuardsNoneFull pipeline (7 guard types)
HistoryManual managementCursor stack with _historyIndex
ModalsSeparate ModalManagerSusModalService + SusRouterModal + stack
AnimationsNoneCode-based Fade/Slide
ParametersVia DI / fieldsProps + Query
Named routesNonePushNamed / ReplaceNamed / ResolvePath
Nested routesNoneChildren + Parent + ResolveChain
Redirect / AliasNoneYes
Lazy loadingNoneLazyFactory
KeepAliveNoneOff-DOM LRU cache (SusScreenOutlet)
router-linkNoneSusRouteLink + router-link-active
DependenciesGameApp, UIManager, ECSsus-core only
Re-entrancy protectionNone_isNavigating NavigationResult.Busy (drop, no queue)

Key metrics

MetricPrevious navigatorSusRouter
Navigation classes7+ (monolithic)10 (focused)
Total lines~2,500~1,200
GuardsNone7 guard types
AnimationsNoneCode-based Fade/Slide
Screen parametersVia DI / fieldsProps + Query

Open-core: Core & Router MIT · Kit & Game commercial