Previously in turbo-android, the library was structured like:
SessionNavHostFragment
-> Session
-> WebView
This makes substantial changes to make the library more inline with the iOS library. Instead of navigation APIs existing in multiple places, such as the *ActivityDelegate and the *Destination interfaces, all navigation flows through a single Navigator API. The structure looks like:
NavigatorHost
-> Navigator
-> Session
-> WebView
This reduces the need to ever interact directly with a NavHostFragment or a Session. The Navigator (available in the HotwireActivity and every destination screen) provides all the navigation APIs an app needs:
Previously in
turbo-android
, the library was structured like:This makes substantial changes to make the library more inline with the iOS library. Instead of navigation APIs existing in multiple places, such as the
*ActivityDelegate
and the*Destination
interfaces, all navigation flows through a singleNavigator
API. The structure looks like:This reduces the need to ever interact directly with a
NavHostFragment
or aSession
. TheNavigator
(available in theHotwireActivity
and every destination screen) provides all the navigation APIs an app needs: