龙源期刊网 http://www.qikan.com.cn
基于Webkit的Web开发在移动互联网上的应用
作者:陈娟 刘东飞
来源:《软件导刊》2011年第05期
摘 要:首先分析了移动互联网上传统的web开发的特点,随着3G时代的发展,传统的wap网站已经不能满足操作的流畅性和友好的用户界面等要求。提出了基于webkit的一套用于移动互联网的新web框架,介绍了Nokia QtWRT,通过一款具体的应用来验证这一套web框架良好的用户体验。
关键词:移动互联网;web开发
中图分类号:TP393.09 文献标识码:A 文章编号:1672-7800(2011)05-0105-
1 基于WAP协议的开发 1.1 WAP协议及
传统的移动互联网上的web开发主要是基于WAP(Wireless Application Protocol)协议进行的开发。WAP定义可通用的平台,把目前Internet 网上HTML语言的信息转换成用WML(Wireless Makeup Language)描述的信息,显示在移动电话的显示屏上。WAP只要求移动电话和WAP代理服务器的支持,而不要求现有的移动通信网络协议做任何的改动,因而能够运行于各种无线网络之上,如GSM,GPRS,CDMA等。在带宽考虑方面,WAP用“轻量级协议栈”优化现在的协议层对话, 将无线手机接入Internet的带宽需求降到最低,保证了现有无线网络能够符合WAP规范。 手机通过使用WAP协议栈可以为无线网络节省大量的无线带宽。 WML支持文字和图片显示,内容组织上,一个页面为一个Card,而一组Card则构成一个Deck。当使用者向服务器提出浏览要求后,WML会将整个 Deck发送至客户端的浏览器,使用者就可以浏览Deck里面所有Card的内容,而不需要从网络上单独下载每个Card。
1.2 3G时代WAP网站的问题
龙源期刊网 http://www.qikan.com.cn
在2G时代,基于WML语言的WAP网站广泛存在,但随着3G时代的来临,无线互联网技术不断发展,iPhone,Android等一系列3G手机也迅速流行,传统WAP网站逐渐在丧失“适应小屏幕,小带宽”的优势,它越来越不能满足3G用户对浏览的流畅性和友好的用户体验的要求。图1是一个机票查询服务的WAP展现页面。
在联通WCDMA、电信的CDMA2000和移动TD-CDMA的3G网络迅速发展的情况下,用户拿着iPhone,
Android等3G高速智能手机来访问上述WAP页面,用户体验肯定很差,用户界面很不友好。当然,iPhone可以用Object-C,Android也可以用类Java来开发本地语言级的手机客户端来满足友好的用户体验。
但是,能不能利用Javascript、CSS等web技术开发出用户体验相当于原生态语言的客户端的应用呢?这样wap开发人员的web技术就可以继续有用武之地了,也能吸引更多的传统PC网站开发人员进入到移动互联网开发领域。 2 基于Webkit的web开发
Webkit是一个开源的浏览器引擎,与之相应的引擎有Gecko(Mozilla Firefox等使用的排版引擎)和Trident(也称为MSHTML、IE使用的排版引擎)。同时Wekit也是苹果Mac OS X系统引擎框架版本的名称,主要用于Safari、Dashboard、 Mail和其他一些Mac OS X程序。Webkit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。它具有高效稳定、兼容性好、源码结构清晰、易于维护等诸多优点。 Webkit内核在手机上的应用十分广泛,例如Apple的iPhone,Google的Android系统,Nokia的S60系统,Palm的Web Os系统以及BlackBerry的最新的浏览器等所使用的浏览器内核引擎都是基于Webkit。
2.2 基于Webkit的移动开发API架构
要想构建一个移动产品应用,应用程序开发的API就必须提供访问手机系统的底层设备功能,如:拨打电话、发送短信和邮件、照相、语言和导航等。
龙源期刊网 http://www.qikan.com.cn
同时,必须提供UI方面的一些方法和接口,方便开发者对应用程序的界面上的控制和开发。另外,底层的一些日历、数学函数库、数据存储、国际化标准和DOM解析等都必须提供。
最新的Webkit内核已经全面支持HTML5标准,因此API还应支持HTML5的一些特征和应用。
目前Palm的Web OS系统和Nokia的Symbian & MeeGo提供了上述Web开发架构。他们分别基于Webkit引擎封装了自己的JavaScript开发库,支持面向对象的开发方式,大大地增加了javascript访问本地系统设备功能的能力。
iPhone和Android暂时没有提供特定的专门供Web开发方式的API,但它们都提供了在应用程序中无缝调用浏览器的功能,因此,我们可以利用Web开发方式开发出对应的Web页面,然后在应用程序中方便又灵活地调用浏览器来解析这些Web页面。这很像传统的Wap开发,但webkit提供了很好的系统本地化支持,用户界面看起来跟应用程序本身没有太大区别,极大地提高了用户体验,这是传统的Wap开发无法达到的。 2.3 Nokia QtWRT框架
Nokia在未来的Symbian 3、Symbian 4操作系统和MeeGo系统上,将广泛支持Qt Web Runtime Development开发。传统的
开发的难度很大,给开发者带来了很大
的不便。这直接导致Symbian上应用程序的发展越来越落后于iPhone和Android。 Nokia基于Webkit开发了一套Web API,即 OVI js框架。它直接从Webkit引擎那里继承了对标准Web的支持,比如HTML 5的Local storage、 Database和 Canvas,CSS 3的Animations、 Transitions和 Borders等。
这套API的核心是ovi.js。它提供了内核ovi.*、 UI库ovi.ui.*、应用程序框架ovi.appx.*及一些导航、地图层ovi.player.*等。
它同样也支持面向对象的继承、封装等特性。开发上很方便,也很有特色。
龙源期刊网 http://www.qikan.com.cn
2.4 基于Webkit的Nokia QtWRT具体应用
这个应用其实也是一个web页面,用javascript和CSS来开发,由webkit浏览器来执行,但它在体验上完全就相当于一个本地化的手机客户端。
从代码可以看出,最关键的技术还是基本的javascript来操作页面及处理用户交互,再用CSS来进行页面布局。但封装后的框架具备了面向对象语言开发的特性,降低了纯编写HTML或WML代码的难度,加快了开发进度。
这种web运用不仅在界面上跟本地客户端一样,而且经过webkit特殊优化后运行起来也是非常流畅快捷,有着传统的WAP开发不可比拟的优势。
3 结束语
随着3G网络的迅速发展,手机上的高带宽应用不再是无法实现的梦想。高性能浏览快速的智能手机iPhone、Android和Meego等3G手机的兴起将会使用户得到前所未有的使用体验。虽然2G网络下主导的WAP开发短时期内不可能被淘汰,但开发新的高性能和友好体验的移动互联网web框架的时机已经来临。本文就提出了基于webkit下的新兴web开发的框架,我们可以根据需要开发出适合特定需要的web框架来。而目前Nokia的QtWRT框架、Palm的Mojo框架等都基于Webkit,它们提供了全新的移动互联网开发方式,并且开发出的应用远远超过了传统WAP页面应用。
参考文献:
[1] 赵经纬,周余,王自强,等.基于webkit的嵌入式浏览器的研究与实现\\[J\\].电子测量技术,2005(3).
(责任编辑:周晓辉)
龙源期刊网 http://www.qikan.com.cn
Application of Web Development Based on Webkit in Mobile Internet
Abstract:The paper firstly analyzes the traditional web development in mobile internet. With the 3G's coming,the website with WAP cannot provide the smooth operations and friendly UI,etc.The article puts forward a new web framework based on the Webkit which can satisfy it. Then a real web application which is developed by the Nokia QtWRT is used to prove the new web framework's
Key Words: Mobile Internet;Web Development;Webkit;Nokia QtWRT