转载:http://www.52rd.com/S_TXT/2010_3/TXT21155.HTM
手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多。
手机可分为智能手机开发和featherphone手机。开发平台可分为开放式平台和封闭式平台,开放式平台包括symbian、windowsmobile、linux、iPhone、Android、BlackBerry、j2me、brew等,支持手机应用程序通过OTA下载和安装;封闭式平台包括MTK、展讯、TI、飞利浦等。下面分别介绍。
1.Symbian:
Symbian平台为目前智能手机市场的老大,智能手机全球市场占70%以上,在欧洲和亚洲占绝对优势,只是在美国市场份额少得可怜,希望今年nokia在美国发力,赶上其它智能手机。根据UI风格的不同,Symbian分为s60和UIQ两个平台,其中nokia使用s60平台,索爱和moto采用UIQ平台。Symbian平台由于发展时间较长,又是市场老大,目前中文资料也较多,不像几年前刚接触时只有英文资料。以下书籍值得推荐:
《SYMBIANOS软件开发开发--应用C++开发智能手机应用程序入门》(其中UI部分为UIQ平台),
《Series60应用程序开发》(以s60平台为主,重点推荐)
《SymbianOSC++手机应用开发(第2卷)》
另外今年将出来一本有关uiq3.0的新书,值得期待。
关于symbian的开发网站和论坛:
诺基亚论坛:最好的symbian论坛,
http://discussion.forum.nokia.com/forum/forumdisplay.php?f=6,其中还有中文论坛。
UIQ官方论坛:http://developer.uiq.com/
Symbian公司中文论坛:http://developer.symbian.com/forum/forum.jspa?forumID=37
NewLC网站:http://www.newlc.com/
索爱uiq官方论坛:http://developer.sonyericsson.com/category.jspa?categoryID=3
索爱uiq中文论坛http://developer.sonyericsson.com/forum.jspa?forumID=133
2.windowsmobile:
智能手机全球市场中windowsmobile占12%左右市场份额。开发与windows平台类似,所以熟悉windows开发的能很快上手。目前没有较好的针对windowsmobile的书,经典书籍《Windows程序设计(第5版)》对于开发win32程序依然是最好的,经典的书就是牛啊!虽然pocketpc支持MFC,但smartphone不支持,所以为了更好的移植,用win32开发较好。由本书做基础,再参考windowsmobile的sdk以及示例代码,应该能很快上手。
关于windowsmobile的开发网站和论坛:
Windowsmobile中文社区:http://www.winbile.net/BBS/
Pocketpcforum:http://www.windowsmobiledn.com/forum/
微软官方网站:http://www.microsoft.com/windowsmobile/developers/default.mspx
3.linux:
智能手机全球市场中linux手机仅占可怜的4.4%市场份额。原来moto还出过不少linux手机,如A768、A1200、E680、E2、E6、V8等,07年8月份还信誓旦旦预测60%手机采用LinuxOS,但moto后来回购了UIQ的股份,又与微软合作,还加入了google的开放手机联盟,看来要抛弃自己的linux平台了。另外,moto的策略是linux+j2me的模式,虽然采用linuxos,但并不对外开放linux的sdk,只有和moto合作的厂家才能获得nativelinuxsdk,所以导致目前linux手机开发的资料和论坛较少。虽然有民间linux高手**了moto的linux的sdk,可以开发nativelinux的程序,但nativelinux的程序不能直接安装在moto的linux手机上,还必须安装一个插件,这对普通用户又是难以跨越的一个门槛。所以个人觉得nativelinux手机的开发将走向末路。大部分linux手机的ui开发都是基于QT,关于QT开发,可参考《C++GUIQt3编程》、《精通Qt4编程》,如果有moto官方的sdk,参考API文档以及一些示例代码,将可以较快上手,如果没有官方的sdk,那就要话很长时间hack了。目前没有很好的关于linux手机开发的论坛,个人推荐陈罡的博客http://www.cublog.cn/u/26691/,内有motoa1200开发随笔,对于熟悉和了解手机nativelinux开发有很大帮助。
4.MTK:
MTK最近几年异军突起,近70%的国产手机采用MTK的芯片和平台,黑手机更几乎是MTK的代名词。国内厂家只有夏新没有采用MTK的方案。MTK的模式名为“Turn-key”的全面解决方案,厂商采用了这个方案,只需要加一个手机外壳即可成品——这能大大降低了出货时间,一般厂家只修改界面、铃声以及增加一些应用软件。有关MTK平台的介绍,见环球企业家杂志的**“国产手机操纵者联发科的秘密”http://www.cnbeta.com/articles/45580.htm。
MTK是私有平台,目前没有书籍介绍MTK平台,所以只能从网上查找MTK的资料。以下资料大家可以从网上获得,对于了解MTK很有帮助:《mtk训练课程.pdf》、《MMIPlatformSourceCodeTraining.pdf》主要是MMI界面开发介绍、《MMIResource&CustomizationTool.pdf》MMI资源工具介绍。
最近,MTK平台MMI设计牛人FUGUI自己编写了一本有关mtk平台MMI开发的实例教程,书名为《MMI实例培训教程》(本书大家通过Google下载到),此书深入浅出,全面的介绍了MTK平台MMI开发的各个方面,通过本书,开发人员将能很快进入MTK平台开发领域,实为MTK平台MMI开发的圣经!MTK平台的操作系统为nucleus,有关nucleus的介绍网上有一篇**《Nucleus实时操作系统分析报告》。MTK平台主要用C语言开发,所以要熟悉MTK开发,首先必须熟悉掌握C语言,MTK的sdk与vc6集成,MMI的各控件和窗口之间通过回调函数实现通讯。
关于MTK的开发网站和论坛:
我爱研发网:http://www.52rd.com/上面几篇**和书籍都能从本网站找到。
手机研**坛:http://www.1mp.cc/bbs/index.asp
|