平台混战 该投靠谁
技术与开发
上期我们详细讲解了Symbian开发平台的安装、操作,并用它开发了第一个手机程序“Hello World!”。可当前的主流平台并不是只有Symbian平台一个,还有iPhone 平台、Android平台、Windows Mobile平台。它们各自有什么优缺点呢?又有什么不同的开发要求呢?目前,四大手机平台各有优势,都在招揽人才,它们适合什么样的开发者者呢?我们该投靠哪个平台呢?
其他主流开发平台
1.iPhone 平台
平台优点:新平台,潜力大,多媒体性能强,可借助苹果的App Store销售软件。
平台缺点:不支持Java,开发门槛高,国内用户少。
开发环境:由于苹果公司对于市场策略的考虑,iPhone至今不支持Java,所以目前只能使用iPhone的专用SDK并结合Objective-C语言来开发程序。非常遗憾的是,iPhone的开发环境需要搭建在Mac OS系统中,这对于手中没有苹果计算机的读者来说将是一笔不小的投资。
在Mac OS系统中搭建开发环境,我们要用到的软件主要有iPhone SDK和Xcode。 Xcode是运行在Mac OS系统中的一个编程工具,提供了IDE和调试等功能,Xcode从3.1版本开始可被用来开发iPhone程序。

以上软件均可从苹果官方站点http://developer.apple.com/iphone/index.action下载,页面为英文,下载前需要注册Apple ID。该站点提供了从安装步骤到程序样例在内的详细资料,并配有视频教程,但资料都是英文,要求开发者有较高的英文水平。
注意事项:iPhone的开发平台是搭建在Mac OS系统中的,如果手上没有苹果计算机,也可以通过搭建基于Cygwin的iPhone开发环境来实现Windows下的iPhone程序开发。但是由于其并不受苹果官方支持,因此业界很少使用此方式开发iPhone程序。在Windows下搭建iPhone开发平台的过程比较繁琐,有兴趣的读者可参考http://www.duduwolf.com/wiki/2008/883.html。
2.Android平台
平台优点:新平台,潜力大,开放度高。
平台缺点:手机终端少,用户少,开发资料少。
开发环境:Android的开发平台搭建相对比较容易。到http://www.android123.com.cn/android_kit.html下载Android SDK并解压缩到指定的目录(如果没有安装过JRE,则需先安装JRE)。
Android编程环境一般使用Eclipse+ADT插件,它们都可以通过上面的地址下载,安装比较简单。在创建一个项目时,“Package name”一项必须是类似于xxx.xxx这样的形式,否则会出错,而其他各项可随意命名。
注意事项:Android仅提供了Java语言的开发包,和J2ME并不兼容。此外,Android SDK的文档浏览与IE存在不兼容的问题,还需安装一个非IE内核的第三方浏览器,如Firefox等。


3.Windows Mobile平台
平台优点:功能强大,开发便捷。
平台缺点:不开源,受到Android等新兴系统的挑战,系统稳定性相对较差。
开发环境:Windows Mobile的最佳开发环境是Visual Studio,它集成了Windows Mobile开发时所必需的工具,并且为我们提供了一个强大易用的IDE。没有安装过Visual Studio的读者可以到微软官网http://www.microsoft.com/downloads/details.aspx?FamilyID=83c3a1ec-ed72-4a79-8961-25635db0192b&DisplayLang=zh-cn下载,该软件提供90天的免费试用期。

由于VS体积非常庞大,建议在安装时选择自定义,并根据实际情况选择语言,笔者推荐选择C#作为开发语言,读者可依情况去掉多余的选项,以节省空间。但切记要安装相应语言的“智能设备可编程技术”模块。

注意事项:.NET运行库有不同的版本,目前VS2008主要支持2.0和3.5版,使用3.5版开发的程序将不能运行于只支持2.0版的Windows Mobile手机上,因此在开发前需要明确目标手机所支持的版本,并在创建项目时作相应选择。
众说纷纭选平台
有些读者会感到茫然,这么多的手机平台,究竟该选哪一个?小编就这个问题邀请了很多开发爱好者进行讨论。
赵宇: Symbian平台是首选
当然首选Symbian平台了,Windows Mobile平台也可以考虑一下 。诺基亚是专门做手机的,其他几个平台都只是公司的副业。微软的实力也不可小视 ,毕竟是专业做软件的,Windows Mobile平台的应用软件也好做一些。Google平台也有好的前景,但要赶上Symbian平台还要几年。
张心韬:Symbian平台使用最广泛
我也选择Symbian平台。因为我喜欢诺基亚品牌,市场的需求是最大众化的,我感觉越专业越不好。毕竟买手机的人,看品牌,看质量,看可玩性,没几个人会管平台的。即使是一个技术完美的平台,如果平台对应的手机没人用,那也是失败的。
董妮:针对人群选择平台
我作为一名专攻游戏开发的学生,更看重的是一个平台在这方面的表现力。给iPhone开发游戏是一种很奇妙的体验,我们可以利用iPhone的多点触摸等特性开发出非常漂亮和耐玩的游戏。
同样的,如果你是主要开发网络应用的话,Google的Android平台是个不错的选择,Google作为一个互联网公司,其系统对于互联网应用的支持也相应好一些。办公软件开发,首选Windows Mobile平台,因为商务人士用Windows Mobile手机的多一些。Symbian平台则全面一些,各方面都可以兼容并包,不过没有突出点,算是大众化的系统。
其实我这样说是有道理的,我们从手机选购的角度就可以看出使用者的主要用途。如我所说,选iPhone手机的用户肯定更注重娱乐,选Android手机的用户极可能是网虫,选Windows Mobile手机的大都是出于商务目的,选Symbian系统手机的则是白领和学生多一些。这样的话,我们可以有针对性地选择开发平台,将最适当的软件推荐给特定的用户群。
黄立超:根据实际情况选择
我想从专业角度提醒大家一点,手机的开发是离不开设备的,我们不能单纯依赖模拟器。如果你决定做Symbian平台开发,最好拥有一台Symbian手机,做iPhone开发最好拥有一台iPhone手机。
因为模拟器的性能和效果是不同于真机的,我在开发中就曾遇到过电脑上测试好的程序在真机中出现运行缓慢、字体改变的情况。所以我的观点是,无论选择哪个平台,最好能有一个真实的设备作测试。我建议如果是初学者的话,手上有哪个平台的设备就从哪个平台学起,你写的软件可以在自己的手机上运行,也是一份乐趣和收获。
张勇:选“钱途“更大的平台
我们做软件的目的是什么?除了开发免费软件服务大众以外,恐怕更多的是希望能创造出经济价值吧。说白了就是要考虑市场,考虑如何赚最多的钱。现在的Symbian平台和Windows Mobile平台用户很多,相应的免费软件和破解软件也很多。
虽然Symbian平台和Windows Mobile平台的用户多,但是到最后我们可能会发现自己的软件虽然优秀,却不卖座,因为有太多的竞争者。如果出于学习的目的,Symbian平台和Windows Mobile平台有很多很好的资料以及技术优秀的前辈。如果是出于赚钱的目的步入手机开发领域的话,我建议大家不妨考虑一下iPhone平台和Android平台。
正因为做的人少,我们的劳动才更有价值。聪明的淘金者不是去挖掘别人挖剩下的矿山,而是去挖掘新的可能蕴藏着金子的矿山。选择新平台,我们可以做比聪明淘金者更聪明的人,我相信凭借苹果和谷歌强大的营销能力和技术实力,新平台一定会日渐火爆,选择新平台意味着我们选择了一座铁定蕴藏着金子的矿山。
李衡峰:市场决定平台
我的观点是市场决定一切,iPhone平台、Android平台挑战Symbian平台和Windows Mobile平台都是后话了,成不成功也很难说,有时候人的习惯一旦确定了就很难改变,就像Linux无论怎么努力都没法推翻Windows的统治地位一样。
现在很难通过正规渠道买到一部iPhone手机或Android手机,iPhone的系统更是只有苹果一家在用。个人认为在未来数年内仍然是Symbian平台和Windows Mobile平台的天下。市场告诉我们,还是选择Symbian平台和Windows Mobile平台更好一些。
编后
手机开发讨论群里面的讨论非常激烈(群号:63357672,验证码:手机开发),大家各抒己见,观点各异,但最后都认同:应结合自己的实际情况以及不同平台的特性来作出选择。对初学者,大家都倾向于选择Symbian平台,因为其比较好上手。如果掌握了一个平台,要转入另外一个平台并不是难事。我们真诚地祝愿所有的开发者都能找到最适合的平台,学到最专业的技术,为我国手机程序开发产业的振兴贡献自己的一份力量!