HTML5 vs.原生,世界究竟是谁的?

摘要:移动互联网未来的发展走向,没有人能够进行准确的预测,其中存在很多变量。都说HTML5的时代真的来了,但总觉得HTML5与原生开发间并不存在竞争替代关系。各具优缺点的HTML5和原生应用开发,究竟哪个才是你的心头好?

HTML5在近两年里可算是出尽了风头,无论是去年10月底的规范定稿,还是今年年初惊爆业内的微信开放JS SDK,亦或是腾讯、百度、360、搜狐等互联网巨头之间的布局争夺。这一切的一切似乎都在预示着HTML5将要给移动互联网界带来颠覆性变革。

也许以后,HTML5真的会重新定义移动互联网的黄金时代。但在此之前,当你准备开发一款应用时,切不可只一味的追寻别人所尊崇的技术,最重要的还是要搞清楚自己的整体需求。其中最为关键的问题包括“应用的受众是哪些?”、“用户想要获得的是什么?”,以及“吸引客户最好的策略是什么?”。其实,总的来说也就是两点:移动用户体验,劳动和资本投资需求。

既然有如此多的顾虑,那么总要选择最适合自己的开发方式。关于这个问题其实早就有各种分析,而这次我们再整体性的探索Web、原生以及混合应用开发之间的历史渊源。

Web应用:最小化成本,更新敏捷性

别看现在的HTML5风光无限,其实它的发展道路也是让人不胜唏嘘。自出生到去年规范的尘埃落定,长达8年的长跑真心不容易。其中最大的惨败要数2012年的Facebook事件,当时Facebook CEO扎克伯格怒言“押注HTML5是Facebook最大失误”,进而转战原生应用,这让支持HTML5的人受到了不小的打击。

还好,HTML5依然挺了过来,相继也出现了各种HTML5开发框架和游戏开发引擎。再加上,前段时间YouTube替换Flash,正式默认使用HTML5视频播放器,着实让HTML5好好的扬眉吐气了。一件事物能受欢迎,总归有受欢迎的理由。那么,HTML5又有那些优势?

  • “一次编写,随处运行”。大多数浏览器都有着相同的运行方式,一个应用几乎可以在所有浏览器上运行,不像限定于只能在某一系统下运行的原生应用。对于用户来说,“一次编写,随处运行”的HTML5应用意味着应用的连续性,即不管是哪个操作系统都可以运行使用应用程序。
  • 允许应用不断更新。HTML5还允许不断更新,开发者不需要再将新应用提交给应用商店等待批准。每次用户登录到该web应用时,都将获得应用最新版本。

以上两点都是众所周知的,其实最主要的原因还是应用开发的成本问题。相较原生应用,能够随处运行的HTML5,单在移植方面就省下了不少银子。而且,面对新平台,无需高价聘请专业人士或培养现有的人员去重新学习,先前的Web技术人员就可以直接使用。

原生应用:最大化性能和用户体验

原生应用的历史要比Web应用悠久的多,如地址簿、日历和计算器等默认自带的应用程序及可用的Web连接在很早以前就出现在移动设备上,1998年风靡全球的诺基亚经典游戏贪吃蛇就是典型之一。就平均而言,如今开发者采用最广泛的开发方法仍是原生应用开发。虽然HTML5风头正胜,但拥有强大性能及高品质用户体验的原生应用能占据大头也不足为奇。

相对Web应用,原生应用最大的优势就是可以访问设备中的所有功能,运行的速度更快、性能更高,而且可以启用优秀的离线处理和存储能力。不过,别只关注它的优势,若想要维持原生开发绝对是个不小的挑战。它的最大问题就是支持的设备非常有限,想要移植到其他平台就得准备好更多的预算。此外,还有审核过程的不一导致上线时间不确定,以及获得新版本时还需重新下载应用更新。

如果,你做应用之前的预算是没有太多限制的话,只采用原生方法的团队所开发的应用质量,绝对要比其他团队高质的多。不过现实就是现实,很少有开发商的资金是源源不断的。

混合应用填补空白

所谓混合应用,顾名思义,就是原生和Web应用的结合体,自然也就继承了两者的优缺点。换句话说,相当于利用Web开发技术编写的原生应用,如HTML5、CSS、JavaScript都是进入原生容器(Native Container)的比较常用的语言,原生应用包含了一个链接到HTML文件的WebView隐藏浏览器。

总的来说,混合应用也是蛮有魅力的,开发者可以自由调配其中原生和Web的比例。它的好处也很多:

  • 跨平台优势,既省钱又省时间,同时还是创意付诸实践的最佳捷径。
  • Web开发者不论水平如何,只需经过短期培训就能成为合格的混合应用开发者。

以上的两点都表明了混合应用对成本的节省,也算是它继承Web的一大优点。不过,混合应用的性能终究还是比不过原生应用,如果其中掺入了太多的Web技术,还是会减缓应用的运行速度。但随着技术的不断提升,混合应用开发也在水涨船高,在不断的寻找在获得优秀用户体验的同时,尽力降低开发成本。

定睛2015,你是HTML5还是原生应用?

对于移动互联网未来的发展走向,没有人能够进行准确的预测,其中存在很多的变量。都说HTML5的时代真的来了,但是总觉得HTML5与原生应用之间并不存在激烈的竞争替代关系。各自有各自的优缺点,最终选择何种方式还是取决于自己项目的需求。而作为妥协存在的混合应用,倒也是不错的选择。

也许在2015年,HTML5真的会打造出一个更进一步的移动生态圈,不过最终结果如何还是取决于开发者,毕竟开发者在移动互联网发展中起着核心作用。你是选择原始的开发形式还是独辟蹊径的去探寻新的道路,亦或借助HTML5这道风口,随之起飞?不妨说出你的观点,我们洗耳恭听。

文章来源:SDTime

时间: 2024-10-13 09:40:12

HTML5 vs.原生,世界究竟是谁的?的相关文章

atitit.html5 vs 原生 app的区别与选择

atitit.html5  vs 原生 app的区别与选择 1. html5的优点 1 1.1. 最大优势::在跨平台(ios苹果,android安卓等) 1 1.2. 开放性 1 1.3. 快速的更新,热更新 2 1.4. 开发成本上 2 1.5. 碎片化 2 2. 原生app 应用的优点 2 2.1. 对游戏等要求性能的app更好 2 2.2. 原生应用最大的优势就是可以访问设备中的所有功能 2 2.3. 对摄像头.电话本,相机,游戏等操作支持的好,对语音,联系人和日历,也支持比较好. 2

MUI让HTML5达到原生体验的高性能开源框架

MUI:让HTML5达到原生体验的高性能开源框架 UI组件 HelloMUI HTML5+开发移动app教程3-mui开发示例

为什么我不看好HTML5替代原生APP

最近HTML5又开始大火起来了,几年前我也是HTML5的忠实粉丝,狂热的技术爱好者和BS系统的开发者,我和这些鼓吹HTML5的人一样,硬件的提升,必将会提升HTML5在移动互联端的用户体验,对,说的是用户体验,多高端,多逼格啊,我以前也是这么想的嘞. 可是,我现在却有一点点疑惑,为啥呢?并不是说HTML5不好,HTML5真的很好,它的理念,它提供的特性点,包括微软全面推行的windows10,抛弃IE浏览器,这对于被IE折磨了这么多年的开发者来说,可以讲是一个天大的喜事啊,因为微软的新浏览器Sp

HTML5+AJAX原生分块上传文件的关键参数设置

processData:false 这是jquery.ajax的一个参数.默认值为true,表示会将非字符串对象自动变成k1=v1&k2=v2的形式,例如一个数组参数{d:[1,2]},到服务端后会变成d[]=1&d[]=2的形式. 要将其设置为false后,才能上传ArrayBuffer对象,服务端直接从Request.InputStream获取原始字节流. w3school解释: processData 类型:Boolean 默认值: true.默认情况下,通过data选项传递进来的数

混合开发-利用Cordova插件实现HTML5 与 原生代码的连接

主要利用的就是通过Cordova这个东西, 进行HTML5 与 iOS断值得传递 列子:把HTML5 获取的日期同步到iOS系统的日历中去 1. 原生代码:.h.m 提供一个接口文件 主要代码: - (BOOL)saveEventToCalender:(NSString *)title content:(NSString *)contentTitle year:(NSString *)year date:(NSString *)date time:(NSString *)time { // 定义

一处折腾笔记:Android内嵌html5加入原生微信分享的解决的方法

有一段时间没有瞎折腾了. 这周一刚上班萌主过来反映说:微信里面打开聚客宝.分享功能是能够的(这里是用微信自身的js-sdk实现的).可是在android应用里面打开点击就没反应了:接下来狡猾的丁丁在产品群里AT我说:偶们的产品设计不是一直都被技术给反压制住么?真是气死,呵呵.自己刚好有空又有兴趣,于是研究了下.没曾想竟也研究出来了.事后我对整个操作过程整理了下,方便他人也提升自己. 废话少扯.以下上干货. 我的思路是:在点击h5上的分享图标时.触发js事件,在这里面能够对当前设备的操作系统和浏览

html5 canvas+原生javascript 实时获取文本框内容绘制图片水印

最近有位客户要求在网页图片上加文字水印效果,并且内容是从当前网页的文本输入框实时获取的,研究了一半天,在网上也参考了不少朋友的办法,再加上园子里热心的好哥们帮助终于实现了,先看下效果图: 代码如下: 1 <!DOCTYPE html> 2 <head> 3 <meta charset="UTF-8"> 4 <title>drawing by input text</title> 5 </head> 6 7 <

一处折腾笔记:Android内嵌html5添加原生微信分享的解决办法

有一段时间没有瞎折腾了.这周一刚上班萌主过来反映说:微信里面打开聚客宝,分享功能是可以的(这里是用微信自身的js-sdk实现的),但是在android应用里面打开点击就没反应了:接下来狡猾的丁丁在产品群里AT我说:偶们的产品设计不是一直都被技术给反压制住么?真是气死,呵呵.自己刚好有空又有兴趣,于是研究了下,没曾想竟也研究出来了.事后我对整个操作过程整理了下,方便他人也提升自己. 废话少扯,下面上干货. 我的思路是:在点击h5上的分享图标时,触发js事件,在这里面可以对当前设备的操作系统和浏览器

Html5添加原生radio按钮和checkbox复选框转换为非常好看的滑动开关按钮的插件教程

一.使用方法 <link href='dist/rcswitcher.min.css' rel='stylesheet' type='text/css'> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="dist/rcswitcher.min.j