由于Linux具有源代码开放、软件授权费用低、应用开发人才资源丰富等优点,应用Linux正日益迅速地被用作手机开发的平台,依托Linux进行手机应用的开发正方兴未艾。而凭借产品的灵活性及充足的源代码供应等有利因素,奇趣科技的Qtopia平台正越来越多地被国内外厂商用于进行Linux便携设备开发。
图1:2005年一季度智能手机所用操作系统比例分布(数据来源:Gartner)。
目前市场上使用得较多的智能手机操作系统(OS)包括Symbian、Palm、Windows Mobile和Linux等OS。根据市场研究公司Gartner的统计,在2005年一季度全球市场上交付的智能手机中,Symbian、Palm和Windows Mobile(不含Pocket PC Phone)等操作系统的市场占有率分别为76.2%、4.6%和4.5%,Linux开放源操作系统的占有率则达到了13.7%,而这一数字在2004年还不足10%。
&nb
Qtopia平台脱颖而出
伴随着将Linux的灵活性和低成本的优势扩大到移动领域,奇趣科技(Trolltech)基于Linux的Qtopia软件平台已经获得了越来越多公司的采用。迄今为止,已有60多家厂商正在设计、制造和付运基于Qtopia和奇趣科技针对嵌入式Linux的相关软件的便携设备。
例如,Qtopia目前已成为飞利浦Nexperia Partner Program的一部分,同时,Qtopia软件平台也被包括在针对移动智能电话和高端功能型电话的新型Nexperia Cellular系统解决方案9000的参考平台中。而摩托罗拉已选择Qtopia平台作为其E680和A780移动电话的基础。此外,Qtopia开发环境和用户界面也已成为TI OMAP处理器的一部分,从而给予制造商一个强大的平台去快速的开发基于Linux操作系统的高效的无线设备。
除了这些国际知名厂商,Qtopia也正在中国得到广泛的应用。以中兴通讯为例,该公司发布了一款先进的基于Linux的智能手机——e3。该款手机是在Qtopia/Linux平台上进行开发的。再如波导,该公司已经选择Qtopia作为其所有Linux手机的软件平台。波导于2005年中发布了首款基于Linux的智能手机多易随E899。此外,大唐移动于2004年10月开发成功的一款TD-SCDMA手机正是基于运行Qtopia Linux平台的德州仪器OMAP1510处理器。而在手机设计公司中,禹华通信技术已选择Qtopia Phone作为其基于Linux的智能手机--Normandy的软件基础。
奇趣科技向客户提供源代码,让客户能完全控制自己的开发工作,添加应用程序、界面和端口,并且还能让手机开发商更快地进行调试除错,实现自己的目标。事实上,客户定制选择几乎是无限的。此外,Linux与Qtopia组合的价格只有Symbian和微软产品的几分之一,这一点对于价格竞争非常激烈的中国市场非常重要。至少在中国市场,奇趣科技自信成为了Linux手机的行业标准制定者。
图2:Qtopia Phone版本的架构。
Qtopia平台的主要特性
Qtopia是一种可定制的开发环境和用户界面,从本质上说,Qtopia之于Linux犹如UIQ和Series 60之于Symbian。Qtopia的一些主要特色包括低成本、灵活性以及可定制性,它基于跨平台的C++开发工具
8212;—Qt/Embedded之上,它健全且稳定,并可以配置为多种内存模板。基于Qt的经验,Qtopia向客户提供全部源代码,让客户可以创建与现有程序紧密结合的定制程序、定制用户界面和程序发布工具,并能在他们需要使用的处理器上编译,并且为手机开发商提供一定程度的独立性以及创新和控制。厂商可以使用Qtopia实现对品牌标识和用户界面设计的全面控制,而且可以在许多设备上运行相同的源代码,如手机、PDA和其它消费设备。Qtopia平台目前有两种版本:面向PDA应用的Qtopia PDA和面向智能电话和功能型手机应用的Qtopia Phone。以Qtopia Phone为例,它包含6个组成部分,分别是插件(plugin)、服务器(server)、客户端软件和内置应用软件、文件系统、调制解调器(modem),以及帧缓冲(framebuffer),它们之间的关系如图2所示。
其中,Qtopia launcher/server
Qtopia Phone提供标准的GSM AT指令,并支持专有指令。Qtopia Phone其它主要特性包括:
1. 平台级特性。Qtopia的核心功能表现在其平台级特性。通过强大的操作环境,它仅凭较低的内存就能实现智能电话功能。其平台还具备电话技术特性,包括无线配置、SMS、MMS、GPRS和现代的界面。
2. 强大的开发环境。为了正确地定制智能手机,制造商需要有强大的开发工具。奇趣科技提供了一整套工具集来定制和扩展Qtopia电话版本。强大的开发环境简化了在桌面系统进行开发,进而交互编译到目标设备的过程。
3. 可定制的用户界面。专门为移动电话用户设计,其图形用户界面完全可定制。程序制作者和网络操作人员可以更改图标、布局和外观。终端用户可以自由更改设置,从而使他们的电话保持鲜明的个性特征。
4. 强大的电话程序集。Qtopia电话版含有一套强大的电话程序集,包括PIM、电话(信息客户端、拨号器及其它)、游戏、多媒体播放器以及一些电话个性化应用。Qtopia电话版和PDA版可以兼容,可将1,000多个现有的Qtopia应用程序导入到Qtopia电话版上。
5. 同步框架。用户可以把他们的电话与Trolltech的跨平台桌面PIM集成或微软Outlook同步。Qtopia Phone还可以同步联系人、日志、计划事项、多媒体文件和文档等。
此外,Qtopia电话版有如下要求:a. Linux内核:2.4及以上版本;共享内存;处理通信的设备。b. C++编译器:Gcc2.95及以上版本。c. 处理器:可以大多数已运行Linux的处理器上运行;已经过ARM、x86、MIPS和PowerPC测试。d. 内存:最小构建对象为8MB的Flash只读存储器、16MB随机存储器(包括Linux);标准构建对象为16MB的Flash只读存储器、32MB的随机存储器(包括Linux和附加组件)。e. 屏幕:最低分辨率176×208像素;至少16灰度级的显示。
对Qtopia平台进行定制
定制意味着的手机制造商为了准备在便携设备上安装软件所能针对Qtopia进行的改变。针对特定设备对Qtopia进行定制需要进行的大多数改变都集中中少数一些文章上。
1. 电话主题(Phone Themes)。Qtopia包含一个主题引擎,可用于定制用户界面。用户界面的外观可进行个性化设置,包括颜色、字体、主屏名称和文本框、图标和窗口样式等。针对这些内容的改变将对除媒体播放器(Media)之外的所有应用程序都会带来影响。
2. 启动程序(Launcher)。这里的Launcher包含有两个层面:后端(Qtopia Phone版本)和用户界面。后端启动程序提供诸如同步、保持文档列表、监视卡插入、管理输入法和启动应用程序等功能。用户界面层的启动程序则帮助控制电话用户界面个性特征,如Qtopia Phone的启动程序控制主屏幕、主菜单和显示应用程序。
3. 本地化设置(Localization)。Qtopia在内部使用Unicode编码,使其容易针对不同市场进行本地化设置。针对翻译后与原文长短不一的文本,其布局引擎会自动调整按钮和图标的大小。Qtopia支
4. 电源管理。Qtopia的电源管理功能通过Qt embedded来执行。Qtopia支持多种级别的关断模式,如On、Light Dim、Light Off和Suspend。此外,通过增加一些代码也可以增加新的级别的关断模式。Qtopia也可以调用特定平台功能来设置“dimming”的照亮级别和关掉灯。
5. 内存管理。Qtopia的内存管理功能被分为两部分,分别可通过QPE_HAVE_MEMALERTER和QPE_MEMALERTER_IMPL控制。前者依赖于后者,可以提醒用户便携设备运行时内存容量是否过低。后者应该定义是否提供定制的内存提醒功能。内存提醒功能应该返回五种不同的内存状态,包括MemUnknown、MemNormal、MemLow、MemVeryLow和MemCritical。
6. MMS客户端。Qtopia Phone在消息客户端提供MMS功能。Qtopia的MMS客户端并不包含WAP堆栈,相反,它提供一个允许集成任何WAP堆栈的接口。
7. GSM模块集成。由于应用GSM规范因不同GSM模块而异,因此,很可能就需要修改$QPEDIR/src/libraries/qtopiaphone。为了简化修改过程,大多数特定模块代码都放置在特定供应商的插件内,具体位置在$QPEDIR/src/plugins/phonevendors。Qtopia Phone会加载所安装的每个供应商的插件,并询问每个插件是否能够处理GSM调制解调器。
Qtopia平台的后续发展方向
未来移动电话平台会类似于今天的桌面电脑OS。用户会越来越清楚地知道移动电话如何工作及其用途。移动电话也将更加开放,具备通用API。在未来移动平台中,功能性(functionality)会更加重要,移动电话制造商会比以前更多地定制移动电话。由于开放式的理台更易于集成,奇趣科技的工作重点也将集中在这一领域。此外,奇趣将确保应用软件易于集成到所有平台。奇趣将会自己开发一些应用软件,并与关键合作伙伴合作,如Opera和Access,将应用软件进行集成,确保Qtopia电话平台稳定如常,安全,易于增加和集成应用软件。