打造淘宝极简包的轻量化框架
作者:周松(北傲)
出品:大淘宝技术
淘宝极简包项目分离了一个可以快速搭建极简App的框架。
如今app冗余与包大小一直都是很多业务挥之不去的优化项。行业内很多极简包如雨后春笋般冒出来。又或者是很多业务对极简包的探索也有积极的尝试。
极简包带来的价值,不仅是包大小上的质变,更是用户下载转化率和投放带来的正向效应,线下下沉市场的开辟具有重要价值,对拉新转化率影响很大。
一般极简包会有两种方案:
- 作为一个套壳App,套了一层H5。主要链路由前端去打通交易流程,然后通过更新方案引导用户升级;
- 作为一个套壳App,套了一层H5。主要链路由前端去打通交易流程,然后通过插件化的形式去动态更新Native 版本的app。
无论采用上述哪种方式,作为H5的载体,只使用原生的web去打开页面体验感仍不是很好。同时还会伴有各种H5 的适配联调和优化。而对于H5比较庞大的业务,如手淘,很多页面前端去适配有极大的工作量,投入产出比不高。
故淘宝极简包提供第三种方案:
- 主页由多个TAB实现,可以Native或者H5,由业务自己去选择,详情页通过H5去加载。后期升级链路是传统 Apk更新或者插件化由业务方自己去选择。
由此淘宝极简包项目分离了一个可以快速搭建极简App的框架。可供作为基础脚手架,快速搭建出自己业务的极简版App。
MTAS
Mini TaoBao Application Scaffold
MTAS是淘宝极简版应用脚手架,是基于快速搭建极简包项目的App框架。如今手机淘宝极简版采用此极简包基础框架,包大小4M+。
基础架构思维导图
极简基础框架从结构上主要分为几个部分:
极简基础服务
极简基础库 -- 主要集成集团的基础依赖,比如:网络、容器、登录等。都是经过裁剪或重构过的精简版,相较于原版冗余复杂功能多,精简版的基础依赖轻量简单功能少。只要需要的基础功能,不去额外增加包大小的负担。
统一api层 -- 要想快速搭建一个轻量的app,基础的功能封装不能少,在这个模块中,统一实现常用的功能,若是业务接入,不需要重复造轮子。只需要简单调用即可。
极简外围容器
极简外围容器由mini-网页容器sdk作为载体,外围实现极简版的相关统一拦截导航。支持登录、back、跳转、外链拉起、降级等功能。启用多webview方案代替原生webview的缓存前进后退等策略,使页面过渡更加流畅。进入 前后级更加快速,交互更好。内置缓存冷启及首次启动达到秒开级别,提升用户体验。
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(2)https://developer.aliyun.com/article/1340481?groupCode=taobaotech