页面路由与组件化简介
组件概述
随着业务不断的发展,业务变得种类繁多,项目代码集中且耦合在一起,导致编译速度慢、开发效率低、维护困难。从工程效能和业务迭代稳定性的角度考虑,都会把项目拆分成组件化架构。当组件拆分后,页面路由与组件化(TMFPortal组件)基于组件化的设计思路,能快速、方便、灵活的进行组件间跳转、数据通信和组件生命周期的控制,功能灵活,使用简单。
应用场景
TMFPortal组件适用但不限于以下场景:
1.Native+H5混合开发模式,需要进行页面之间的互相跳转,或进行灵活的运营跳转链接下发。
2.统一管理来自App外部的URI跳转,使用统一的页面接收所有外部URI跳转,到首页时再用TMFPortal启动目标页面。
3.页面跳转有复杂判断逻辑的场景。例如多个页面都需要先登录、先定位后才允许打开,如果使用常规方案,这些页面都需要处理相同的业务逻辑;而利用TMFPortal,只需要开发好拦截器并配置到各个页面即可。
4.多工程、组件化、平台化开发。多工程开发要求各个工程之间能互相通信,或者代码复用、依赖注入、编译等问题,这些问题都可以利用TMFPortal组件解决。
5.对业务埋点需求较强的场景。页面跳转作为最常见的业务逻辑之一,常常需要埋点。给每个页面配置好URI,使用TMFPortal统一进行页面跳转,并在全局的回调接口中埋点即可。
6.对App可用性要求较高的场景。一方面,可以对页面跳转失败进行埋点监控上报,及时发现线上问题;另一方面,页面跳转时可以执行判断逻辑,发现异常(例如服务端异常、客户端崩溃等)则自动打开降级后的页面,保证关键功能的正常工作,或给用户友好的提示。
产品优势
- 自动注册
Android端支持使用注解配置完成路由的自动注册 - 动态注册
无需写死路由,可动态下发和注册路由,灵活性高 - 拦截器
支持配置全局和局部拦截器,可在跳转前或方法执行前执行同步/异步操作,例如登录、定位等 - 跨模块调用
支持暴露接口在公共服务中供其他模块调用,实现本地调试,节省开发调试工作量