我应该为哪种移动操作系统编码?

Sam*_*ody 5 iphone android mobile-phones blackberry nokia

我想重写我们的两个移动设备程序,但是对于要定位的平台有点遗失.

使这个决定复杂化:

  • 我需要学习相关的语言和IDE - 我的编码迄今几乎都是基于Web的(PHP,JS,Actionscript等等一些ASPX).
  • 大多数用户似乎对他们的移动决定抱有虔诚的态度,所以口头对话让我更加困惑,然后开悟.
  • 我还没有自己的智能手机 - 一旦我知道要瞄准哪个平台就必须购买智能手机.
  • 我的两个程序都更适合商业用户(一个只对注册会计师有用).
  • 我是一名开发人员,不能一次开发多个平台.做对很重要.

基于我在网络上发现的内容,我希望RIM能够成为一个嘘声,而且总体顺序如下:

  1. RIM Blackberry - 比其他品牌更多.尽管是反对者,但他们的销售额却是其他任何智能手机的两倍(或者可能是销量的5倍),并且还在继续增长.而且,他们有业务用户.
  2. Android - 根据Schmidt的说法,除了RIM之外,他们已经超过了其他所有人(虽然我现在无法找到我在哪里阅读),而且他们刚刚开始.据Comscore称,他们已经占据了8%的市场份额,预计将在六个月内触及Shcmidt的索赔.
  3. 诺基亚 - 全球最大的.如果他们只是在Maemo或Symbian之间弥补,我就会更加困惑.
  4. iPhone - 其他应用程序的竞争更加激烈,销售额减少,以及可以随时延迟或取消我的应用程序的霸主.可可难以学习吗?
  5. Windows Mobile - Word是版本7 不会向后兼容并失去市场份额.
  6. Palm WebOS - 也许这应该是第一位的,因为它是唯一提供工具使我的生活变得轻松的Web应用程序开发人员.没有市场竞争.但也不是很多用户.

但是,对StackOverflow的搜索显示,与Blackberry相比,iPhone的问题数量极不相称.同样,iPhone上的应用程序明显更多,因此必须得到开发人员的喜爱.

我应该开发的平台是什么?请用逻辑备份你的答案.

小智 7

以下是我个人的观点,基于我的个人经验.

您忘记了移动开发中的一些最大问题(同样也让很多人最终选择了iPhone).如果您是一名开发人员,这一点尤为重要!

1.Fragmentation

对于每个平台,有许多设备具有不同的屏幕分辨率,硬件功能,内存容量,错误等.除非你正在开发一些微不足道的东西(为什么不是移动网络应用程序呢?),你至少需要获得和测试流行的手机.这也会增加您的应用的支持成本.您需要为每个新设备测试和更新它.

2.Distribution

现在每个人都在建立一个App Store,但iTunes仍然是支付数字内容的最佳和最可靠的方式.Android可能是第二名,但不太受商业用户欢迎.如果你关心美国市场我会小心诺基亚,如果你关心国际市场我会小心掌握Palm.

Windows 7 Mobile似乎是一个不错的平台,但是在你应该讨论它之前的6到12个月.甚至不考虑当前的Windows Mobile迭代.

3.Tools,语言,SDK,硬件

Blackberry,Android和Nokia都是基于Java的,并将Eclipse用作IDE.从理论上讲,它们应该适用于任何操作系统,但Android在Windows上存在一些问题,而Blackberry需要Windows.对于所有3个人来说,你需要非常不错的硬件来运行模拟器和IDE而不考虑自杀.设备上的调试从不存在到不太好.

iPhone - ObjectiveC/C/C++.你需要一台运行osX的Mac.即使是Mini也可以.要分发你需要在开发者计划 - 99 $.其他一切都是免费的.XCode是一个非常好的IDE,模拟器和设备上的调试是市场上最好的.有许多框架可以使用Web或Flash等不同技术构建应用程序.无法评论.

Palm - 与您已经知道的最接近的,基于用于高级开发的Web技术.对于任何更高级的基于C++的SDK(我还没有经验).

Windows Mobile - C#/ Windows/Visual Studio.可能需要为一些开发工具付费.

4.Bonus点

iPod Touch和iPad没有对应物.您是否遵循过去2天的预购狂潮?是的我知道Android平板电脑,请查看上面的第1点.

希望这会有所帮助,但也许我只是把你弄糊涂了.最后,您应该最关心软件的质量及其提供的价值.如果它很好,它将找到它的市场.


Com*_*are 6

我的两个程序都更适合商业用户(一个只对注册会计师有用).

如果您有用户,请询问他们使用的手机.

大多数用户似乎对他们的移动决定抱有虔诚的态度,所以口头对话让我更加困惑,然后开悟.

然后不要通过谈话质量来衡量.通过原始计数或可能的追加销售加权的原始计数来衡量(即,为升级和维护付费的应用程序的长期用户比昨天购买应用程序的人有更好的跟踪记录.

然后,一旦您了解用户中最强大的智能手机平台,您就可以决定如何最好地解决其中一个或多个平台.

我需要学习相关的语言和IDE - 我的编码迄今几乎都是基于Web的(PHP,JS,Actionscript等等一些ASPX).

然后也许坚持下去.您真正需要本机应用程序的唯一原因是因为您希望运行断开连接(以及HTML5,甚至可以覆盖)或者您希望执行无法通过移动Web浏览器完成的操作(例如,与其他应用程序集成) Android中的设备上的应用程序).

Palm WebOS - 也许这应该是第一位的,因为它是唯一提供工具使我的生活变得轻松的Web应用程序开发人员.

废话.嗯,好吧,那个IDE,我看到一些非常光滑的截图,如果它发货(我丢失了轨道).但它并不像WebOS是唯一的Web OS.

有一些方法可以为使用HTML/CSS/Javascript的非WebOS手机开发本地应用程序.PhoneGap最接近传统的网络应用程序AFAICT; Appcelerator Titanium Mobile有点奇怪,但也使用这些技术.这两个都让你用一组源代码定位Android和iPhone; PhoneGap还允许您运送到Blackberry并最终运送到Symbian.

现在,特别是对于PhoneGap,这些移动网站的感觉比本机应用程序更多.这对您的用户来说可能是也可能不是什么大问题.如果不出意外,它会让你在移动中沾沾自喜并衡量相对兴趣,然后确定你是否需要爬上Java或Objective-C的学习曲线.

顺便说一下,Maemo正在被Meego取代,以进一步引起诺基亚的困惑.:-)