流应用?这是轻应用换个概念炒冷饭吗?
当然不是,点击秒开后并不是在线打开一个网页,仍然是安装一个客户端App,仍然如原生App般强大和流畅。只不过这个客户端App是JS代码,并像流媒体一样流式发行、边用边下,实现了5秒内完成客户端App的下载、安装、启动。App二次使用仍然在桌面点图标启动,应用使用体验也与传统原生App没有区别。
一定要注意,对于用户而言,使用App的功能体验与之前的原生方式并没有区别,但是获取App却秒开了。
读者肯定会问,怎么实现的?
这个新概念包括的新技术有点多,本文不负责科普所有实现过程。大概讲讲HTML5为何能达到原生的功能和体验。
流应用使用了一种强化的JS引擎(HTML5+),这种引擎能让JS调用操作系统的40万API,并将之前HTML5体验不佳的交互都改进为原生体验。
不同于React Native的反HTML5方案,HTML5+采取的方案是强化HTML5。
HTML5+兼容HTML5,并扩充40万原生API。对于DOM和CSS3动画效果不佳的部分场景,使用原生动画补足,比如窗体切换、下拉刷新的动态交互效果,不采用CSS3动画,而是通过JS调用了原生view动画。
相比React Native,强化HTML5的方案对开发商更友好,开发商只需把现有的HTML5版本做简单强化改造即可,而不是重新写一套No DOM的代码。
HTML5定稿后一年的业内大事基本整理完毕,接下来我想深入分析流应用这个里程碑产品会给产业带来什么变化。
HTML5出现这几年,在PC上已经广为应用,但在手机上,始终是备胎。
流应用的出现颠覆了大众对HTML5 的认知。以往提到HTML5,大多数人都会认为HTML5有5个问题:
HTML5的性能不行,不如原生;HTML5的api不够,很多功能实现不了;HTML5没法离线运行,断网就不能用了,即使有离线缓存,三方软件清理垃圾后也不能用了;HTML5只能在浏览器里用,没法直接在桌面启动;通过HTML5强化引擎(如PhoneGap/Cordova)开发跨平台App,那是小公司为了省钱做的事,大公司还是要用原生。
现在,这五个常规认知被终结了。
好吧,听起来大家真的需要重新认识HTML5了。
基于强化引擎运行的HTML5,功能、性能、离线运行、桌面启动,均和原生一样了(至少用户感觉不到差别)。
以大众点评外卖流应用为例,它的窗体切换pop-in动画、流畅的下拉刷新,均是原生标准,还有一个流应用叫“36Kr资讯”,还可以手机进入飞行