混开APP没有原生APP好?事实是这样的吗?很多人要混淆概念,伊凡今天用通俗易懂的话让大家明白其中奥妙。
一、H5app(也叫H5封装)H5APP你可以理解成我是一个手机网页,以前的手机版网页叫做wap,为什么现在叫做H5?因为H5全称html5具有很多优性能且在前端的兼容方面非常良好,而目前有大量的前端框架诸如vue.js,bootstrap,H5的性能逐渐提升,现在前端已经代替了很多曾经是需要后端做的事情,我们将网页打包放在一个APP壳里面,里面的内容依然是要从服务端读取所有前端,所以H5在app上的加载依然是像网页样的加载,大多还有进度条,相对性能还是略微逊色那么一点点,而且由于壳子的技术不成熟会导致有些功能会不可用。但是H5又有着他自身的优势,那么就是直接在手机浏览器我也能打开,曾经wap端很多都是自己开发,而每个公司开发有每个公司自己的bug,他没有一个标准化的东西,而框架问世的时候引起轩然大波,现在看来框架的优势完全体现,你不用框架你的基础不一定有那么好,顶级的程序做着顶级的框架,再由全世界的开发者共同贡献智慧一起去完善,你说你不用框架还自己瞎开发什么呢?(很多时候看不清时代的进度,根深蒂固的思想跟不上就会被淘汰!)
举例:A是苹果园区(代表服务端),B是卖苹果的商店(终端),C是购买苹果的用户(访问用户),d是一个商场(代表第三方封装APP,打包APP的服务商)
好,那么 原先访问网页就是
C走进来到B商店里面说要购买苹果,商店B就去A苹果园区采摘,然后把苹果拿回来再卖给C客户。
封装以后就是, C走进来到B商店里面说要购买苹果,商店B就去A苹果园区采摘然后放在D商场里面,然后把苹果再卖给C客户。本质上没有区别!
原本用户访问如图所示。那么H5封装成APP以后如图所示
缺点:和H5访问本身并无区别,所以H5的缺点就是webAPP的缺点
二、混合开发APP
先说为什么有了这个理念,这是互联网开发的时代进步,真正的混开目前有很优秀的框架例如就是阿里旗下的uniapp,这一步其实就比较厉害了,所有的前端文件全在本地,而他们的前端框架依然可以选用优质的H5框架诸如VUE,诸如boostrap。还是那句话,这么优秀的世界级的框架会没有单独的个体公司开发的产品强么,答案是不可能。未来都是大趋势,拿PHP来说,php的框架有thinkphp为首的框架难道不是一步步成熟么?所谓网上传闻说框架不可修改功能那就错了,理论上框架的自由度是无限的,他只是一个很底层的框架,可能真正描述不能二开的那种是第三方平台的固定式模版形式的框架,那个肯定不行,只要开发商不开放开发那肯定没法二开。
而真正混合app为什么是混合,其实他的前端也是在本地的哦,和原生app的区别在于省去了原生app底层的那步骤,
举例:
A是苹果园区(代表服务端),B是卖苹果的商店(终端),C是购买苹果的用户(访问用户),E地产商腾出一个空地,有无数的F商人,G商人,H商人.....等等若干商人。
图就像:
简单就是C用户要来买苹果,E地产商腾出来了一块地,有无数的FGH等等若干商人在A苹果园区去购买了苹果在E这块地上来摆摊,当用户C去买苹果只需要到E这块大集市上面就可以自由的购买任何商品了。E的工作就是不断地规范这块地,门卫啊管理制度啊,进出门啊等等等等,慢慢不断的完善。
那很简单了,混合开发的性能会比原生的差么?答案肯定是否定的,目前还尚无定论,但是有一点不得不承认就是E地产商因为是个新兴的事物,他在管理这块地是毫无经验的,毕竟这是跨时代的,那么肯定多多少少存在着管理的问题,地不平,对摆放规划的有些地方不合理,造成了很多很多的bug。
所以特别是混开刚开始推出的时候问题特别多,但是随着时间的推移,毕竟地产商的维护是所有FGH若干商人加上地主人一起来维护和建立的,所以时间并不长而地的规划变的合理了。
所以个人认为其实未来混合开发APP就像当年所有程序看不上PHP一样的,他会成为主流,毕竟一切大时代趋势就是节源开流,开源开放最后统一。
优点:随着技术不断地更新,与原生性能并没有太大的区别,但开发速度和维护方式以及开发成本原生是永远不可及的。
缺点:照这样说那混合开发app是没有缺点了哦?肯定不是,制作动画或者游戏目前是不行的,但是未来呢,说不清楚,总会有一天要冒出来个未知的“地产商”来打造这个。
三、原生APP开发
原生APP是什么?原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在应用性能上和交互体验上应该是最好的。
优点:
1、可访问手机所有功能、可实现功能最齐全;
2、运行速度快、性能高,绝佳的用户体验;
3、支持大量图形和动画和重新发现,不卡,反应快。
4、比较快捷地使用设备端提供的接口,处理速度上有优势。
缺点:
开发成本高,周期时间长,而且是测试会比较麻烦,每次修改都需要重新测试一次,维护方面也是比较辛苦的。