iOS撸一个简单路由Router的实现代码

2020-01-21 07:23:16丽君

平常开发中用户点击头像, 进入个人主页,这看似平常的操作, 背后极有可能会牵扯到多个模块。 再如: 视频模块的播放页, 有与视频相关的音乐,点击这些音乐,需要跳转到音乐模块的播放页, 这样视频与音乐模块之间,不可避免的会产生依赖或耦合。 这个问题让人脑壳疼,相信很多朋友都这样做过,写一些代理或通知, 不停的传递事件; 有时干脆直接导入另一个模块。

因为我在公司独立开发, 顾及少一点,可以拿公司项目做实践,在尝试组件化的过程中, 了解到了路由, 对于解决上述问题, 有极大的帮助。因此我想总结并与大家分享一下。

什么是移动端路由层:

路由层的概念在服务端是指url请求的分层解析,将一个请求分发到对应的应用处理程序。移动端的路由层指的是将诸如App内页面访问、H5与App访问的访问请求和App间的访问请求,进行分发处理的逻辑层。

移动端路由层需要解决的问题:

1.对外部提供远程访问的功能,实现跨应用调用响应,包括H5应用调用、其他App应用调用、系统访问调用等
2.原生页面、模块、组件等定义,统称为资源(Resource),在跨应用调用和路由层在不同端实现的业务表现需要一致的前提下,需要对资源进行定义,在路由提供内部请求分发的时候则可以提供不依赖对外进行资源定义的功能
3.外部调用如何使用统一标示(Uniform)进行表示资源
4.如何在移动端统一定义访问请求的过程,从而达成移动端与web端的统一性
5.如何更好的兼容iOS、Android的系统访问机制、App链接协议、web端路由机制与前端开发规范等
6.如何兼容各平台(Android、iOS)App页面导航机制
7.如何解决安全访问问题
8.移动端在客户端进行动态配置

移动端路由所应用的场景: