Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

S60入门基础

From Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台:
Symbian

文章
harrylister 在 26 Nov 2007 创建
最后由 hamishwillee 在 08 May 2013 编辑

Needs-update.png本文需要更新: 如果您发现这篇文章有用,请修复下面的问题,然后从文章中删除 {{ArticleNeedsUpdate}} 模板,以消除此警告。

原因: hamishwillee (10 May 2011)
This article was written in 2007. A lot has happened in that time - Carbide is quite a few revisions older an no longer branded using Express/Professional. The main development framework for Symbian is Qt, not Symbian C++.
In summary, while this was a good article a number of years ago, it needs a thorough update in order to be accurate now. Note, I have commented out references to Symbian Developer Network and developer.symbian.com as both of these are closed.

本文是一篇Symbian出版社/诺基亚论坛官方文档《Essential S60 - Developers' Guide》的非正式中文翻译版本。希望本文能够为广大中国的非移动开发者了解S60平台,加快入门速度带来帮助:)

S60-essential-fig0.png


Contents

S60平台介绍

自从2001年发布以来,S60平台已经成为世界最流行的智能手机开发平台。在2007年初,已经有6家授权手机制造商生产了超过一亿部基于S60平台的手机。第一部S60设备,Nokia 7650智能手机,体现了广泛的特性,包括个人信息管理(PIM)、浏览器、图片和音乐功能。随着技术不断地成熟,包含有高分辨率照相机、功能完整的Web浏览器、立体声音乐、地图和VoIP电话等的手机已经上市,并且这还只是一小部分功能。S60手机的范围已经扩大,为消费者、企业及其它特定市场提供了各种不同样式的选择。

图1 各式各样的S60手机

S60平台之所以能够成功的原因之一是它能使用户通过安装第三方应用程序和内容的方式往其自有的手机内添加特性。首先,这个平台支持由Java语言和纯Symbian C++程序语言编写的第三方应用程序。随着平台的扩展,越来越多的开发选择变得可用。应用程序开发者现在可以从Symbian C++Open C,Java Micro Edition(Java ME), PythonAdobeFlash LiteWeb运行时环境及可缩放矢量图形(Scalable Vector Graphics Tiny,SVG-T)技术之间任意选择。同时,Web内容开发者已被标准Web技术比如HTML, 动态级联表(CSS), JavaScript, 异步JavaScript和XML(AJAX), Flash LiteSVG-T,来使得S60手机可以浏览所有网页。该文档首先对S60系列精髓来说是一个选择开发S60应用程序的指南。它的目的是帮助开发者选择最合适的开发方式和特定的应用程序语言。该文档概括了各种开发技术的主要特性,描述了有助于开发的可用工具,并提供了何处能找到有用信息的向导。

当到随后开始手机应用程序开发时,编写代码和使之能够运行只是一部分工作。测试是很重要的步骤,它确保应用程序能可靠地完成程序自身本应具备的功能。该文档提供了来自诺基亚论坛(中文, 英文)的可用测试工具及应用程序测试领域(Symbian SignedJava Verified)的介绍。

因为我们的目标是获取应用程序和安装内容并将其应用在S60手机上,该文档包括了展望如何将应用程序带入市场的过程。它也为可应用程序提供了指导来帮助开发者获取技术和商业支持以发展他们的手机软件业务。

版本和功能包

随着移动技术的进步,Symbian OSS60平台正在不断与时俱进地发展、添加新的特性和功能。为了帮助开发者了解S60平台不同发布版本的特性,我们使用了术语“版本(Edition)”和“功能包(Feature Pack)”表达不同的概念。版本指发布版本之间更新时增加的东西,它们大都和Symbian OS上的版本改动相关。功能包指示出版本内更新时增加的东西,通常包括新的C++ API和其他一些功能附件、其它开发技术的改进及S60 UI的改进。表格1提供了S60版本和功能包的概述。

S60各个版本和功能包的信息详解
S60平台 Symbian OS C++ Open C Java ME Python Flash Lite SVG-T Web 2.0 Web运行时环境 首款机型
S60第一版 v6.1 MIDP 1.0 插件 Nokia 7650
S60第二版 v7.0s MIDP 2.0 插件 Nokia 6600
S60第二版,功能包1 v7.0s MIDP 2.0 插件 Nokia 6620
S60第二版,功能包2 v8.0a MIDP 2.0 插件 Nokia 6630
S60第二版,功能包3 v8.1a MIDP 2.0 插件 1.1(部分地) Nokia N90
S60第三版 v9.1 插件 MIDP 2.0 插件 1.1 1.1 Nokia N91
S60第三版,功能包1 v9.2 插件 MIDP 2.0 插件 2.0 1.1 Nokia N95
S60第三版,功能包2 v9.3 内置 MIDP 2.1 插件 2.1 1.1 严重期待

表1:S60各个版本和功能包支持的开发技术和Symbian版本熟悉S60版本和功能包是理解哪个手机可以运行已有应用程序的关键。

一般说来,使用由特定版本和功能包提供的API编写的应用程序将可以在同样版本和功能包的S60平台手机上运行。例如,一个为Nokia N93多媒体手机开发的应用程序,它基于S60第三版,应该能够在所有基于第三版的手机上运行,比如同样为S60第三版FP1的Nokia N95多媒体手机。目前已发布不少于50款S60手机,所有的型号列表都列在S60网站

相关的详述和S60平台信息请查阅诺基亚论坛设备规范部分。

C/C++

Symbian OS的原生开发语言是Symbian C++,它提供了访问S60平台的最强大而完整的功能。作为补充,自从2007年初,Open C技术作为一个开发平台也被引入。Open C技术旨在完成一些使用C语言开发的桌面应用程序引擎部分到Symbian OS的过渡,使得桌面应用开发者可以很快适应S60平台的开发。

Symbian C++

Symbian C++应用程序开发给开发者提供了利用S60平台全部优势的最大灵活性。C++被用来完成S60平台的UI和附加中间件API的开发。通过使用Symbian C++,开发者可任意使用S60平台的公共API。这意为着,第三方应用程序同样可以提供象S60手机中内置的应用程序一样丰富的功能。

Symbian C++开发需要S60平台SDK,每个S60平台SDK包含Symbian和S60 API函数库、命令行开发工具、详尽的文档、一系列应用程序范例和手机模拟器。手机模拟器是应用程序开发里重要的组件,因为当使用WINSCW编译器和Carbide.c++进行交互连接时,它允许应用程序的测试过程在PC上进行。模拟器允许开发者像在真机上一样运行其应用程序,提供诸如模拟呼叫、网络连接、UI方案的整体模拟及定位、声音甚至模拟本地化等功能。使用模拟器,开发者可在其PC上完成他们大部分的开发,这将加快开发周期。

图2 S60 Symbian OS C++ SDK中的模拟器运行截图

S60平台的新版本里,S60手机模拟器允许在新设备可用之前就可进行应用程序的开发:不同的S60版本和功能包的SDK通常在其手机发布前就已发布。

S60 SDKs可从Nokia Developer网站的工具和SDKs部分下载。

一个集成开发环境(IDE)可帮助加速应用程序开发进度。为此,Nokia为Symbian C++开发提供了名为“Carbide.c++”IDECarbide.c++ 有四个版本:

  •   Carbide.c++ Express. 该Carbide.c++ IDE的免费版本可用来进行任何类型的开发,包括商业应用程序。它包含所有的工具用来编码、生产、打包、测试和debug应用程序。测试功能是通过S60手机模拟起用来完成的。
  •   Carbide.c++ Developer Edition. 这是Carbide.c++ IDE三个商业版之一。除了Carbide.c++ Express版本的特性之外,它还提供了用于真机debug和可视化S60 UI设计器的工具。
  •   Carbide.c++_Professional Edition. 除了Carbide.c++ Developer Edition的特性之外,该版本包含其它执行工具,包括更多真机debug工具和能够检查应用程序CPU、内存及电量使用的性能分析器。
  •   Carbide.c++ OEM Edition. 该版本是为手机制造商设计的,包括能够和开发板及生产前硬件一起运行的工具。
图3 Carbide.C++的运行截图(点击放大)

更多信息和 Carbide.c++ Express 及其它改进版的免费下载链接可从Nokia Developer网站的Carbide.c++部分获得。

喜欢使用命令行的开发者也能通过使用 Carbide.c++ Express 版本和S60 SDK提供的工具进行命令行操作。

新的Symbian C++开发者需要学习很多概念。每个C++开发者都应该掌握S60、Symbian API中创建应用程序UI和进入操作系统及平台特性的知识。

S60 UI借助其平台特性为用户提供了简单有效的人机操作界面。用户通过标准手机键盘或全键盘和UI进行交互,这两种键盘都由两个软键组成,一个导航键一个选择键,电话功能键,菜单键,笔形键和清除键。UI同时也提供多语言支持,而且其API被设计为具有通过使用资源文件就可被应用程序灵活本地化的特性,这样增添本地化特性甚至并不需要重新编译源代码的过程。

Nokia Developer发布的两篇文档:S60 UI Style GuideS60 3rd Edition FP2: UI Style Guide详细介绍了有关S60 UI风格的内容。这些文档也可在Nokia Developer网站的文档部分找到。

为了高效地使用Symbian OS或S60 API,C++开发者必须掌握新的C++编码规范。Symbian C++开发的程序是用于运行在手机上的,这一环境的特点是:有限的内存、有限的进程力及手机能够在不重起的状态下运行数周甚至数月。例如,任何函数的trap-harness机制可被退出以防止在创建对象时的内存泄漏,该对象可能由于内存资源不足而失败。然而Symbian C++采用的方式和其它许多C++语言不同,关于这点需要阅读很多文档和培训资料,以此来以帮助开发者更进一步掌握这项技术。

对于新的Symbian C++开发者来说, Nokia Developer提供了很多可用资源。我们最好从开发者资料库(Developer Library)开始, 这里提供了有关S60 C++应用程序的全部资料。该资料库可直接在浏览器中浏览(进入资料库),也可以将其下载后作为单机程序运行或是嵌入Carbide.c++作为在线帮助。另外Nokia Developer网站文档部分的提供了阐释S60 API用法的文档和范例源代码。

许多开发项目是由将应用程序定位在单一手机或是单一版本和功能包开始的,但请注意:S60平台使开发者可以编写能在多部手机及多种版本和功能包上运行的软件。《S60平台文档:在主打机型和特定设备之间开发应用程序》就为创建多对象应用程序提供了极佳的方案。更多信息仍然请您访问,Nokia Developer网站的文档部分


对于Nokia Developer,它提供了一系列相关的培训机会,包括使用eLearning部分的自修教材中文多媒体自学教程,以及由全球的认证培训中心提供的课堂培训。详情可查阅 Nokia Developer网站的培训部分。

标准 C

Symbian C++作为一个非常理想的选择适用于资源有限的移动手机的应用程序开发的同时,手机的计算能力也在S60平台发布之后得到了突飞猛进的发展。这些硬件的改进使桌面环境开发者非常熟悉的标准C技术融入S60平台。

Open C提供了来自9大注明的标准POSIX和C语言中间件的一系列函数库,他们是:libc,libdl, libpthread, libm, libz, libcrypt, libcrypto, libglib和libssl。 开发者可使用Open C很轻易地把桌面或服务应用程序移植到S60手机上。Open CP.I.P.S.的一种扩展,代替P.I.P.S的是Symbian OS中的POSIX。更多有关P.I.P.S.的详细内容

Open C的设计特点决定了它是用来帮助开发者创建中间件或应用程序引擎;Open C不提供基于C的UI组件。所以尽管Open C能够使桌面开发者把他们的应用程序引入S60而不需要学习如何如何使用Symbian C++或S60 API,然而S60手机UI应用程序的开发需使用另一套S60开发语言。于是开发者有两个选择:他们要么可以使用Symbian C++要么使用Python里的UI元素来实现S60的UI开发。一般来说,Python对原型或开发初期阶段而言是很好的选择,而在应用程序即将发布的最后阶段建议使用Symbian C++。这其中的主要原因是用Symbian C++编写的S60 UI运行时无需任何附加软件,而Python UI却需要在对象手机上安装Python解译器。用一个应用程序安装Python解译器并不复杂,所以对很多应用程序来说它也是很好的选择。

Open C已被成功地用于大量项目源代码到S60平台的移植,包括FTP客户端和SQLite。

更多内容可查阅Nokia Developer网站的Open C部分。Open C页面上的文档链接提供了有关Open C开发的几个范例。其中最有趣的范例是“Open C:短信加密范例(使用Python作为用户界面) v1.1”,它阐述了S60 C++ UI和基于Python的UI都使用Open C的方法。

  Open CS60第三版功能包2上已经成为一个标准内置技术,它也可作为S60第三版和S60第三版,功能包1的插件存在。

  Carbide.c++目前已支持所有的Open C的开发。

Java 开发

  自从S60平台发布以来,Java ME开发就一直是其重要的特性。和Symbian C++相比,Java MIDP为开发者提供了轻便的操作环境,它允许应用程序不仅仅只为S60适用,而且可在来自各个不同手机制造商的Java手机上运行,特别是Nokia的Series 40手机也适用。然而这个轻便性是有代价的:和Symbian C++相比,它对使用S60平台有严格的限制。即使并非所有的S60手机都能使用Java环境,但S60上Java API的应用还是相当广泛的。对平台开发来说,Java能够达到的很多特性是可以和Symbian C++相媲美的。在S60第三版,功能包2手机上所支持的Java规范标准(Java Specification Requests,JSR)和附加的API如下:

  • J2ME PDA扩展包(JSR-75),该规范提供了文件系统和个人信息管理(PIM)功能,允许数据的本地存储及使用S60日历和名片夹应用程序的内容。
  • 蓝牙OBEX(JSR-82)支持的Java API, 可让用户使用蓝牙通信。
  • 无线消息API(JSR-120),允许发送和接收短消息(SMS)。
  • 移动多媒体API(JSR-135), 可使用并控制声言和多媒体资源。
  • J2ME Web服务规范(JSR-172)API,使Java应用程序能够解析XML文件并和周边Web服务交互。
  • J2ME 安全和信任服务API(JSR-177),包括Crypto和PKI包,通过附加的密码API、数字签名服务和用户认证管理扩展了Java ME技术的安全性。
  • J2ME 位置API(JSR-179),提供了确定手机(来自内部或外部的全球定位系统GPS)当前位置以及获取标志信息的方法。
  • J2ME SIP API(JSR-180),允许使用会话发起协议(SIP)服务来发送和接收SIP消息。
  • J2ME 移动3D图形API(JSR-184),提供达到交互内容要求的帧速率的3D图形功能。它包括3D场景管理和动画的设备,以及有关3D内容的高效空中下载(OTA)部署配置的文件格式。
  • 无线消息API 2.0 (JSR-205),允许发送和接收包含照片、语音及文本的多媒体信息(MMS)。
  • J2ME 可缩放2D矢量图形API(JSR-226),提供由应用程序生成的大小可变的2D矢量图片,包括W3C SVG-Tiny 1.1格式的外部图像。该API对地图可视化、可扩展图标及需要可缩放图形的应用程序、丰富的动画图形来说是很有用的。
  • 高级多媒体支持(JSR-234),允许Java应用程序使用手机的FM收音机调频及操作音乐和3D音响。
  • Nokia UI API,为过去MIDP 2.0出现之前提供的UI特性增强的API,目前仅作为确保应用程序兼容性之用。

Java开发的好处之一是它通过大量的手机向可执行应用程序提供了路径选择。同时,当目标应用程序被大范围支持时,我们需格外注意。S60平台为Java应用程序提供了更多资源,另外S60手机有着比其它手机更大的显示屏。所以,如果应用程序需要在尽可能大的手机范围内推广,我们的开发需要定位在资源最受限的手机上。相比在功能特性很弱的手机上最佳化一个具有S60全部特性的Java应用程序来说,在S60平台上利用其附加特性的优势来扩展应用程序的特性是比较容易的。S60平台上的Java开发由SDK支持。每个SDK包括S60平台Java API、有用的文档、一系列范例应用程序代码及手机模拟器。因为使用C++开发,手机模拟器支持PC测试。

这里要为S60 Java应用程序开发推荐两个IDENetBeansEclipse.特别为MIDP开发设计的插件在两个IDE上都有很好的例子。对NetBeans来说, NetBeans Mobility Pack可以被整合在IDE内。更多详情可查阅NetBeans网站。对于Eclipse, 提供Java ME支持的插件是EclipseME。更多相关信息可查阅EclipseEclipseME网站。

对于移动应用程序开发或S60平台新的Java开发者来说,Nokia Developer提供了一些相关资源。Nokia Developer的Java资料可查阅Nokia Developer网站的Java部分。感兴趣的开发者也可查阅[www.forum.nokia.com/main/resources/technologies/java/documentation/Java_ME_developers_library.htm Java ME开发者资料库], 它可在线阅读,作为一个单机帮助系统或作为Eclipse在线帮助组件。该库为手机Java应用程序的开发提供了全面阐述。

Python

基于S60Python(也称作PyS60)为开发者提供了C/C++和Java之外的一个十分可行的选择。Python是一种动态的面向对象的程序语言,它使用更接近自然语言的关键字,有很强的可读性。它也被看作是简单易学的语言,提供给那些只有不多开发背景的开发者,拥有较短的学习周期。

S60Python提供了Python标准库和S60平台之间的紧密整合。这种整合给开发者使用S60特性提供了更高级的方法,包括大多数UI组件和大量平台功能函数。S60Python开发者所能使用的特性有,S60联系人和日历数据、声音录制和重放、手机摄像机、系统信息(包括国际移动设备识别码IMEI)、语音呼叫、通用分组无线业务(GPRS)、蓝牙网络支持及短消息(SMS)发送。S60Python也是可扩展的,允许通过C++模块添加新的特性。与其它开发语音编写的应用程序不同,S60Python应用程序可在S60手机以及PC上直接开发。这个优势源于Python是一种解释语言而不是编译语言。基于手机和基于PC上的Python开发最显著的唯一区别就是基于PC的开发需要用工具来把应用程序打包到一个单机安装包。

基于手机的开发要求有对象手机设备的版本和功能包对应的正确的手机安装包。该安装包含有Python解释器,Python标准库,一个用于启动Python脚本的外壳脚本,一系列完整的原生扩展量和一个用于开发的交互性Python控制台。

图4 在手机上开发Python程序

为了能在PC上开发S60平台的Python应用程序,开发者需要为他们将要开发的对象安装合适的S60 SDK。每个S60 SDK上都要添加一个S60 SDK的Python插件;每个SDK都有其各自的Python插件,该插件包含了完整的文档和范例代码。

因为S60Python是一个开源项目,它由SourceForge网站提供页面维护,最新的SDK插件,手机上运行的解释器及外壳程序,都可以从这里下载。关于S60Python 开发方面有两个有用的信息资源:他们是诺基亚开源技术项目社区维基PySymbian一文 和Nokia Developer网站的 Nokia Developer Guests 博客。Symbian Press也于2007年10月最新出版了有关该主题的书籍:Mobile Python – Rapid Prototyping of Applications on the Mobile Platform,作者:Jurgen Scheible。

  译者注:对中文开发者来说,如果您想了解S60Python平台,《在S60 3rd Edition 上的PySymbian 简介》这篇文章可以说是必读篇目。

Flash Lite

Adobe公司开发的Flash已成为Web上传送丰富的互动图形的实质标准。在S60平台第三版以后的版本中Flash Lite的可用性允许Flash的开发者将他们的Web开发技术运用于手机开发领域。

到目前我们所讨论的开发技术候选来看,Flash Lite提供了S60平台上最少特性的交互能力。对诸如语音呼叫、发送短信或多媒体彩信等特性这种交互性存在很大局限。然而Flash Lite包括和周边服务进行数据交换的能力,支持内容的动态更新。应用程序数据也能被存储在手机里,能够保存游戏的状态或输入数据。这些功能使开发者能够创建有丰富性能的应用程序。

图5 Flash Lite开发截图,图片来源:路透社和ShopQwik公司

Flash Lite的开发通常由Adobe Flash CS3 Professional来完成。早期的版本,比如 Adobe Flash Professional 8,在安装过合适内容开发插件以后仍可拿来使用。Flash Lite应用程序可在Adobe的模拟器或S60手机上测试。

更多S60平台的Flash Lite信息可查阅Adobe网站的Adobe MobileDevices Developer Center部分。

除了为开发者提供创建交互应用程序的功能之外,Flash Lite也能被用来开发S60的动画屏幕保护。

SVGT

可缩放矢量图形(SVG)是基于XML语言的,由万维网委员会(www.w3c.org)指定的一种技术规范。SVG-Tiny制定的开放的可缩放矢量图形标准是一系列被用来完成智能手机矢量图形的全面规范。S60平台支持由S60第三版全面支持了SVGT 1.1版本。

SVG-T和目前为止所讨论的开发技术不同。它不包括开发或脚本功能也不提供和S60平台特性的交互性。然而,SVGT在以下两个方面非常有用。首先,它能被用来创建表现力需求较强的内容,这样的内容和为Web或Flash Lite而开发的内容相似。其次,SVGT内容可被用于Symbian C++Java应用程序来创建UI元素,它可以大大地提高更丰富图形界面的创建效率。除此之外,在S60第三版手机上,SVGT可被用来创建手机主题模式,另外动画SVGT可用来作为屏幕保护使用。

Symbian C++应用程序里载入SVGT图片需要使用LoadAndScaleIconL()。Java应用程序里可通过JSR-226实现。除此之外NetBeans Mobility Pack提供了能够简化在不同接口组件里SVGT使用的工具,比如菜单和图标。

用于创建SVG图形的工具有很多,有开源程序也有商业软件。Adobe Illustrator (www.adobe.com)或Inkscape (www.inkscape.org)都可用来创建静态SVG,但是它们都需要使用SVG到SVG-Tiny的转换工具(由相应版本的S60 SDK提供)来创建SVG-Tiny文件。

更多关于在S60平台上使用SVGT的信息请参阅S60平台的文档:Introduction to SVG-T Graphics,在Nokia Developer网站的Documents部分可以找到它。

浏览器

在引入S60第三版之前,S60平台仅仅使用了支持WMLXHTML标记语言开发的网页,它很大程度上限制了用户对大部分互联网网站的浏览。随着S60第三版的引入,该平台获得了一个与桌面浏览器全面兼容的Web浏览器,即S60 Web浏览器。在WebKit 开源项目的基础上,该S60 Web浏览器使用了来自WebCore组件的KHTML渲染引擎和KWQ适配层,来自JavaScriptCore组件的KJS JavaScript引擎。此外S60 Web浏览器还包括一个来自Netscape公司的的Netscape插件API。

Web网站

S60 Web浏览器简化了为手机可浏览的网站的创建,因为它支持和普通PC上浏览的网站一样的技术。它支持HTML, CSS, JavaScriptAJAX。Web页面里内嵌的Flash LiteSVGT 1.1内容也是由S60 Web浏览器所支持的。

尽管S60 Web浏览器能够渲染标准的Web页面,但S60智能手机的屏幕尺寸要比桌面浏览器小得多。为了能够使S60手机上的Web页面达到流畅的效果,提高可用性,S60 Web浏览器提供了大量页面导航和利于小屏幕浏览的技术以优化手机Web浏览体验。这些技术包括:在浏览多个网页的时候生成所有页面的缩略图,并显示微缩的导航示意图供用户在页面间切换; 将网页文本内容自动折行显示,以适应手机屏幕宽度,以此提高网页的可读性。

S60-essential-fig6.png

  由于移动手机的Web浏览已变得十分普遍,为用户提供最优化页面正变得日趋重要。这些优化包括简单的技术,比如确保网页导航键是在页面的左上角开始的,以及把页面移到更小屏幕的优化。Nokia Developer提供了一些资源以帮助Web开发者为其移动浏览优化网页;在Nokia Developer网站的Browser and Widgets部分能找到这些内容。

Web运行时环境

对于S60第三版功能包2,Web开发者可以有一个额外的选择来开发Web内容——Web widget

Web widget是使用标准Web技术创建的小型应用程序,比如HTML, CSS, JavaScriptAJAX——它们被用来创建Web页面。在S60第三版功能包2手机上,Web widget运行的时候使用的是S60 Category:Symbian Web Runtime,即Web运行时环境。WRT基于WebKit开源Web浏览器引擎——和创建S60 Web浏览器使用相同的技术。

S60-essential-fig7.png

Web widget被打包为ZIP文件来发布,使用*.wgz扩展。S60手机用户下载并安装Web widget后,就象使用其他S60应用程序一样使用Web widget了。通过安装widgetS60手机用户可将其Web内容个性化定制,并简化访问Web内容和服务的过程。

更多有关widget和WRT的内容可查阅Nokia Developer网站的Browser和Widgets部分。

测试

这篇文档所讨论的许多工具都有助于应用程序测试:例如,S60 SDK提供的模拟器支持C++, Open C, Java, Python应用程序测试,你还可以在PC上进行Web网页测试。尽管这些工具很大程度上减少了对大量S60测试机型的需求,但开发者经常会希望能够在更广泛的手机上测试他们的应用程序。对这些开发者来说,Nokia Developer提供了远程设备接入(RDA)服务。RDA能够使开发者在互联网上使用S60手机进行测试工作。通过Nokia Developer的远程设备接入会话进程,注册使用手机设备,而且能使用最长达3小时的测试过程。登录RDA后,开发者可以向(远程)测试手机上传测试程序,附加的资源文件或者数据文件。因为RDA使开发者与真实手机连接,被运行在测试手机上的任何软件的多数特性都能被测试,我们也能看到Symbian panic详细内容和记录了debug信息的debug log文件。RDA同时也具有一些局限性:不能语音呼叫,只有基于WLAN的互联网连接,应用程序没有UI元素,比如没有声音或手机震动。更多有关RDA的信息可查阅Nokia Developer网站的RDA部分。

图8 在RDA中连接一个E90真实手机进行远程测试

除了内部测试,还有两个为应用程序提供更高级的业内认证计划:Symbian SignedJava Verified.

任何能发布、安装的SIS文件的应用程序或内容项模块都适用于Symbian Signed项目。它包括Symbian C++, Open C, Python以及Flash Lite应用程序,甚至包括诸如UI主题的内容包。Symbian Signed在某些情环下是发布S60第三版应用程序的必备条件,比如那些需要使用手机特殊能力的应用程序。然而,即使应用程序并不需要它,基于一些因素,Symbian Signed也是应该考虑的。用户更愿意安装获得了Symbian Signed的应用程序,因为它不会弹出一个消息框,上面写着应用程序不被信任。经过签名的应用程序也能被更好的保护,减低了非法访问发生的可能性。此外,Symbian Signed应用程序比其它应用程序被更多的销售渠道所接收:大多数服务和销售渠道要求S60应用程序在进入销售环节之前进行Symbian Signed。对Java ME应用程序来说,开发者可使用Java Verified项目。和Symbian Signed相似,Java Verified项目会对应用程序进行一系列业内核定的质量测试,并进行认证,以此以给消费者、服务商和手机制造商提供更多一些安全保证。一些销售渠道也会把Java Verified作为一个提交应用程序的前提。

更多有关S60应用程序、内容和服务测试的内容请访问Nokia Developer网站的Application Testing部分。

进入市场

大多数开发项目的目标是把最终的应用程序分配给尽可能多的用户。幸运的是,S60应用程序有很多对开发者来说很好的分配渠道。最简单的进入渠道的应用是基于互联网的应用程序。比如Handango给开发者提供了自助服务机制:开发者创建帐户之后,就可将应用程序直接放在网站目录里。服务商和制造商渠道也为应用程序提供好的销路,但这些渠道都趋于在 严格的审核进行以后才发布应用程序。

更多有关进入市场渠道的信息可从Nokia Developer网站的Distribute部分找到。

获取更多帮助

Nokia Developer网站www.forum.nokia.com为开发者提供了充分的技术资源以帮助他们能有更多的机会开始S60平台的开发。S60平台经验丰富的开发者以及诺基亚论坛的技术专家,会一起在Nokia Developer开发者讨论区(discussion.forum.nokia.com)和Nokia Developer Wiki(维基文库, wiki.forum.nokia.com)积极加入到支持新进的开发者的队伍中来。

对于需要亟待解决的问题,或者在讨论区以及维基中无法解决的技术难点,Nokia提供付费的专业技术支持服务。开发者可根据自身情况来购买一个案例的技术支持,或一次五个案例技术支持的打包服务,技术支持包年服务对于使用频繁的开发者来说也是一个不错的选择。对于手机应用程序开发整个过程的支持来说,Nokia Developer技术咨询(Technical Consultancy)服务就非常适合于项目各个层次各个时期的开发。更多有关专业支持的信息,请访问Nokia Developer网站的Technical Services部分。

Nokia Developer技术支持同样也为开发者提供了充分利用S60合作伙伴API项目的机会。该项目支持开发者在个别特定的S60手机上使用非全平台的API。要申请一个API,开发者需从Nokia Developer e-store里购买一个S60_API_Partnering_Program然后提交一个有关该API的详细技术支持信息申请。

Nokia Developer为开发者提供了一个名为Launchpad的项目,它包括可以出席Nokia活动、在业内会议上使用Nokia展位、在Nokia公司内部发布开发者公司资料以及将产品发布直内嵌于应用程序目录。

对更高级的开发者来说,Nokia Developer PRO项目为他们提供了更进一步的技术支持和更有利的市场帮助。

更多有关LaunchpadNokia Developer PRO项目的详情可在Nokia Developer网站上找到。

Symbian公司也为开发者提供S60平台的开发信息。比如文档(包括诸如本文的小册子),论坛,文档和wiki,不过它主要侧重于Symbian OS的开发,详情请访问

小结

S60平台为开发者提供了创建移动应用程序的业内领先的选择。在S60平台下,Symbian C++, Open C, Java, Python, SVGT, Web widget以及S60 Web浏览器都给开发者提供了机会,使其能在开发项目的复杂性和使用S60平台的特性之间找到最合适的平衡点。

一旦开发者做出了选择,Nokia Developer将提供他们所需的技术资源,以使他们完全理解和掌握这些开发技术。S60平台将继续发展,为用户提供卓越的智能手机以,为开发者提供为这些手机开发应用程序所需的卓越的工具。我们相信在不久的将来,开发者将有更多机会来发展卓有成效的移动应用程序行业。

FIN

Harrylister.jpg
Author: harrylister (harrylister_at_gmail_dot_com)

You can share this article under Attribution-Share Alike 3.0 Unported

This page was last modified on 8 May 2013, at 00:03.
904 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×