鉴于当前移动应用程序所处的环境正在发生变化,我希望这个问题的“最佳”答案也会发生变化,但就目前而言,这是当今构建移动应用程序的最佳操作系统/框架。
我正在考虑成本、学习曲线和市场渗透率。
6 回答
您需要定义应用程序的最终结果要求。
部分答案取决于您将运行什么移动硬件。而且,无论您是否需要使用硬件的独特功能(触摸屏、条形码扫描仪、gps、特殊按钮、VOIP 等),或者是否需要一个简单的输入/输出屏幕框架就足够了。
这可能会促使您决定使用本地应用程序或更远程的东西,例如 Web 应用程序或终端服务。(当然,也有使用远程服务的本地应用程序。您需要考虑多个前端吗?)
另外,你们的发展优势在哪里?你的语言能力是什么?正如您所提到的,移动应用程序开发在学习和设置初始开发/调试/部署环境方面可能具有陡峭的启动曲线。这值得吗,还是您可以利用桌面或 Web 开发经验进行远程部署?
一旦您做出这些决定并确定您的开发环境和目标,您就可以采取下一步措施来查看特定于您需求的框架和方法。
安卓
费用:0
学习曲线:如果你懂 Java,或多或少 0
市场渗透率:巨大
今年Android手机销量预计将增长900%,市场不仅限于手机。一些迷你电脑也在朝着这个方向发展,选择 Android 作为他们的操作系统。
正如您所写,环境在不断变化,但如果您打算使您的应用程序尽可能地具有最便携性,那么在我看来,您需要开始使用 Java Micro Edition (J2ME) 进行开发。最适合这项工作的 IDE 之一是 Netbeans。
取决于我想的设备。我认为没有一种通用的方法可以编写适用于所有设备的东西。
最重要的是:
- Windows Mobile:C++ 或 .NET Compact Framework(如果您手动安装 Java Runtime,则为 JavaME)
- iPhone:C++(我认为)。IIRC 它还不支持 Java。
- 安卓:JavaME
- 黑莓:JavaME
- 其他非智能/PDA 设备:可能是 C++?
就市场份额而言,此时您不会获得比 iPhone 更好的可见度和命中率。黑莓手机比 iPhone 多得多,但在 iPhone 上购买和下载应用程序的人数要高得多。
但是,如果您想开始为 iPhone 开发,成本相当高。
- 如果你想做任何类型的 iPhone 开发,你必须有一台 Mac。这会让你回到低端的~1k。
- 你必须为 iPhone 开发者帐户支付 99 美元/年
如果您已经了解 iPhone SDK,它是用 Objective-C 编写的,它将类似于 C/C++。
也就是说,谁知道 Palm Pre 会引起什么样的轰动。所以市场份额是未知的,我不确定成本,但如果你知道 HTML/Javascript,你就准备好了。
就 Android 而言,虽然它是一个不错的平台,但市场份额仍然只是杯水车薪。它是用 Java 编写的,并且有很多不错的 API,但是除非你有更多的人使用 Android 设备,否则它就没有实际意义。
如果不是 iPhone,黑莓将是一个很好的开发平台。SDK 是 Java 的,据我所知,有不错的工具来完成工作。这里的优势是你将有很多面向消费者的应用程序和企业应用程序的潜力(因为每个企业都有太多这样的应用程序:)
所以,这取决于你想花多少钱以及你要使用什么样的应用程序。我认为,学习曲线应该不是问题,因为这些平台中的每一个都有自己的 SDK,无论如何你都必须学习,所以对于这些平台中的每一个,你从大致相同的水平开始。
我的选择是(按顺序):
- 苹果手机
- 黑莓
- ??
也就是说,这就是移动应用程序开发的当前观点。保持更新总是好的,至少对其他平台有一个概念,这样你就有可能分支出去。