S60入门基础

上一篇 / 下一篇  2009-11-18 13:22:00 / 个人分类:VoIP相关知识

S60入门基础

From Forum Nokia Wiki

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

S60平台介绍

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

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

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

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

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

S60各个版本和功能包的信息详解
S60平台Symbian OSC++Open CJava MEPythonFlash LiteSVG-TWeb 2.0Web运行时环境首款机型
S60第一版v6.1MIDP 1.0插件Nokia 7650
S60第二版v7.0sMIDP 2.0插件Nokia 6600
S60第二版,功能包1v7.0sMIDP 2.0插件Nokia 6620
S60第二版,功能包2v8.0aMIDP 2.0插件Nokia 6630
S60第二版,功能包3v8.1aMIDP 2.0插件1.1(部分地)Nokia N90
S60第三版v9.1插件MIDP 2.0插件1.11.1Nokia N91
S60第三版,功能包1v9.2插件MIDP 2.0插件2.01.1Nokia N95
S60第三版,功能包2v9.3内置MIDP 2.1插件2.11.1严重期待

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

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

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

浏览器

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

Web网站

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

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

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

Web运行时环境

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

  Web widget是使用标准Web技术创建的小型应用程序,比如HTML, CSS, JavaScript和AJAX——它们被用来创建Web页面。在S60第三版功能包2手机上,Web widget运行的时候使用的是S60 Web Run-Time(WRT),即Web运行时环境。WRT基于WebKit开源Web浏览器引擎——和创建S60 Web浏览器使用相同的技术。 
  Web widget被打包为ZIP文件来发布,使用*.wgz扩展。S60手机用户下载并安装Web widget后,就象使用其他S60应用程序一样使用Web widget了。通过安装widget,S60手机用户可将其Web内容个性化定制,并简化访问Web内容和服务的过程。

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

测试

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

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

  除了内部测试,还有两个为应用程序提供更高级的业内认证计划:Symbian Signed和Java 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应用程序、内容和服务测试的内容请访问Forum Nokia网站的Application Testing部分。

进入市场

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

  对内容项和应用程序分配来说一个新的有趣的选择是Mosh。Mosh是一个用于发布移动用户内容的社区性质的渠道,它允许任何内容类型的开发者,将其分配到全球市场。因为Mosh是一个社区网络,它允许开发者很容易地使用更大规模市场和世界范围内的更好的用户社区。更多信息请访问MOSH网站.

  更多有关进入市场渠道的信息可从Forum Nokia网站的Go to Market部分找到。

获取更多帮助

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

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

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

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

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

  更多有关Launchpad和Forum Nokia PRO项目的详情可在Forum Nokia网站上找到。

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

小结

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

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

TAG:

 

评分:0

我来说两句

Open Toolbar