首页 > 解决方案 > 将 Navigator 1.0 替换为 Navigator 2.0 到(仅限 Android)

问题描述

因此,在我看来,在 Web 上运行应用程序时,Navigator 2.0 更有意义。我有一个正在建设中的应用程序是商店的库存系统。它正在开发供员工使用,并且仅在 Android 上运行。到目前为止,该应用程序有 32 个屏幕。那么,如果我决定从命令式导航更改,新的 Navigator 2.0 是否会为我的应用程序提供一些优化或改进?

默认情况下,新的导航系统是复杂的,但是当我们有一个需要历史(Web)的应用程序时,这种复杂性就会受益,而 Android 应用程序并不真正需要。如果我错了,请否认我并指出正确的方式。谢谢你。

标签: flutterflutter-navigation

解决方案


新的 Navigator 2.0 显示了在 Web 上使用 Flutter 应用程序时的主要优势(例如历史堆栈),您或多或少是正确的。

就个人而言,我也在我的移动应用程序中使用 Navigator 2.0。但是,我不会迁移在 Flutter 1.22 之前开发的旧应用程序。通常迁移成本会高于 Navigator 2.0 优势的影响。有时您可以考虑在应用程序的某些选定区域(例如选项卡导航)或某些特定流程(例如电子商务购买)中使用 Navigator 2.0。

在考虑迁移到 Navigator 2.0 时,移动应用程序中真正有用的一个主要好处是深度链接处理。例如,如果您需要从推送通知中打开某些特定屏幕,或者为了响应事件(例如注册后)而彻底更改导航堆栈。

在最简单的情况下,您可以只使用不需要设置 RouterDelegate、RouteInformationParser 和 RouteInformationProvider 的 Page API。您可以在此处找到我的一些 Navigator 2.0 示例


推荐阅读