自从2007年iPhone上市并推出App Store以来,到了2011年3月,除手机销售量超过1亿支,在行动应用市场上的斩获也令各家手机及行动服务商看了眼红。无独有偶,紧追着iPhone的,Google也在2008年推出了一套完全打破市场架构的开放性Android作业平台。而同样的,Google也看到了行动应用市场的威力,因此也推出与Android搭配的Android Market。这股旋风因着它的开放性,已吸引了各界积极的投入相关的研究与开发的工作。其市场占有率与iPhone在手机量的销售与提供行动应用多样性,几乎是不分轩轾。不仅如此,包括Nokia、 MicroSoft、三星…等也都陆续推出自己的解决方案,希望峥嵘头角。
另外有一种趋势-HTML5与可安装的Web App,它迥异于由厂商自行推出私有的行动作业系统与嵌入式或行动应用商店,这股标准的势力在市场上已蕴酿已久、且近来力道越来越强,逐渐为业界所接受,资讯应用的模式也越来越受它的影响,在资讯产业结构与应用逻辑上,HTML5扮演一个很重要的角色。
模糊的产品界线
当电脑还是电脑、电视还是电视时的旧观念里,人们所创造出的电子产品是非常多样化的,为因应人类的需求,包括像解决复杂的数学运算、看电视、行动时电话联络、行动听音乐…等等。这样的发展模式主要是为满足使用者的单一需求产生的,只要在人的生活上有各样的需求,就会有相对应的消费性电子产品被开发出来。但久而久之对开发者而言,开发者所要考虑的问题越来越复杂,对开发者来说,时间无法集中在核心问题的解决,而是其它周边琐碎又不是专业领域里的问题!
![《图一 因着人不同的需求,发展出不同类型的电子产品 (图片来源:网络)》](/art/2011/08/151839171670/p1S.JPG)
《图一 因着人不同的需求,发展出不同类型的电子产品 (图片来源:网络)》 |
|
好消息是资讯电子产品间的界线也逐渐地被打破。例如,智慧型手机可以打电话、听音乐、做各种以往桌上型电脑才会有的运算、甚至可以看电视。而桌上型电脑也如此。下一波的智慧型电视发展,在目前看来也朝这个趋势前进,在没有意外的情况下,电视除了看电视节目、电影外,视讯电话、嵌入式游戏、网路浏览…等也是基本的功能。
功能 |
个人电脑 |
手机 |
平板电脑 |
智慧型电视 |
听音乐 |
可 |
可 |
可 |
可 |
网路电话 |
V2oIP
SKYPE |
SKYPE |
SKYPE |
VoIP |
电影/电视 |
网路电视
PPS等 |
DVB-T/H |
PPS |
TV
VoD |
网路短片
(ex. YouTube) |
可 |
可 |
可 |
可 |
嵌入式应用
(App Store) |
可 |
可 |
可 |
可 |
网路浏览 |
可 |
可 |
可 |
Widget |
(表一) 界线渐模糊的电子产品 (资料来源:自行绘制)
开发者面临的挑战
在多样化资讯电子充斥的市场里,对程式开发者而言,所要考量的方面变得相当复杂,一、在硬体上需要考量的是何种运算装置,如小笔电、智慧型手机、简易型手机、平板电脑,还是联网电视盒。二、在功能上,开发者要考虑,这些程式是要放在哪一种被应用观看的设备上,是电视、电子看板,或是电冰箱等。三、在作业系统上,要考量是Windows , OS X, 或是Linux作业系统;或是嵌入式的iOS, Windows Mobile, Android, BlackBerry, Symbian, MeeGo…等。不同的作业平台会有不同的开发模式,并使用不同的程式库。
HTML5 – Write once, Run Many
一般来说,大部份平台是直接将程式编译成Native Code, 如C, C++, Objective C, 或将程式编译成Byte Code, 如Java, C#。想想再过5年,如果只有一个平台可以让开发者在撰写完成所要的应用程式后,就可以将写完的程式放在不同的平台上执行,以技术的发展来看,这个平台很可能是Web,搭配着HTML5标准,可以让它真正达到「Write Once, Run Many」的境界。开发者只要花一次的功夫,所产出的成果就可以在支援HTML5的平台上执行,而不论其底层是Linux, Android, iOS, Symbian, Windows Mobile。 HTML5可包装成单一可安装的应用程式,或者是就直接以Script的原始方式在浏览器上执行。
就目前HTML5标准所带来的冲击,是它几乎可以处理任何原始程式(Native Program)能处理的运算、联网与显示…等功能。人机操作界面丰富性、安全性保护、周边硬体资源存取、在地端档案的存取、离线作业、拖拉放人机界面操作、多媒体影音播放…等,HTML5均已有涵盖。其标准组织的企图心,不仅是要涵盖Web的应用范围,甚至跨足到一般的原始程式。理论上,HTML5是一个很好跨平台的软体应用架构,它可设计出符合桌机、平板电脑,甚至有可能成为智慧电视、智慧型手机的应用。而且几乎是不需要依特别装置而有所改变。
HTML5强大的功能
再仔细看一下HTML5的标准。 HTML5的产生并不只是HTML4的延伸,它改善HTML4在行动应用上的不便,也扩增了HTML以前不具有的,嵌入式应用程式界面,改变的幅度应该可以说是另一世代的HTML标准。其特性有:
以画布(Canvas)作为人机介面基础,让画面更能程式化、更生动
WebGL呈现3D效果,让画面更逼真
提供Drag-and-Drop、Undo…等互动式人机界面操作机制
地理定位始可取得即时位置座标,为导览与LBS服务作准备
离线操作让行动时联不上网的情况不再是个问题
允许存取在地端档案系统让操作就如同一般的Native程式
提供不同应用间的沟通,让应用之间的关联更密切
周边硬体资源存取,让HTML应用不局限于资料显示那样单调
接受由伺服器主动通知的讯息,提高应用即时性(Real-time)
正因其操作与应用模式的改变是如此的大,在嵌入式装置运算能力越来越提高时,它的改变将是值得拭目以待。
嵌入式HTML5应用平台
市场上较早推出以HTML,CSS与JavaScript语言来开发行动应用,甚至成为嵌入式装置平台的,首推Palm所推出的WebOS。它的架构是在一核心的作业系统上,发展WebOS 服务,开发者只要依循HTML、CSS与JavaScript的语法发展应用程式,都可以在该平台上执行。而在不同样式装置的发展上,Palm(后为惠普购并)也不再仅限于智慧型手机,于今年2011年2月Palm推出了以WebOS为基础的平板电脑,并强调这些应用程式可以跨不同的装置执行,游走于平板电脑与智慧型手机之间,且保持优美的呈现效果。
![《图二 Palm WebOS系统架构&Web OS 装置 (图片来源:网络)》](/art/2011/08/151839171670/p2.jpg)
《图二 Palm WebOS系统架构&Web OS 装置 (图片来源:网络)》 |
|
而Google在2008年推出Android行动平台后,也推出了可安装Web App的嵌入式Chrome OS作业系统。在策略上Google采取了开放又封闭的路线,开放的是维护Chromium OS的社群网站,开发者可以在这里取得到开放的Chrome OS系统原始码;而Google则仍维护一份仍未公开、调校较新的版本。
Chrome OS的诉求是可安装(Installable)的Web App, 让Web App不一定得联上网路才能使用,也就是说可离线操作,使用者界面的互动、更新、资料的存取…等功能,仿佛一般的嵌入式装置,而其最大的优点是让网路上的各种HTML应用可马上执行在该系统上。
![《图三 Chromium OS系统架构 (图片来源:Chromium OS官网)》](/art/2011/08/151839171670/p3.jpg)
《图三 Chromium OS系统架构 (图片来源:Chromium OS官网)》 |
|
另外有两个平台,是因应目前市场架构而发展出来的产品,一个是PhoneGap, 另一个是Titanium。它们的目的是考量到仍有多个行动嵌入式作业平台在应用开发上走封闭路线,如BlackBerry Java, iPhone Objective C, Android Dalvik…等。为了让以HTML5发展的应用程式可以在这些异质平台上执行。 PhoneGap与Appcelerator公司分别提供上述的平台。
Titanium是将所谓的HTML,CSS与JavaScript程式码编译成Native Code, 也就是说,这些原始码是不以文字(Script)方式呈现,而是转换成更低阶的运算码,因此无法被浏览器所使用。而应用的使用者界面、联网功能、档案系统存取是以该应用程式所在的系统程式库来执行。这种方式的优点是有较高的执行效能,缺点则是无法将程式移动到其它平台时仍能使用,须得再行为该平台编译。现阶段Titanium可将HTML原始码编译至多种平台,包括Android, iPhone与BlackBerry(Beta)…等
![《图四 Titaniu系统架构 (图片来源:网络)》](/art/2011/08/151839171670/p4.jpg)
《图四 Titaniu系统架构 (图片来源:网络)》 |
|
而PhoneGap基本上是产生一符合该平台的包装方式,将HTML5程式包裹起来,但仍保留原有的HTML、CSS与JavaScript的原始码。而执行这些程式码的仍是该装置上较底层的浏览器引擎(Browser Engine, 如WebKit)。 PhoneGap的特性是它提供了JavaScript与Native应用程式的界接,让PhoneGap的应用可以直接呼叫原有装置平台的应用界面。另一特性是,假如应用界面不足,PhoneGap也提供使用者自行扩充的接口(Plugin),以取得更多的应用资源。
![《图五 PhoneGap系统架构 (图片来源:PhoneGap官网)》](/art/2011/08/151839171670/p5S.JPG)
《图五 PhoneGap系统架构 (图片来源:PhoneGap官网)》 |
|
结论与建议
全球资讯业界都在仔细评估HTML5标准带来的市场冲击,起初它由Google, Apple, Opera,等公司发起,但目前已取得各大厂的支持,就连原本对HTML5相当保守的微软公司,也在最近于IE9浏览器加入HTML5的功能。春江水暖鸭先知,这虽是微软的小小改变,但已可预见将来它的地位。如前所述,它打破了Native与Web应用的界线,让应用在不同类型的装置上没有分别,在手机也好、在机上盒也好,开发者不需多费心处理应用发展以外的技术、而专注在核心问题上。HTML5技术可说是未来跨平台应用发展上最有潜力的明星,让我们大胆的预测,HTML5智慧装置将会是另一个重要的主流产品。
(作者任职于资策会网路多媒体研究所)