《技术实验室-快应用全场景卡片技术的革新应用与服务整合.pdf》由会员分享,可在线阅读,更多相关《技术实验室-快应用全场景卡片技术的革新应用与服务整合.pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、快应用全场景卡片技术的革新应用与服务整合陈前佑OPPO目录CONTENTS01快应用能做什么?03快应用有哪些能力?02什么是快应用服务卡片?04性能及开发调试快应用能做什么?01PART ONE快应用能做什么快应用是基于手机硬件平台的新型应用形态;标准由国内主流安卓手机厂商组成的快应用联盟联合制定;快应用标准体现在技术框架、研发接口、能力接入、开发者服务等层面;以平台化的生态模式对个人开发者和企业开发者全品类开放快应用的特点写法类似vue、入门简单,符合多数前端技术栈特点引擎基座默认内置,无需加载框架库,业务逻辑代码少移动网页无需安装热更新无法留存功能缺失原生应用需安装需发版强留存功能完整快
2、应用无需安装热更新可留存功能完整+=快应用架构快应用引擎架构,分为以下几个模块:主要由JS编写,用于生成VDOM,和传递事件JS FrameworkJS处理引擎,快应用使用V8引擎(卡片使用quickJS)JS Engine定义JS与Native通信的适配层JS Bridge原生的渲染引擎实现FlexBox布局Render引擎系统提供的各类feature接口实现,包含账号,文件处理,网络,支付等。Bussiness模块快应用(rpk)Js Engine(V8)Js Native BridgeAndroid SystemRouterDownloadPermissionLogDomEngineRe
3、nderEngineUi ComponentSystemApiAccountPayPushShareVdomEventHandlerMVVMJs Framework快应用渲染步骤JS Framework,解析app.js形成DOM树1将DOM树信息转化成一系列渲染指令,通过JS Bridge传递给Native2Native的Render引擎通过解析指令,将其转化为原生View树进行渲染3前端V8引擎native端加载前端框架注册callBack接口注册callNative接口初始化TemplateJsonJSBridgeRenderCodeVElementVElementVElementCom
4、ponentComponentComponentviewviewview渲染指令VDom组件Android viewpage.jsnativecallBackcallNative快应用典型形态全局搜索搜“微博”原生形态快应用负一屏/桌面/全搜卡片、钱包卡片、浏览器游戏中心/锁屏卡片卡片形态快应用一次制作,多场景分发快速进行内容引入合作什么是快应用服务卡片?02PART TWO快应用服务卡片什么是卡片?快应用卡片是一种轻量级的快应用,快应用卡片使快应用能够在其他App和系统里提供可扩展的App功能,在服务生态中提供服务卡片与快应用的关系卡片支持的能力基本是快应用的子集一个快应用工程中可以包含多张
5、卡片快应用和卡片是在同一个工程目录下的,快应用和卡片共享的同一个rpk包,上架卡片时,会根据manifest.json配置对快应用和卡片进行拆包,在对应的场景进行投放同一包名下的快应用和卡片,是可以通过storage进行数据互通的负一屏/桌面/全搜卡片、钱包卡片、浏览器游戏中心/锁屏卡片卡片形态快应用一次制作,多场景分发快速进行内容引入合作01020304快应用卡片框架用来展示快应用卡片的App,如负一屏,桌面,全搜等。宿主Apppp卡片的渲染结果,嵌套在宿主App的view hierarchy中渲染。卡片视图宿主App接入用于在卡片引擎,以及向宿主App提供稳定接口。卡片sdksdk轻量化的
6、快应用引擎,作为插件加载在宿主App中,用于渲染CardView,封装接口和回调。卡片引擎宿主运行时Android Framework卡片引擎宿主交互接口动态加载框架卡片sdk加载返回卡片View宿主进程快应用引擎下载管理权限管理卡片引擎包读取卡片生命周期管理当卡片完成初始化时调用,只触发一次onInit当卡片完成创建可以显示时触发,只触发一次onReady当引擎绑定到卡片View上时调用当宿主界面start时onShow当引擎从卡片View上解绑时调用当宿主界面stop时onHide当引擎被宿主销毁时onDestroy从上面卡片运行机制来看,我们知道,卡片是运行在宿主内部,由宿主控制,并且有