业界资讯
JavaScript调用底层硬件已成为W3C标准:移动将进入Web时代?


HTML5是下一代HTML,以期取代现有的主流HTML版本。一般我们提到HTML5的时候,实际上指的由这3个东西:HTML、CSS和JavaScript的组合体。HTML5添加了许多新的语法特征,其中包括<video>,<audio>,<canvas>,<section>,<article>,<header>,,和<nav>。也有一些属性和元素被移除掉了,像<a>,<cite>和<menu>被修改,重新定义或标准化了。同时APIs和DOM已经成为HTML5中的基础部分了。HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误。

via维基百科

没有标准如何跨平台?

Java的跨平台之路,在iOS面前被斩断了,其原因可能有两个:一,乔布斯看不上Java。事实上只要不是苹果自己的东西他都看不上;二,Java太坑爹,不是iOS的菜。而HTML5虽仍然受到几大浏览器厂商的直接影响(毕竟W3C的标准最后是要体现在浏览器上面的),但是它的权威性和标准性已经是没有谁可以无视了,目前几大浏览器都以“更符合”W3C标准为卖点,争着往“标准”靠,像当年IE那样自立门户的做法现在已经是死路一条。所以HTML5的跨平台性在一开始就优于Java,尤其是现在Java被Oracle收编之后(虽然不得不说,JavaEye的改名ItEye,其实更符合网站的定位)。

年初的时候,大家还在争论的Native or HTML5,随着广大Web开发者注意到移动这块大蛋糕之后,开始变得更加扑朔迷离。事实上,随着移动设备计算能力的提高,HTML标准的普及以及网络费 用的降低,Web应用的优势比以前更加明显。很多开发者,包括像国内的HTML5小组、HTML5中国在内的组织在不断的探索,正在通过自身的努力将 HTML5应用变得更有实用价值,更接近原生应用的体验。

图片来源:maximumpc

Mozilla自从意识到移动将会成为未来之后,便加速了移动开发的步伐。自营的主业浏览器刚刚发布了针对Android平台的最新版本,自主研发的移动操作系统(Code name:B2G)正式改名为Firefox OS。从Firefox最近的一系列动作来看,他们正在试图通过Web来寻找一条和传统移动开发不同的道路,以Web和移动设备之间的结合为契机,结合自身优势,实现差异化发展。或者,加剧移动平台的分裂。

Firefox:以W3C标准起舞

在此之前恐怕我们需要先简单了解一下新版的Firefox for Android。毕竟就目前来说,对这些硬件API实现的最全的就是Firefox了。到底Mozilla新的移动版浏览器能给Web开发者带来什么?或者说Web开发者能够从Mozilla的浏览器以及移动操作系统上获得什么?(很明显这是两个问题)CSDN记者采访谋智网络负责移动业务的技术人员,希望CSDN的读者,无论是搞Web开发,还是想在移动平台上搞Web开发的读者,能够有一些了解和启发。

Mozilla公司一直鼓吹“开放”,用他们的说法就是:在Firefox的平台上只有W3C标准,没有似有API。Mozilla公司贡献的API一经W3C采用,Firefox便自动放弃对之前版本的支持,转而支持被W3C标准化的API,虽然可能就是名字改了而已。当然,至少这样的精神是令人敬佩的,不过是否所有开发者都认可就仁者见仁了。

桌面版本的Firefox采用同一套标准来实现跨平台,但是他们实用的XUL在移动平台上受到硬件能力的严重限制,于是新版采用了Android原生UI,以致于现在在Android上打开Firefox的速度和之前相比完全是TeslaTrek的区别,当然JavaScript引擎仍和桌面版系统相同。新移动版对HTML5的支持更加彻底,同时整合了一些桌面版本原本没有的功能,比如AdBlock、网页转PDF。

如果以上这些都没有能够太过引起Web开发者们强烈兴趣,那么接下来的特性一定会让你们身心为之一振:Firefox已经开始对移动设备一些硬件驱动(比如震动、摄像头、蓝牙等)开始调用,用JavaScript来实现。

适合Firefox for Android的扩展

保存网页为PDF和AdBlock已经集成到移动版Firefox中

对于硬件驱动的调用,Mozilla有一套WebAPI提供给开发者,很多都是由Mozilla实现然后被W3C采纳为标准。因此,不管各大浏览器之间有多大的鸿沟,如果号称支持W3C标准的话,就要支持这些标准。结果就是:开发者可以大胆的使用这些特性,开发出更好的跨平台Web应用。

调用底层硬件的跨平台

以下API已经成为W3C标准API:

注意到里面的Telephone、SMS、Vibration等字眼了吗?他们在微笑着,喃喃的倾诉着未来的Web开发者不需要为如何使用JavaScript调用底层而大费周章,浏览器厂商会为你们准备好这些原料,不必客气直接拿来用就好了,将更多的精力放在你的产品和想象力上面。像PhoneGap、AppCan这类的框架,为Web开发进一步的降低了技术门槛。

没有私有API,完全基于W3C标准,Web开发者不用担心桌面浏览器平台中那种撕裂感的存在,像Native应用一样调用底层硬件,这就是Firefox未来想带给Web开发者的东西。而一些Web开发者或许会突然发现,在桌面之外他们可以找到更能施展拳脚的地方。

一起跳舞吧

HTML让人们看到跨平台的好处;而iOS又让人们看到平台整合的效果。到底原生应用和Web应用谁更胜一筹?我想,两者之间的不断竞争,才使得彼此越跑越快吧。而时间,最终成就了“长江后浪推前浪,洪湖水呀浪打浪”。