没有标准如何跨平台?
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的速度和之前相比完全是Tesla和Trek的区别,当然 JavaScript引擎仍和桌面版系统相同。新移动版对HTML5的支持更加彻底,同时整合了一些桌面版本原本没有的功能,比如AdBlock、网页转 PDF。
如果以上这些都没有能够太过引起Web开发者们强烈兴趣,那么接下来的特性一定会让你们身心为之一振:Firefox已经开始对移动设备一些硬件驱动(比如震动、摄像头、蓝牙等)开始调用,用JavaScript来实现。
适合Firefox for Android的扩展
保存网页为PDF和AdBlock已经集成到移动版Firefox中
对 于硬件驱动的调用,Mozilla有一套WebAPI提供给开发者,很多都是由Mozilla实现然后被W3C采纳为标准。因此,不管各大浏览器之间有多 大的鸿沟,如果号称支持W3C标准的话,就要支持这些标准。结果就是:开发者可以大胆的使用这些特性,开发出更好的跨平台Web应用。
调用底层硬件的跨平台
以下API已经成为W3C标准API:
- Geolocation
- WebGL
- Gamepad API
- Screen Orientation
- navigator.getUserMedia
- Battery Status
- Media Capture
- Network API
- Web Telephony
- Web SMS
- Vibration
- File API
- IndexedDB
注 意到里面的Telephone、SMS、Vibration等字眼了吗?他们在微笑着,喃喃的倾诉着未来的Web开发者不需要为如何使用 JavaScript调用底层而大费周章,浏览器厂商会为你们准备好这些原料,不必客气直接拿来用就好了,将更多的精力放在你的产品和想象力上面。像 PhoneGap、AppCan这类的框架,为Web开发进一步的降低了技术门槛。
没有私有API,完全基于W3C标准,Web开发者不用担心桌面浏览器平台中那种撕裂感的存在,像Native应用一样调用底层硬件,这就是Firefox未来想带给Web开发者的东西。而一些Web开发者或许会突然发现,在桌面之外他们可以找到更能施展拳脚的地方。
一起跳舞吧
HTML让人们看到跨平台的好处;而iOS又让人们看到平台整合的效果。到底原生应用和Web应用谁更胜一筹?我想,两者之间的不断竞争,才使得彼此越跑越快吧。而时间,最终成就了“长江后浪推前浪,洪湖水呀浪打浪”。
发表回复