深度解析App混合开发技术的成熟度曲线(四)
❹ 性能体验优化,已经基本达到原生的标准
今天,开发者已经非常清楚HTML5会存在哪些性能问题,在混合开发模式中,如果使用HTML5会产生性能问题,我们就会通过原生扩展的方式来代替,我们可以合理的使用HTML5技术。
所以如今使用混合技术开发的app,拥有和Naive一样的UI结构和功能扩展,性能方面已经可以达到Native的标准。
我们对比分析了一款使用APICloud技术开发的电商app,分别与淘宝和京东两款app在5个方面进行对比,测试覆盖了所有主流机型,测试时间以秒为单位,测试结果性能基本无差别。
• 应用启动速度:测试从点击应用图标开始,到进入首页的时间
• 导航切换速度:三款应用都是底部导航,切换底部菜单,测试切换的时间
• 打开新页面速度:点击商品列表,打开商品详情界面,测试打开新页面的时间
• 调用扩展模块速度:点击二维码按钮,打开扫描界面,测试调用Native模块的时间
• 调用开放服务速度:点击语音按钮,打开语音识别界面,测试调用开放服务的时间
❺ 完成了平台化、组件化和生态化发展
目前跨平台技术领域分为两个发展方向:
第一个是HTML5 + Native混合方向;
第二个是中间语言编译方向;
其中APICloud和小程序都属于前者(虽然微信小程序开发使用自己定义的标签和样式,但是执行前还是要转化为标准HTML5)。
HTML5 + Native混合,也就是我们通常所说的混合开发。
这种模式的开发主体是HTML5,但整个app的架构是Native架构:通过HTML5快速实现app的UI布局、产品业务逻辑,在开发过程中涉及HTML5无法实现或者体验不好的功能,则借助Native模块来实现。
中间语言编译方向,代表产品为React Native(RN),Xamarin以及Google刚刚发布的Flutter。
如何理解中间语言编译?
以RN为例,传统的app开发,要求开发者使用Android和iOS原生技术-Java、Object-C、C/C++等进行开发,而RN的开发过程则要求开发者使用JS进行编码输出app,但在app执行过程中,JS又映射回到安卓和iOS原生层面执行。
借助JS快速实现编码,翻译为原生代码执行,这就是中间语言编译方向。
Xamarin则要求使用微软自己的语言C#,对于大部分开发者而言,C#的学习成本比较高且Xamarin需要付费使用,因此它目前在国内应用比较少。
Flutter的开发语言为Dart,它是谷歌发明的编程语言,这个语言很有趣,它的语法类似于C语言,又将JS和Java的一些设计思想以及语法规则融合了进去。Dart语言在此前应用比较少,可参考的资料不多,开发者上手需要一个过程。
其实今天,两个类型中很多的混合开发技术产品都已经完成了平台化、组件化和生态化的发展过程,例如:APICloud、小程序、React Native等。
❻ 大规模成功案例出现,成为企业app开发的主流技术
今天占领我们手机桌面的很多app都是采用混合技术开发的,上图中这些app的开发人员在不同的场合都分享过使用混合技术开发各自产品的经验。
这里大家可能会有一个疑问,在这些主流产品中混合技术占的比重是多少?是不是只是个别界面使用了?
其实在这些app中HTML5占的比重还是很高的,比如手机QQ、58同城、支付宝、淘宝、携程、美团等。
此外,一些大型企业也都纷纷采用混合技术开发app。
包括海尔、春秋航空、Intel、中信证券、上汽通用等很多款app都是基于APICloud技术进行开发的,今天使用APICloud技术开发的app在各大应用市场上线的应用已经超过5万款,在苹果App Store上线的app超高3万款。
更多使用混合开发技术的案例可以到APICloud官网(https://www.apicloud.com/cases)查看。
以上,从6个方面对目前的混合开发技术进行了全面的分析,按照Gartner技术成熟度曲线的每个阶段的定义,我们可以清晰的看到,今天的混合开发技术正处于“稳步攀升的光明期”,并即将迈入“实质生产的高峰期”。
这一现状也将为行业未来的技术研发、产品投入和技术选型提供了重要的决策参考。
更多app资讯,请关注www.apicloud.com
提交app定制需求,了解报价和周期:
https://app.apicloud.com/index?uzchannel=500