HTML5 vs.原生,未来究竟是谁的

html-css06

HTML5 vs.原生,未来究竟是谁的,第1张

还好,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与原生应用之间并不存在激烈的竞争替代关系。各自有各自的优缺点,最终选择何种方式还是取决于自己项目的需求。而作为妥协存在的混合应用,倒也是不错的选择。

随着HTML5和Node.js的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAG.js的渐渐流行,这种状况正在发生改变。

iMAG.js是国内的爱码哥移动平台推出的Javscript移动跨平台开发框架,它的特点简单高效,同时又功能强大,可以用Javascript来替代原生开发。iMAG.js的原理和在服务器端运行的Node.js有些相似,都是封装了Javascript引擎,用Javascript去调用底层的API接口。不同的是因为移动应用的控件主要是UI模块、用户交互界面开发,iMAG.js为此引入了XML模板技术,XML和Javascript结合,这样很适合手机界面的展示。

H5开发的web APP和原生APP的区别有以下几个方面:

一、开发方面

原生App

⊙ 每一种移动操作系统都需要独立的开发项目

⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等

⊙ 需要使用各自的软件开发包,开发工具以及各自的控件

移动Web App

⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目

⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)

⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。

二、能力方面

原生App

⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等

移动Web App

⊙ 只能使用有限的移动硬件设备功能。

三、获取方法

原生App

⊙ 直接下载到设备

⊙ 以独立的应用程序运行(并不需要浏览器)

⊙ 用户必须手动去下载并安装这些原生App

⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数

移动Web App

⊙ 从移动设备上的浏览器访问

⊙ 不需要安装额外的软件

⊙ 软件更新只需要服务器就够了

⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单。

四、版本控制

原生App

⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

移动Web App

⊙ 所有的用户都是用同样的版本

五、优势

原生App

⊙ 比移动Web App运行快

⊙ 一些商店与卖场会帮助用户寻找原生App

⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App

⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发

移动Web App

⊙ 跨平台开发

⊙ 用户不需要去卖场来下载安装App

⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核

⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进

六、缺陷

原生App

⊙ 开发成本高,尤其是当需要多种移动设备来测试时

⊙ 因为是不同的开发语言,所以开发,维护成本也高

⊙ 因为用户使用的App版本不同,所以你维护起来很困难

⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程

移动Web App

⊙ 无法使用很多移动硬件设备的独特功能

⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低

⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了

⊙ 对于用户来说,这种App很难被用户发现

附:原生App 与 移动Web App:您如何选择?

所以在你准备做移动App时,你应该先问问自己以下几个问题:

1. 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器

2. 你的开发预算是多少?

3. 你的应用是否一定需要网络

4. 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已

5. 你自己已经熟悉的开发语言

6. 这个应用对于性能要求是否苛刻

7. 如何靠这个应用赢利

HTML5的APP,指的是使用HTML5技术实现的,功能与交互类似于APP的移动端网站。

原生APP,指的是使用iOS或Android开发语言实现的APP(iOS开发语言为Object C、Android开发语言为Java)

使用HTML5技术与Object C / Java语言合并开发的应用被称为“Hybird APP”。

此外,2015年Facebook出品了可用于JavaScript开发的移动端原生应用 - React Native,React Native实现了对iOS和Android两大平台的支持。

HTML5技术目前并不广泛应用于APP的开发。