目前流行的APP开发技术主要是原生和html5两种开发方式。近两年h5发展势头很猛,大有赶超元神APP的趋势,甚至有人预测Web APP(html5)终将取代原生APP。那么到底原生APP和Web APP有什么区别呢?哪个比较好呢?一起来探讨一下。
一、原生APP和Web APP的定义
原生APP又称Native APP,该开发针对IOS、Android、Widows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部分构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web APP即是一种框架型APP开发模式(html5 APP框架开发模式),该开发具有跨平台的优势,该模式通常由“html5晕网站+APP应用客户端”两部分构成,APP应用客户端只需安装应用的框架部分,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
二、原生APP和Web APP的区别
1、原生APP要为不同系统开发不同项目;Web APP因为运行在移动设备的浏览器上,所以只需要一个开发项目。
2、原生APP开发语言主要是Jave、Objective-C;Web APP使用html5、css、js以及服务端语言PHP、Ruby来完成。
3、原生APP开发需要使用各自软件开发包,开发工具和控件;Web APP可使用一些跨平台开发工具。
4、原生APP需要用户手动去下载并安装;Web APP不需要安装额外软件,直接从浏览器访问。
三、原生APP和Web APP哪个比较好
很难直接说出原生APP和Web APP哪个好,因为它们都有各自的优缺点,有些方面原生APP占有优势,有些方面Web APP有优势。
1、在跨平台上,Web APP html 5胜出
这是一位内html5采用网络通用语言,不同考虑终端设备或者操作系统的不同。
2、在用户体验上表现原生APP开发胜出
在用户体验和表现这个方面,html5仍然面临着不同移动终端设备本地浏览器的功能接入问题,同时在提供用户展示图形界面和数据表现的丰富性方面还有不足,继续得到提高。
3、在开发速度和成本方面,html5胜出
Html5的开发确实比原生开发更省时间和人力,开发周期相对较短,人力投入也比较少,毕竟html5有着跨平台带来的无可比拟的好处。不需要投入两个团队或者更多的人去开发。
4、在版本控制和BUG修复方面,html5胜出
Html5是web网页端的内容,如果出现BUG可以不同迭代版本,只需在后台修改即可修复BUG,这是原生APP开发所不能做到的。
5、在变现能力方面,原生APP开发胜出
原生应用的分发平台,如App Store和Google Play,目前是获得收入的较为成熟的商业模式;而html5应用,除了付费下载意外,还没有形成其他成熟的商业模式。
6、对于碎片化挑战而言,html5胜出
尽管二者同样面临着严重的碎片化问题,不过html5先天具备的跨平台特性,可以在这方面占领先机。
四、什么情况适合使用html5?什么情况适合使用原生APP?
1、如果APP中出现大段文字(如新闻、攻略等),且格式比较丰富(如加粗,字体多样),那么多用h5会比较方便。原因是原生开发解析json对字符串格式处理不算很好。
2、如果讲究APP反应速度(含页面切换流畅性),则选用原生开发,因为h5其本质是网页,换页时,基本要加载整个页面,就像是浏览器打开一个新页面一样,显得较慢,而原生系统则只是加载变化部分。
3、如果APP对有无网络、网络优劣敏感(譬如有离线操作,在线操作),那么,基本选用原生开发,虽然h5可以做到,但是很复杂。
4、如果APP需要频繁调用硬件(摄像头、麦克风、未来的湿度检测仪等等)那么,基本选用原生开发,这样支持硬件更多,更容易扩展,且调用速度更快,h5就望尘莫及了。
5、如果APP用户常见页面切换,如(淘宝首页各种不同活动),那么h5,维护起来更容易。
6、如果预算有限(h5开发一套可跨平台覆盖安卓、ios、黑莓、塞班),不是很讲究用户体验,不在乎加载速度,那非h5不可。
以上就是原生APP和h5开发的区别以及各自的优势。实际上可以采用h5+原生APP混合模式开发,这种开发方式能够充分利用h5和原生APP各自的优势,实现优势最大化。