J2ME、Android、iPhone、Symbian、Windows CE比较

12
我对移动平台知之甚少,但我很有兴趣编写程序。你能否比较J2ME、Android、iPhone、Symbian和Windows CE这几种平台呢?我想知道哪个更好,该选择哪个以及为什么。还想了解一下是否有虚拟机技术来测试程序,是否有IDE和调试设施等。个人而言,我想为开源项目编写代码,但欢迎任何建议。我有Java的初步知识,也想知道是否有其他推荐。
13个回答

31

已经有几个关于这个问题的提问在 SO 上了... 最受欢迎的似乎是这个: 应该学哪种移动平台?

来自那里被接受的答案快速概括一下(我稍微编辑了一下):

我认为未来有 3-4 个平台。但这取决于你喜欢哪个平台以及你喜欢多大程度上自由分发你的应用程序 :)

  1. Windows Mobile
    • C++ 或 .NET
    • 可以像普通应用程序一样免费分发或通过市场分发
    • 开发需要 Windows PC
    • 专有的
  2. Android
    • Java
    • 开源
    • 可以像普通应用程序一样通过 Android 市场(一次性收费 25 美元)或其他方式分发
    • 平台完全开源
  3. iPhone
    • Objective-C 或 Java(使用 Java 开发 iPhone 应用程序)
    • 需通过 iPhone 市场(年费 99 美元)分发
    • 开发需要 Mac(Mac OS)
    • 专有的
  4. Java
    • J2ME 或 JavaFX
    • 大部分是开源的

我的个人看法是:Symbian 已经死亡;Windows Mobile 将会消失,但需要很长时间;Android 将在未来几年成为标准;iPhone 在未来几年仍将保持时尚,但不会成为最主要的竞争者;Pre/WebOS 将维持一个小众市场,但不会非常成功;Blackberry 将衰落,但依然存在。我现在可能会把时间和金钱投入到 Android 或 iPhone 上。


非常好的建议!我认为市场的发展趋势也是如此。 - rpetrich
考虑到在问题中已经提到了开源的偏好,您应该将 Android 的开源性列入列表中。 - Fostah
你列出的这四个平台都将在未来很多年内存在,原因各不相同。但我认为只有iPhone和Android是可以获得盈利的平台。Windows Mobile正在慢慢地被微软所忽视和淘汰。Java ME的回报太少,而且是一个过时的平台。JavaFX则太小、太晚了,无法真正起飞。 - PeyloW
你提到可以使用Java制作iPhone应用程序... 你能否提供一些相关资源? - Saurabh
你的预测非常准确。Windows 仍然能够保持优势,但你可能低估了 iOS。 - smac89
显示剩余2条评论

15

您可以在以下调查图像中找到有关J2ME VS Android VS iPhone VS Symbian VS Windows CE的所有内容:

alt text


1
MITIan: 谢谢您提供这个精美的图片,希望您未来能够继续保持好的工作状态,我们期待着您能够再次带来这样优秀的作品。握手! - Sankar Ganesh PMP

9

我承认我有偏见,但支持Symbian的观点是:

  • 是开源的
  • 拥有远远超过智能手机市场份额(约45%)
  • 比Android和iPhone更适用于廉价硬件(意味着销量将会更快地增长)
  • 支持Python、Ruby、Java和Web Runtime Widgets
  • 从Symbian^4开始将拥有完整的Qt堆栈。

3

我认为iPhone在硬件和软件开发方面处于主导地位,Android很有趣但是太新了,Symbian由于Nokia的原因正在消亡,Windows会因为资金而存活下来,但他们会。iPhone太过束缚而且价格昂贵,但现在是最酷的。最后我认为,在接下来的两年中,iPhone将继续占据统治地位。


3
为了在智能手机之间实现最大的可移植性,我建议使用Javascript、HTML和CSS。这是唯一可以在某些你不提及的系统上运行(如Palm Pre和Google的ChromeOS)的方法,并且(如果你适度地使用高级功能)它是编写应用程序仅需一次并在各种平台上运行的惟一方法。特别是在一些服务器端支持的帮助下(除非你的容量很大,否则你可以在Google的App Engine上免费获得支持),这是许多需求的强大和有效的解决方案。
否则,你需要Objective C和Cocoa来开发iPhone应用(这是非常优秀的技术,在苹果公司的支持下得到了很好的维护,特别是如果你有一台Mac电脑,但对于其他智能手机以及iPhone上除ObjC或JS之外的任何东西都没有帮助)。

虽然你对于进行基于浏览器的开发的说法是完全正确的(对于那些可以基于浏览器的应用来说),但我不认同这个建议适用于那些有兴趣立即制作应用程序的人... 目前手机浏览器的速度仍然太慢了。 - Jeremy Logan
我发现iPhone和Android浏览器(以及我认为的WebOS)对于某些应用程序来说足够快。Google Latitude在MobileSafari中运行得非常好! - rpetrich
@fiXedd:你也可以使用NDK。 - Draemon

2

关于Android和iPhone的详细市场调研可以在这里找到。

2010年第一季度智能手机市场份额如下图所示:smart phone market share
(来源:nielsen.com)


2

Windows CE已经完全占据了耐用设备的操作系统市场,像摩托罗拉、英特美、海豚(霍尼韦尔)等公司都在使用它。

此外,Windows CE和Windows Mobile还拥有企业级数据库平台。

当涉及到花钱时,公司购买1000美元以上的设备,并在其上构建真正的应用程序...我认为Windows CE将长期存在,上面的图表只显示智能手机,没有其他设备,Android和CE可以在电视、游戏系统或其他任何设备上运行。


1

我的回复可能有点晚,但是我来了: 在过去的一年里,我通过工作和学术接触到了 iPhone 和 Android 平台。我发现这两个平台都存在着明显的缺陷,这将限制甚至禁止它们进入最大的移动市场——企业市场。奇怪的是,这些缺陷是同一个问题的两个相反方面:企业兼容性。

iPhone - 因为苹果对 App Store 中的应用程序拥有终极控制权,并且一旦获得批准,该应用程序必须对任何人开放,所以在我看来,iPhone 永远不会成为实际的商业移动设备。我无法想象一个愿意将其源代码暴露给苹果审查的企业。我也不希望我的“仅供内部使用”的企业应用程序可以被全世界任何人下载。我觉得这种情况很可笑。

Android - 另一方面,由于 Google(现在还有 Oracle)对应用程序开发没有任何控制权,因此任何想要的人,无论能力如何,都可以将任何旧的应用程序放在应用市场上,无论它是否有效。我不希望我的应用程序在混乱的、草率的、恶意的开发者中迷失。你呢?

然而,Android 胜出,因为开发人员不必强制提交他们的应用程序以便它们被分发。

任何其他平台都是小众或过时的。

这是我的看法。


1
源代码未提交给苹果,仅提交编译后的应用程序。 - cannyboy
我改正了。谢谢你的提醒。 - Mike S.

1

回复:是否有任何IDE、调试工具?

对于Android开发,最好的选择是使用基于Eclipse平台的MOTODEV Studio。它是一个集成开发环境,包括Eclipse 3.5和Android开发工具(ADT),还可以自动下载和配置最新的Android SDK。您还可以在其中使用集成的Android模拟器测试应用程序。


1

有趣,我会去看看。 - Sadi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接