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

时间:2010-03-14 08:51:46

标签: iphone android blackberry mobile-phones nokia

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

使这个决定复杂化:

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

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

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

    我应该开发的平台是什么? 请用逻辑补充你的答案。

10 个答案:

答案 0 :(得分:7)

以下是基于个人体验的个人意见。

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

1.Fragmentation

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

2.Distribution

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

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

3.Tools,Language,SDK,hardware

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 point

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

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

答案 1 :(得分:6)

  

我的两个节目都更适合   商业用户,(一个只是有用的   C.P.A.s)。

如果您有用户,询问他们使用哪些手机

  

大多数用户似乎都很虔诚   他们的流动决定,如此口头   谈话让我更加困惑   然后开悟了。

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

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

  

我需要学习相关知识   语言和IDE - 我的编码迄今为止   几乎都是基于网络的(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取代,以进一步引发诺基亚的困惑。 : - )

答案 2 :(得分:4)

我建议尝试Android,因为:
- it's more simple
- 减少黑莓api signingBlackBerry Alliance等限制 - 有更多样本/文章/操作系统问题 - android market vs BB world app
- 将来很容易打开BlackBerry或纯J2ME(以防您希望将应用程序移植到其他平台,Android使用扩展的Java,BlackBerry使用java microedition,两者都使用Eclipse +插件作为IDE) /> - 设备本身就是较便宜的本身就是错误的

答案 3 :(得分:4)

借助诺基亚(Symbian和MeeGo),您可以在Qt中进行开发。您应该能够将同一个应用程序部署到两个系统而不会遇到太多麻烦。将您的背景作为Web开发人员,您可以使用QtScript \ JavaScript等来获得所需的结果。

答案 4 :(得分:3)

如果您打算开设自己的开发商店,then see my advice in this post to ignore technology and instead look at each platform's business model。问问自己每个平台是否真的为小型开发者提供了赚钱的方法。

每个平台都在商业模式中进行权衡。例如,限制性iPhone应用程序商店意味着Apple可能拒绝您的应用程序,这意味着Apple可以让您对通过您的应用程序进行的任何故意或意外错误处理负责。另一方面,由于Apple的监督和可靠的跟踪记录,最终用户更有可能从小型开发商那里购买一个未知的应用程序,看看它是否适用于他们。没有某种疏忽,他们不太可能这样做。

严重损害手机品牌只会造成一次严重的安全漏洞。如果Andriod更开放的模式无法保护他们的平台以及iPhone,那么整个品牌可能会被一个恶意应用程序损坏。如果最终用户被其他开发人员烧毁一次或两次,他们就不太可能在您的应用上冒险。

如果您打算以谋生为目标,那么您无法真正专注于单一语言/ API。您必须学习良好的通用编程实践,并不断教育自己使用新工具。您应该愿意学习任何语言和任何环境。当然,人们专注,但从拥有30 - 40年职业生涯的角度来看,你必须保持灵活性。哎呀,当我上大学的时候,Cobal(唾液)是最重要的事情,每个人都想知道这个新的“C”是否会起飞,即使看起来有点狡猾。现在多年后咕m着,似乎我每周都在学习一门新的语言/ API。

但是,在开始使用您的特定技能并且必须引导所有内容时,最好使用基于HTML的API,例如PhoneGap。这将让您(1)利用您现有的技能组合,(2)在选择平台时给您一些灵活性。

一旦你赚了一些钱并获得了一些经验,你就可以在一个或多个主要平台的特定API中训练自己。

请记住,每个开发人员都没有正确的答案。你将自己的历史带到了等式中。对你有用的东西对其他人不起作用。学习Objective-C或Java的机会成本可能比其他人低或高。同样,对于自举操作,如果您可以使用现有技能设置在30天内为小型平台推出应用程序,那么比花费一年时间为具有最大市场份额的平台推出应用程序更好。

无论你选择什么,最重要的是尽快开始执行,而不是在开始之前计划好一切。根据我的经验,过度规划的抖动从长远来看会比选择次优路径更伤害你。在现实生活中,你实际上并没有“必须在正确的时候做到正确”。你要做的就是灵活而坚定,以便从你将不可避免地犯下的许多很多错误中恢复过来。

使用您拥有的产品,发挥您现有的优势,获得产品并随时学习。不要过度思考......

...只是执行。

答案 5 :(得分:1)

您需要什么API?你的商业模式是什么?

9/10我只想写一个Web应用程序。它是跨平台的。

答案 6 :(得分:0)

如果您有webdev背景,诺基亚可能相当容易 - 您可以创建使用浏览器运行的小部件(* .wgz),但可以访问手机apis。

答案 7 :(得分:0)

请注意,目前您实际上只有三个有效选项:Iphone,Android和BlackBerry。如果您不是针对美国市场,那么BlackBerry也是不可选择的。

(诺基亚拥有太多的平台,而且设备的用户体验不好,Plam正在濒临死亡,Window Mobile最终会赶上但不会很快赶上)

如果您有商业应用程序,您的用户最有可能使用BlackBerry或Iphone(Android仍然在增加)。

开发任何一个都是市场份额的问题,你应该真正检查你的用户他们正在使用什么。

请注意,如果您是一名Web开发人员,您应该考虑与您一起了解如何开发这些平台的人(这不是一件容易的事),甚至可以考虑编写适用于Android和iPhone的HTML5网络应用程序。

答案 8 :(得分:0)

要记住的其他事情不是要考虑特定智能手机的市场渗透率。你真正关心的是我能卖得最多的智能手机。例如,Symbian s60在LONG镜头中拥有最大的市场份额,但用户在应用上花费的TON较少。另一个例子是黑莓。他们的市场份额领先iPhone,但第三方应用程序销售量远低于iPhone。也就是说,如果您要在iPhone上创建10个应用程序的副本,这些应用程序在BlackBerry上是独一无二的,那么您可能最好不要使用BlackBerry,因为您不必与其他10个应用程序共享收入。您真的需要查看每个应用商店,了解竞争对手的情况,并考虑用户实际花在这些应用商店上的数量。

答案 9 :(得分:0)

根据应用程序的性质,您可以认为几乎所有这些平台都使用Webkit。这意味着,通过一个精心设计的Web应用程序,您可以定位所有这些平台以及桌面用户。如果你想在相应的应用程序商店出售你的应用程序,那就是Phonegap和Rhomobile。