我应该开始学习什么移动平台?重要的是:
- 舒适
- 平台人气
- SDK和实际手持设备的低成本
安卓
Linux 内核。SDK 成本低(免费)。Java 是一种相当流行的语言。
我认为3-4个平台有未来。但这取决于您喜欢什么平台以及您喜欢如何自由地分发您的应用程序:)
既然诺基亚收购了 TrollTech(Qt) 是为了在 Symbian 之上创建一个出色的移动平台,你会认为 OSS 人群至少会提到它。
与其他所有产品相比,Symbian 拥有巨大的市场。Qt 是 KDE 的支柱,允许轻松的跨平台开发,并且设计得非常好。
你会认为:
......将是一个等待发生的未来热门。你肯定比在成千上万的其他应用程序中多一个应用程序更有机会赚钱,用户期望支付的费用不超过 0.99 美元。
Symbian 也开始走上开放代码的道路。实际上,随着 Qt 移动平台的成熟,底层操作系统可能甚至不再那么重要。
这很简单(即使对于像我这样的 Windows Mobile 开发人员):
苹果手机
该设备的底层技术并没有什么特别之处,但苹果公司为支付开发人员提供了一种方便合理的机制,同时将设备锁定到软件盗版(据我所知)完全不可能的程度[更新:或显然很难] . 谁不想为这样一个快速增长的市场编写软件呢?
Windows Mobile 设备本可以在 6 或 7 年前做到这一点,但不...
受欢迎程度:全球数据表明 Java ME 明显领先于其他所有人。Symbian 遥遥领先。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
所以,读到这里,Symbian 设备是最大的市场。iPhone 和 BlackBerry 是快速增长的平台。Android 去年底上市,所以很难说它有多受欢迎。
我的选择是:
编辑:
重新 Mac 评论:
重新塞班评论:
我知道symbian.org和开源计划。但:
移动客户端编程历来是一场噩梦。移动世界的碎片化特性加剧了您在桌面/服务器市场遇到的任何问题。
如果您的目标是作为小型开发人员赚钱,那么您应该尽可能集中精力。为此,iPhone 是唯一真正的选择,在 J2ME、Symbian 或Windows Mobile上测试、移植和认证您的应用程序的成本很快就会克服这些平台所具有的潜在市场优势。
您还需要考虑要开发的应用程序的技术要求。例如,虽然 J2ME 在手机上的“支持”比其他任何可能性都多,但如果您想做“酷”的事情,安全模型会限制 J2ME 的有用性(至少这对我来说一直是个问题)。对JSR的支离破碎的支持也是一个主要问题。J2ME 可以在很多非智能手机上运行,但这些手机是否支持您想要的功能?
还要考虑目标受众的手机分布。潜在用户的位置、收入和年龄将极大地决定您可以并且应该定位的手机。
我自己的经验是,移动应用程序编程在 Symbian、Windows Mobile 和BREW上是一场失败的战斗。这是 J2ME 的组织噩梦。但是很多人都在 Apple App Store上赚钱。诺基亚现在有Ovi ……RIM 有商店,Windows Mobile 也有商店……也许苹果的成功会促使其他手机厂商齐心协力,让事情变得更容易。
关于手机成本标准的说明:MTK(大多数中国/台湾仿冒品)将是最便宜的,但您只能在制造时安装在手机上,所以这不是一个真正的选择......Java手机可以便宜,但移植问题很痛苦。我工作过的一家国际公司每年在手机采购和客户端移植上花费超过 50 万美元,因为他们必须在每部新的 Java 手机甚至具有不同固件的同一手机上测试他们的应用程序(只需在Wurfl中输入N95,您就可以看看当欧洲运营商做一些愚蠢的事情(比如安装自定义固件)时会有多少不同的固件,所以 Vodafone UK 和 O2 UK N95不是一样。)Windows Mobile 可以是相同的,每个新版本都有不同的 API,并且 OEM 会改变一些事情......操作系统版本和固件那么你已经花了一大笔钱。还不如买一两部 iPhone。
那么,我的建议呢?
以下是按未来受欢迎程度排列的平台:
1) iPhone
它有三个护城河,任何人都必须跨越才能赶上——配件、应用程序和硬件附加组件
iPhone 和 touch 配件随处可见。他们现在在许多酒店房间里都有 iPhone/iPod 对接收音机......
当然,Apple 在应用程序方面有很大的领先优势 - 但领先优势比看起来要大,因为除了所有应用程序之外,现在还有大量具有 iPhone 经验的开发人员。当然,一些最初的应用程序毫无意义,但现在有无数的类别,有深厚的团队在开发真正的应用程序。
最后一条护城河是新的,但没有人能够做任何类似的事情来阻止它——这就是 3.0 让公司能够构建特定设备并通过蓝牙和坞站连接器与它们通信的能力。TomTom 车载 iPhone 底座(不仅仅是一个底座,它还装有 TomTom 应用程序可以使用的更强大的 GPS 接收器)是这方面的冰山一角。医疗器械、分析工具等
2) 掌上电脑
Palm Pre 的优势在于,许多真正想坚持使用的 Palm 用户有一个很好的升级路径,而 Pre 的优势与 Apple 的相同,即他们自己构建一个设备,从而更容易构建一个充分利用平台的应用程序,真正符合设备的理念。只是 SDK 更有限的性质阻止了更多应用程序的选择,但我认为我们会看到这个平台发展得很好。唯一的危险是,我可以看到他们被我的微软收购,然后他们就干杯了。
3) 安卓
Android 具有更多设备的优势。但这也使得构建和测试应用程序以及编写充分利用特定功能的应用程序变得更加困难。我认为会有比 Pre 更多的物理设备,但我敢打赌,三年后 Pre 的应用程序使用量将超过 Android 平台。
为了便于开发,我将 Pre 评为第一(除非您对 CSS 不是很熟悉),iPhone 第二,Android 第三(仅仅是因为不存在/将不存在多少资源来帮助您进行 Android 开发,它有大约和 iPhone 一样大的框架集,让你的事情变得简单)。
Symbian 和 Windows Mobile 完全出局了。除非他们购买这三个中的一个,否则他们将作为一个严肃的移动软件平台完成,尽管现在可能有多少设备(请参阅:关于设备范围的 Android 问题)。他们也没有这三个平台拥有并且每天都在增长的框架或 IDE 丰富性......
需要做的就是记下这个问题右上角的标签计数,以便获得流行度所在的子集人群(在 stackoverflow.com 上)。
根据我的评论,标签计数是:
显然,还有其他因素。您喜欢通过 iPhone 或 J2ME 为 Windows Mobile 写作吗?您知道 J2ME 但想进入 iPhone 开发吗?我不认为有任何一个正确的答案,但标签计数确实说明了受欢迎程度。
我真的不喜欢塞班。流行和易用性使 iPhone 变得完美。
我还听说 Android 是一个很酷的开发平台,但我自己没有尝试过,而且还没有那么流行。
您还可以查看网络应用程序路径:
这是原生 SDK 的能力和浏览器平台的普遍性之间的权衡。我知道很多开发人员认为 Web 应用程序太弱了,但该平台确实已经发展壮大,值得研究。诸如“它不能离线”或“它不能访问本地数据”之类的旧假设不再一定是正确的。
iPhone,很明显。现在把你的努力放到另一个平台上只是徒劳的,或者充其量是有风险的。也许Pre或 Android 有潜力,但 iPhone 已经过了“潜力”阶段。黑莓是另一个强大的选择,因为它们已经很大并且仍然有很多很棒的东西,但平台本身是有限的,我不知道黑莓用户会像 iPhone 用户一样获取尽可能多的应用程序。
这就是为什么我认为 iPhone,根据你的标准 -
在创建一个可以锁定客户多年的应用平台方面,苹果确实比微软做得更好。在这一点上,有几个应用程序我很难放弃。
我也做出了类似的选择,最终投资了 iPhone。好处是我真的很喜欢 Mac - 这是我的第一个,开发过程很有趣。不过,我不打算向大众销售,我正在编写支持移动内容业务的应用程序。Android 将是我的第二选择,我什至不会考虑 WM 或 Symbian。
既然 Safari 支持通过 JavaScript 进行 GPS 定位等高级功能,那么最好的方法就是开发符合标准的 Web 应用程序。这样,您可以确保从单个代码库轻松更新和兼容多个设备。
鉴于Symbian手机(不仅仅是诺基亚60 系列)的市场份额规模,这似乎是一个不错的选择。不过有好处也有坏处。Symbian 有一个陡峭的学习曲线,比其他替代品更陡峭。分发渠道没有那么好,但正在变得更好(例如Ovi , Symbian Foundation Horizon)。
iPhone目前具有很酷的因素和出色的用户界面。分发机制仍然不完美。您只能通过 Apple 商店进行销售,而且他们在帮助开发人员推出应用方面享有盛誉。
如上所述,Android 基于 Linux 内核。鉴于诺基亚Maemo平台将在不久的将来出现在手机中,熟悉它可能没有害处。
移动开发的主要困难是可移植性。这简直太难了。实际上,如果您是移动开发新手,最好选择一个平台并使用它运行。
所以,简而言之,我的答案是:Symbian。
首先,由于您的问题,答案是 J2ME
这是 Gartner 关于 Windows 7、Symbian 和 Android 竞争的最新报告。我想 Windows 7 的日子不好过。Sybian 和 Android 将抢占市场:
我已经在 iPhone、Symbian、BREW、Java ME、Windows Mobile、Palm 上发布了代码。我个人最喜欢在 iPhone 上工作。
以上所有以及 Android 都允许您免费下载和运行 SDK。我建议您尝试您认为最喜欢的那些并在模拟器中运行您的程序。弄清楚你喜欢哪一个,然后投入其中。
最好选择 android.Nowadays android 是一个不断发展的环境。
安卓被很多厂商采用。现在很多设备都支持安卓。
它很受欢迎,很容易。
android的谷歌文档也很不错。
使用 java 开发 android 应用程序(使用 android SDK)。
Java 是很棒的熟悉的语言。
最好选择安卓。
在寻找这个问题的答案时,我遇到了以下 2 个框架,它们允许从 HTML5、Javascript 和 CSS 开发原生移动应用程序:
其他有趣的功能(两者都适用):
我还没有尝试过它们中的任何一个,因为我仍在研究类似的技术。我想任何尝试过它们的人都可以启发“我们”的利弊。
乍一看,它们看起来很容易学习;至少对于任何 Web 开发人员来说。
我的选择将是两者中的任何一个,因为我有兴趣为 Android 和 iOS 进行开发(我承认,很容易被更短的学习曲线所吸引)。
我的建议是 J2ME 是最好的,因为它是伟大的 Java 的扩展或诞生。现在大多数手机都支持J2ME。对于 J2ME,有许多 Java 和 Java 相关的论坛,它们有助于提高我们的 J2ME 技能,用于解决我们的应用程序问题等。
如果您了解 Java,那么 J2ME 并不难。对于 Java 用户来说,它简单、易于理解和实现。
J2ME的主要优点是J2ME属于Java家族,而且是开源的。如今,由于免费,许多公司正在迁移到开源。许多公司建议将 J2ME 用于移动应用程序。
所以选择J2ME。