2010年上半年以来,移动开发应用领域就一直高温不减,各种移动开发平台的厂商纷纷推出和升级自己的开发平台和工具,一时之间群雄逐鹿,各种名词像Symbian、iPhone、WinCE、Android、BlackBerry和PalmPre等等令人眼花缭乱。但对于一个普通的开发者而言,初涉入移动开发技术时,可能根本就不知道应该选择哪种移动开发平台和工具,也不知道移动开发技术和其他的开发技术存在哪些显著的区别和相同的地方。
因此,本期门诊特别邀请到一位在移动开发领域工作长达7年的一线开发专家,他先后在各种主流移动开发平台如Symbian、J2ME、iPhone、Android、Windows mobile上都开发过应用产品,对各种移动开发平台的优劣势都有深入的了解,相信能为众多想涉足或正从事移动开发领域的网友们释疑解惑。
技术门诊是51CTO社区品牌栏目,每周邀请一位客座专家,为广大技术网友解答疑问。从热门技术到前沿知识,从技术答疑到职业规划。每期一个主题,站在***最热的技术前沿为你引航!
专家姓名:孙东风
擅长领域:移动开发技术
03年毕业后一直从事移动平台上的开发工作,熟悉主流的各种移动技术开发平台如Symbian、J2ME、iPhone、Android、Windows mobile等,先后从事过移动平台上的二维码、游戏、流媒体软件的开发。目前在东方财富网就职,专注于手机证券软件开发并负责技术管理工作。
查看本期门诊精彩实录: http://doctor.51cto.com/develop-180.html
参与***技术门诊,火热提问中:http://doctor.51cto.com/develop-181.html
下面精选本期网友提问与专家解答,以供网友学习参考。
Q:你好孙兄,曾在J2ME上面开发过小游戏,相比linux和wince平台,J2ME在效率上面是不是比较差啊?请孙兄比较一下几个平台的优劣势。
A:你好,硬件著名的“摩尔定律”可以让手机平台的性能越来越为强大,现在智能机的占有率增长迅速,比如iPhone、android等,在硬件性能更为强大甚至可以媲美PC的时候,J2ME在效率上的顾忌并不是问题了。如果你的软件偏向于网络和界面显示,比如证券分析软件、图书阅读软件等,用J2ME开发会更为迅速!。
Q:孙老师,您好! 我想问下JAVA编程语言能作为移动开发的平台吗? 我对JAVA比较感兴趣,不知是否该深入学它。
A:Java有个嵌入式的分支版本J2ME(Java 2 Micro Editon),这个版本最初是为了嵌入式消费领域而开发的,本质是为Java语言的一个分支版本,内部包含了java.lang.*、java.io.等几个包,还有J2ME专属的几个包比如javax.*等,可以深入学习一下,相对其他语言来说还是比较简单的:)
Q:您好,請問如果想從事移动平台上的开发工作,需要掌握哪些技術和語言?
A:移动平台和PC平台的开发并没有特别大的不同,唯一需要注意的就是对于资源的管理,特别是内存资源,语言***能掌握C/C++,因为所有的平台都支持C/C++语言的开发,包括Android也会支持。
Q:孙老师:你好! 我是一名刚毕业的学生,现在用人单位很多对工作经验有要求!如果我想从事移动平台的开发,一开始从事哪方面的工作比较好呢?谢谢!
A:这个要看个人的兴趣爱好,如果你偏向于爱好底层驱动开发或者有较好的硬件基础,那么可以选择一些底层开发的工作,如果你偏向于application开发,那么可以选择这块。
Q:symbian怎么样?优势在那?这么多的版本也不知道选择哪一个,而且在windows平台上开发惯了,一下子转到Symbian上可能不太习惯,请问专家如何克服?
A:Symbian是个很好的平台,其在中低端机器上的市场占有率***,Symbian目前主流的版本有2nd,3rd,uiq,5th,虽然看起来差别比较大,其实在程序上面做的改动并不大,只要你能熟悉一个版本就行,对于开发来说,Symbian有很多自己的平台特性,比如二阶段构造、清处栈、异常处理机制、活动对象等,如果能顺利的掌握住这些区别点就很容易掌握它,可以关注下我最近要出版的一本新书《例学Symbian开发》(7月份将由铁道出版社出版),上面一章有专门的这些知识点:)
Q:请问专家能详细地谈一下应该根据哪些因素来选择某一种移动开发平台吗?
A:如果是做开发,那么我建议你做哪个平台其实并不重要,技术有个纵深度的,如果纵深达到了一定程度,那么做什么平台都是一样的。
Q:专家好,请问开发手机游戏怎么选择平台呢,各个平台对游戏的支持各有什么特点?专家在移动平台上开发过很多类型的应用程序,请问开发游戏和其他应用程序比如证券软件有哪些不同呢?
A:主流的移动平台对游戏的支持已经大大提升,比如早期的J2ME平台不提供3D游戏编程的相关API,而新的手机平台已经提供了JSR184,其他平台比如iPhone、Symbian等都提供了对OpenGL等的支持,所以说当前的智能机平台对游戏的支持已经和PC没有太大的区别了,并且随着硬件的提升这种差别会越来越小;对于开发游戏和其它应用来说,游戏更多的是使用一些动画效果,比如物理粒子效果、物理特效等,而证券软件更多的是使用系统的GDI句柄绘制一些点线。
查看更多精彩门诊,和专家互动! http://doctor.51cto.com/