HarmonyOS鸿蒙Next中官方推荐Navigation的初衷是什么?

HarmonyOS鸿蒙Next中官方推荐Navigation的初衷是什么? 之前一直使用的Router,昨天惊悉,新的文档中,官方已经是推荐Navigation来作为页面间跳转的方案,后续对Router可能就不再支持。作为新动态追踪者,麻溜的去学习心得知识点,结果反而一头雾水了。

需要维护navigation_map,这也就罢了。NavigationStack又是什么东西?所有的根布局外面都要套一层Navigation?(作为Android时代的洁癖,对于不得不增加的布局层级一百个不愿意。)

那么那个大佬解释一下,Navigation推行的底层设计思想是什么呀?

如果我只是简单的同一个module里面的页面跳转,能不能保留Router给条选择?


更多关于HarmonyOS鸿蒙Next中官方推荐Navigation的初衷是什么?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

HMRouter: HMRouter作为应用内页面跳转场景解决方案,聚焦应用内ArkUI页面的跳转逻辑。 HMRouter底层对系统Navigation进行封装,集成了Navigation、NavDestination、NavPathStack的系统能力,提供了可复用的路由拦截、页面生命周期、自定义转场动画,并且在传参、额外的生命周期、服务型路由方面对系统能力进行了扩展。 帮助开发者更好的进行模块间解耦。

Router老早就不推荐了,都差不多快一年多了,使用HMRouter就行不用手动去套一层,整体迁移难度并不算高.

更多关于HarmonyOS鸿蒙Next中官方推荐Navigation的初衷是什么?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好的,谢谢,谢谢我去实践一下看看。

鸿蒙因为是多模块的,一个应用可能会有多个独立的元程序,可能会同时运行。这样就需要对页面栈进行维护。之前可能同一个应用下的所有元程序同时运行时,共用一个页面栈,不利于对页面栈的管理,性能不太理想,功能适配性不强,例如:同一个应用同时运行了5个元程序,如果共用一个页面栈,那么其中一个退出时,需要清理页面栈时,会特别复杂。但是如果每个远程序都是一个独立的页面栈,是需要一键关闭独属的页面栈即可,不需要考虑太多。我也兴趣开发者,猜测一个Navigation可能就是一个独立的页面栈。同理一个元程序可以拥有多个页面栈,可以实现更多样的页面管理。

好的,谢谢。目前我的项目确实没有涉及到多个元程序。我需要多关注。

在HarmonyOS鸿蒙Next中,官方推荐使用Navigation的初衷是为了简化应用内页面导航的复杂性,提升开发效率和用户体验。Navigation提供了一套统一的导航框架,支持多设备适配,确保在不同设备上都能实现一致的导航体验。通过声明式API和可视化工具,开发者可以更直观地管理页面跳转和状态,减少代码冗余,降低维护成本。此外,Navigation还支持深度链接、动画过渡等高级功能,帮助开发者构建更流畅、更直观的应用导航结构。

回到顶部