我应该学习哪个移动平台呢?关键在于:
- 易用性
- 平台的普及程度
- SDK和实际手持设备的低成本
我应该学习哪个移动平台呢?关键在于:
Android
安卓操作系统。 该系统使用Linux内核。 开发软件所需的SDK是低成本(免费)的。 Java语言是一种相当流行的编程语言。
我认为未来只有3-4个平台值得看好。但这取决于你喜欢哪个平台以及你在分发应用程序方面的自由度 :)
现在,诺基亚已经收购TrollTech(Qt)来创建一个伟大的移动平台,建立在Symbian之上。你会认为,开源社区至少应该提到它。
相比其他所有操作系统,Symbian拥有巨大的市场。Qt是KDE的支柱,可以轻松进行跨平台开发,并且设计非常出色。
你会认为:
这些将是未来的热门,只等待爆发。与成千上万的其他应用程序中的一个相比,你肯定有更好的赚钱机会,而用户也期望支付不超过0.99美元。
Symbian也开始走向开放代码的道路。实际上,随着Qt移动平台的成熟,底层操作系统可能并不那么重要。
这很简单(即使对于像我这样的Windows Mobile开发者):
iPhone
该设备底层技术并没有什么特别之处,但是苹果提供了一个方便且合理的机制来支付开发者,同时将设备锁定到一定程度,以至于软件盗版几乎是不可能的[更新:或者显然只是困难的]。谁不想为一个快速增长的市场编写软件呢?
6或7年前,Windows Mobile设备本可以做到这一点,但是......
受欢迎程度:全球数据显示,Java ME明显领先于其他所有技术。Symbian排名第二,但与Java ME相差甚远。iPhone排名第三,距离第一更是遥远。然而,如果你的目标是一个大陆、一个国家或者某种语言,情况可能会发生巨大变化。
开发便利性:Objective-C很酷也很强大,但请记住它已经有20年历史了。iPhone开发容易,但Android同样简单、免费且支持多平台。Java ME非常困难,除非你针对非常有限的不同手持设备模型进行开发。本地Symbian OS C++在市场上声誉最差,但它正在逐年逐寸地抓回来。Symbian还有一个巨大的优势,让您可以选择使用哪种语言进行开发。
工具成本:Java ME是最便宜的,其次是Symbian、Android和iPhone。
其他标准:好吧,很多取决于你想要开发什么应用程序。
没有提到Palm的WebOS,因为从商业角度来看,它几乎没有什么份量。
搜索谷歌以了解智能手机市场份额。下面是一份来自Gartner的报告。简而言之,2008年销售统计数据如下(销售数量以千为单位):
Operating 2008 Market Growth
System Sales Share 2007-2008
-----------------------------------------------------------
Symbian 72,933.5 52.4% -6.1
Research In Motion 23,149.0 16.6% 96.7
MS Windows Mobile 16,498.1 11.8% 12.2
Mac OS X 11,417.5 8.2% 245.7
Linux 11,262.9 8.1% -4.2
Palm OS 2,507.2 1.8% 42.2
Other OSs 1,519.7 1.1% 13.1
-----------------------------------------------------------
Total 139,287.9 100.0% 13.9
编辑:
关于 Mac 的评论:
关于 Symbian 的评论:
我了解symbian.org 和开源计划。但是:
同时考虑您的目标受众在手机分布方面的情况。潜在用户的位置、收入和年龄将极大地确定您可以和应该针对哪些手机。
根据我的经验,在塞班、Windows Mobile 和BREW上进行移动应用程序编程是一场失败的战斗。在J2ME上,这是一场组织上的噩梦。但许多人正在苹果应用商店上赚钱。现在诺基亚也有Ovi… RIM 有一个商店,Windows Mobile 将会有一个商店…也许苹果的成功将促使其他手机厂商开始行动并使其更容易。
关于您对手机成本的标准的说明:MTK(大多数中国/台湾山寨手机)将是最便宜的选择,但您只能在制造时安装在手机上,因此这不是一个真正的选择... Java手机可以很便宜,但是移植问题很麻烦。我曾经为一家国际公司工作,他们每年都要花费超过50万美元用于手机采购和客户端移植,因为他们必须在每个新的Java手机上测试他们的应用程序,甚至是相同的手机使用不同的固件(只需在Wurfl中输入N95,您就可以看到欧洲运营商安装自定义固件时可能会有多少不同的固件,因此Vodafone UK和O2 UK N95 不是相同的手机。)Windows Mobile也可能是一样的,每个新版本都有不同的API,并且OEM会更改事物...如果您计算获取甚至几个Java或Windows Mobile手机的成本,以确保您的应用程序可以在不同的操作系统版本和固件上运行,那么您已经花费了一笔可观的资金。还不如买一两个iPhone。那么,我的建议是什么呢?
只需要注意此问题右上角的标签计数,就可以得到一个子集人口(在stackoverflow.com上),了解哪些标签更受欢迎。
截至我的评论时,标签计数如下:
还有其他因素,当然。您喜欢为Windows Mobile编写而不是iPhone或J2ME吗? 您是否了解J2ME但想进入iPhone开发领域? 我认为没有一个“正确”的答案,但标签计数确实说明了一些关于流行度的事情。