手机开发平台汇总

手机开发平台汇总手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多。  手机可分为智能手机开发和featherphone手机。开发平台可分为开放式平台和封闭式平台,开放式平台包括symbian、windowsmobile、linux、iPhone、Android、BlackBe

大家好,又见面了,我是你们的朋友全栈君。 手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多。

  手机可分为智能手机开发和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

  
5.展讯:

  展讯平台07年也发展很快,利用MTK下半年PA放大器缺货的机会,趁势而入,抢走mtk很多市场份额。展讯的开发模式和MTK的很类似,基本也是给厂家提供整体解决方案,与MTK的差别见此链接http://www.chinabyte.com/telecom/267/2507267.shtml。国内主要是夏新、联想、文泰等采用展讯平台。展讯平台采用的嵌入式操作系统是threadx,关于threadx的有一本中文书《嵌入式实时操作系统的多线程计算:基于ThreadX和ARM》。同MTK平台一样,为封闭平台,开发语言为C,开发环境为vc6,MMI的各控件和窗口之间与windows类似通过消息进制实现通讯。另外也没有书籍介绍展讯平台,以下资料值得推荐:

  《Spreadtrum_SAP.ppt》

  《MMK_Kernel软件API接口说明书.doc》

  《MMK_Window_Table开发说明书.doc》

  《展讯平台MMI窗口开发说明书.pdf》

  《展讯手机平台软件简介.pdf》

  关于展讯的开发网站和论坛:

  我爱研发网:http://www.52rd.com/上面几篇文章都能从本网站找到。

  手机研发论坛:http://www.1mp.cc/bbs/index.asp

  
6.J2ME:

  J2ME平台为手机上运用最广泛的开放式平台,绝大部分手机均已经支持J2ME了。关于J2ME的书籍数不胜数,个人推荐以下书籍:

  《j2me技术手册》

  《J2ME开发大全》

  《J2ME移动应用程序开发》

  关于J2ME的开发网站和论坛:

  J2ME开发网:http://www.j2medev.com/Index.html

  中国Java手机网:http://www.cnjm.net/

  以及各手机厂商的官方java论坛

  
7.Brew


  Brew的全称是无线二进制运行时环境。Brew平台是高通公司开发的,从无线应用程序开发、设备配置、应用程序分发以及计费和支付的完整端到端解决方案中的无线应用程序开发部分。目前绝大部分CDMA手机都支持Brew平台。学习Brew平台,首先需要熟悉c语言。学习步骤和方法可参考”BREW高手之路-解析BREW学习过程”。

  学习书籍:

  《深入BREW手机游戏开发》

  《BREW 技术开发与应用》

  这些书虽然不够深入,但对于入门还是可以参考的。

  关于Brew的开发网站和论坛:

  Brew官方论坛:http://brewforums.qualcomm.com/index.php

  
8. iPhone

  Windows平台iPhone开发环境搭建方法见笔者的文章《Windows平台上iPhone基于cygwin开发环境的搭建方法》

  http://canco.javaeye.com/admin/blogs/199106

  开发入门介绍见笔者的文章《iPhone手机开发平台入门介绍和教程》

  http://canco.javaeye.com/admin/blogs/199144

  
9. Blackberry,Android

  黑莓公司BlackBerry手机和Google的Android手机均只支持java开发。BlackBerry的开发网站和论坛:

  BlackBerry开发者指南:http://www.cnblogs.com/confach/category/36451.htmlBlackBerry官方网站:http://na.blackberry.com/eng/developers/community.jsphttp://bbs.maxpda.com/forum-184-1.html

  Android的开发网站和论坛:

  http://www.androiddev.net.cn/bbs/

  http://www.androidin.com/http://www.androidcn.net/

  http://bbs.maxpda.com/forum-190-1.html

  
10. 其它Feather phone平台

  其它feather phone平台,如TI、飞利浦、英飞凌(Infineon)、飞思卡尔(Freescale)、Broadcom、Skyworks等平台,由于平台私有,并且不提供第三方sdk,所以也没有相关资料和文档,希望有了解的朋友介绍一下。
(

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138700.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • pyquery库的使用

    pyquery库的使用pyquery的强大之处就在于它有强大的CSS选择器,要初始化一个pyquery对象,首先需要传入一个HTML文本,它的初始化方式有多种,比如传入字符串、URL、文件名等。字符串初始化:我们先来看一个例子:frompyqueryimportPyQueryaspq#引入PyQuery对象html=”’<divclass="global-nav-items"&…

    2022年5月27日
  • java 内部类 静态方法调用_内部类和静态内部类的调用「建议收藏」

    java 内部类 静态方法调用_内部类和静态内部类的调用「建议收藏」packageday6$6;publicclassInside{publicstaticvoidmain(String[]args){//先创建一个外部类对象Outsidein=newOutside();//在通过外部类对象创建一个内部类对象Outside.Indooroi=in.newIndoor();//调用内部类自己的属性和方法oi.Swim();System…

    2022年10月11日
  • Redis 4.x/5.x IDOR漏洞复现[通俗易懂]

    Redis 4.x/5.x IDOR漏洞复现[通俗易懂]Redis4.x/5.x未授权访问漏洞Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。漏洞复现最近碰到ctf的题目是通过ssrf和redis的未授权访问打入内网getshell,想着用docker复现以下此漏洞。拉取环境开启环境后,如图使用redis-cli-hyour-ipj即可连接redis数据库,并且可以清空所有数据,即有未授权访问漏洞使用poc实现远程命令执行先将下载好的poc目录下

    2022年6月6日
  • blender导入灰度图生成地形模型「建议收藏」

    blender导入灰度图生成地形模型「建议收藏」安装软件在此处下载blender并安装。添加平面1、打开blender,右键删除初始的立方体。2、shift+a选择平面添加进场景:3、按下s键鼠标拖动调节平面大小确定后按下鼠标左键:4、选择顶部菜单的modeling后再右键选择细分:5、在左下角输入细分的数值后按下回车:导入灰度图1、选择顶部菜单的layout后点击右下角的纹理属性然后新建:2、打开自己的灰度图:3、选择修改器属性:4、添加修改器:置换5、选择刚才添加的纹理:6、地形模型生成成功,但会有锯齿

    2022年6月20日
  • snmp trap日志「建议收藏」

    snmp trap日志「建议收藏」日志类型有三种,file,syslog和snmptrapsnmptrapd.conf文件内容及参数snmptrapd手册:http://www.net-snmp.org/docs/man/snmptrapd.conf.html,http://www.net-snmp.org/wiki/index.php/Snmptrapd中文翻译:《snmptrapd.conf文件内容及参数》,而且详细列出了参数《SnmpTrap的发送和接收演示》IBM开发者网站关于snmptrap引用最.

    2022年8月20日
  • matlab怎么输出插值,matlab插值方法0.ppt「建议收藏」

    matlab怎么输出插值,matlab插值方法0.ppt「建议收藏」matlab插值方法0*数学建模暑期培训数据插值*实验目的实验内容2、掌握用数学软件包求解插值问题。1、了解插值的基本内容。[1]一维插值[2]二维插值[3]实验作业*拉格朗日插值分段线性插值三次样条插值一维插值一、插值的定义二、插值的方法三、用Matlab解插值问题返回*返回二维插值…

    2022年6月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号