iOS页面路由思路
iOS页面路由,具体可能需要处理的场景、问题有:
- 最普通 原生页面跳转到原生页面
- 有多种技术栈的app,可能包含原生、h5/rn/flutter等页面。就扩展出:
- 原生页面和h5页面互相跳转
- 原生和rn页面互相跳转
- 原生和flutter互相跳转等
- 在上述的基础上,很多原本原生实现的页面,需要通过新的H5页面进行升级/降级,或者原本PC或者H5页面,需要重定向到已有的原生页面。而这些基本都是硬编码的跳转逻辑,需要随着版本不停改动。跳转的逻辑需要根据版本迭代走,无法统一远程进行改动(例如:每次新增一个需要拦截跳转原生的页面,都需要通过发版来解决)
- 跨技术栈跳转的实现成本比较高,必须在桥接模块中进行特殊适配。H5页面中,某些跳转需要跳转原生或者其他页面,必须要通过WebView跳转的拦截做特殊判断处理
- 需要梳理的各技术栈跳转逻辑,将这些跳转整合,能够满足动态性、可配置的需求。
- 一些应用有社交分享功能,需要分享出去一个链接以打开自身app内特定页面。或者有应用内分享链接 也可以打开自身app内特定页面。
- 一般来说 应用外打开app需要使用iOS的
URL Scheme
功能或者Universal links
功能
- 一般来说 应用外打开app需要使用iOS的