订阅业界RSS CSDN首页> 业界

快应用这么值得开发?小米新生态总监全面阐述快应用

发表于2018-10-25 18:17| 来源未知| 作者小米快应用

摘要:9月22日,在2018云栖大会移动前端专场,小米MIUI新生态总监董红光发表了以“快应用平台体系的探索之路”为主题的演讲,演讲从快应用出现的背景、快应用生态的特点、技术方案、性能表现以及为开发者提供的服务能力等角度详细阐述了快应用平台体系的最新进展。

9月22日,在2018云栖大会移动前端专场,小米MIUI新生态总监董红光发表了以“快应用平台体系的探索之路”为主题的演讲,演讲从快应用出现的背景、快应用生态的特点、技术方案、性能表现以及为开发者提供的服务能力等角度详细阐述了快应用平台体系的最新进展。

 

小米MIUI新生态总监-董红光

快应用出现的背景

数据显示,当前移动互联网用户规模增长红利消失,0.1%的超级应用占据70%的分发流量,且用户安装应用的兴趣低迷。同时移动互联网在交互形式、信息处理、信息通道等方面呈现新趋势,转变和升级为智能化交互(卡片化内容展示、场景化直达服务)、数据可统一检索、使用即分发的模式。而快应用正是围绕此展开。

快应用生态的特点:智能化、场景化、服务化、卡片化

未来的交互形式主要是智能化的场景服务,因此快应用生态要解决的也主要是智能化和场景化的能力,包括:1.智能化,如语音助手、全网搜索等入口能力;2.场景化,做到即点即用、使用即分发;3.服务化,做到细粒度的服务和分发,直达内容相应的页面;4.卡片化,通过卡片将内容和服务提前展现出来。

快应用的技术方案

快应用的技术方案也是呼应如上特点展开来讲:

1.开发阶段追求开发简单、灵活高效;

2.入口层面需做到即点即用、服务直达、内容前置;

3.性能达到原生应用一样的体验,且不受H5接口限制,能够最大限度使用手机硬件层面的能力;

4.最后要便于留存。

快应用开发上传的模式与原生应用类似,开发者使用前端技术开发快应用,通过编译器打包成快应用,然后上传到后台应用仓库。用户侧则与原生应用不太一样,用户可从各个入口点击,点击后快应用会连接应用仓库,下载其中应用包的一部分,秒开,直接送达用户页面加载运行。

 

快应用使用的是前端框架,支持标准的JS语法,并重组CSS/标签,使用对移动端友好的Flexbox布局和MVVM模式,接下来计划开放第三方框架支持。

快应用的性能表现

快应用可以做到类似于原生应用的性能表现,主要原因在于采用了原生渲染。快应用团队梳理了前端在UI层面的渲染模式,做了很多层面的性能优化调整:

1.功能重组,去除性能低下功能,引入高阶接口;

2.引入虚拟DOM,JS层实现裸DOM接口,不支持强制同步布局;

3.合并调用,降低JS与引擎调用次数,JS与引擎接口不公开;

4.流程并行,JS与UI线程分离,必要的线程同步机制;

5.视图复用,提升渲染绘制速度,降低内存占用。

快应用为开发者提供的服务和能力

快应用提供多种能力支持。首先是应用内的服务。从控件的角度来说,支持基础控件,包括文本、图片、按钮等,也支持高阶语意的tab、list、富文本等,开发者可通过这些组件自由封装。从能力的角度来讲,快应用批量暴露能力,比如硬件的能力、设备信息、文件存储等能力。

另外也集成了应用外的服务。如URL唤起能力(服务之间可跳开原生应用之间的壁垒,通过URL可以将服务完全串联起来)、留存能力(创建桌面图标,同时提供渠道标识和通知栏推送能力)。

还有厂商服务能力,如推送、账号、支付、统计类,已经和计划推出广告、地图甚至AI 服务能力,目前可实现厂商联盟快应用接口的一致性。此外,还引入了第三方服务,如支付宝支付、QQ账号。

快应用的入口形态与原生应用相比有较大的区别。开发者可以发布快应用的包,也可以将服务和内容注入到快应用的服务和内容池,并且可将快应用包中的一个页面和卡片关联到具体内容中。有了服务和内容,可通过策略和算法分发到用户侧,如直接调起快应用、通过卡片调起快应用。接下来会开放给开发者分页和分包能力,让开发者自定义快应用包的结构。

快应用在工具建设方面,提供命令行工具、开发工具和调试工具。近期也即将推出更高效的官方IDE工具。

快应用厂商联盟是由十家厂商共同发起的,成立的最核心任务就是统一技术标准,实现一次开发,统一入口上传,多厂商无缝运行,无需做兼容性的改动。联盟厂商携手合力挖掘场景,支持开发者,联合运营推广。

到今年9月份,已有十余家手机厂商加入联盟,未来预计覆盖10亿设备。欢迎更多开发者前来沟通和交流。

0
0