【问题标题】:Dev efforts for different mobile platforms针对不同移动平台的开发工作
【发布时间】:2010-05-11 10:06:02
【问题描述】:

我正在开发一个应该在多个移动设备上运行的客户端-服务器“社交”。该项目相当复杂,涉及网络、交换媒体、使用地理定位服务和漂亮的用户界面。

就开发工作、技术风险和可扩展性而言,最好的平台是什么?考虑到目标是尽可能快地使用移动版本“上线”。第二个目标是覆盖大多数用户(但第一个更重要)。

iPhone (iPod iPad) 安卓 黑莓 爪哇我, 塞班

我意识到每个平台都存在限制,并且需要考虑不同的方面(例如,iPhone 的开发者社区比 Android 更好,J2ME 在糟糕的沙箱中运行但涵盖了大多数设备)。

请分享您的优点和缺点。我只有 J2ME 的经验,遗憾的是我无法评估其他平台。

【问题讨论】:

  • 这个问题没有明确的答案,任何事情的“最佳”平台这个话题往往会导致主观和争论的反应。此主题也已在此处的其他问题中涉及:stackoverflow.com/questions/1599725/…

标签: iphone android blackberry java-me symbian


【解决方案1】:

如果您正在查看您列出的平台上的原生应用程序,那么按照从少到多的顺序,所需的开发工作是:

  1. iPhone

  2. 安卓

  3. 黑莓

  4. Java ME

  5. 塞班

开发工作主要受语言/库、工具和碎片化的支配。因此 iPhone 获胜(良好的语言和库、出色的工具、很少/没有碎片)。 Symbian 排在最后(C++ 库有限、工具差、碎片大)。 Android 在库和碎片化方面击败了 Blackberry,Blackberry 在碎片化方面击败了 Java ME。

与此相对的是市场规模,尤其是在您的目标用户群中 - Java ME 覆盖的设备比任何其他平台都多,而 Android 安装基数仍然是这 5 个平台中最小的。

没有一个正确的答案,但如果影响力很重要,那么 Java 是一个很好的起点,如果上市时间和用户体验是关键,那么 iPhone 就有意义。

还值得看看移植到其他平台的难易程度。周围有各种跨平台库,例如 Airplay 或 J2ME Polish,它们可能会降低成本——前提是您可以在跨平台部分实现您的应用程序。

【讨论】:

  • 我没有涉足 Android,但从 iPhone 到黑莓的跳跃——就烦恼而言——是巨大的。例如:为了从 Apple 获取代码签名密钥,我只是通过 developer.apple.com 购买了它们。来自 RIM,他们的 web 表单已经关闭了两周,我不得不通过传真订购密钥:na.blackberry.com/eng/developers/javaappdev/codekeys.jsp
  • Symbian 应该是#1。它支持比任何其他移动平台更多的语言选择。 C++、OpenC、Java、Python、Qt 等等 5。它还拥有迄今为止最大的安装基础和所有其他选择基于工程的 symbian 的充分理由,而不是当下的 x 因素选择。
  • @Dynite:它可能支持多种语言,但是用其中任何一种编程都是一头猪。它的 Java 本质上是 J2ME,所以它和那个平台一样好/坏。 Open C 无法访问大多数平台功能。 Python 也同样受到限制。一个完整的“原生”应用程序意味着 Symbian C++ 和(对于尚未发布的设备)Qt。作为一个拥有 10 年 Symbian 编程经验的人,我可以肯定地说它不在这个列表的最后,因为它不是“当下的选择”——它在那里是因为它的开发环境很差。
  • “开发环境”具体是什么意思?
  • 开发环境 = 开发人员完成工作所需的所有内容。具体来说:IDE/工具链(编译器/构建)/调试器/编程语言/库/文档/签名/分发。 Symbian 在几乎所有的竞争中都是输家。
【解决方案2】:

我想为 Maemo/Meego(诺基亚/英特尔的移动 Linux)发声。虽然它处于过渡状态,目前 Maemo 5 只有一部好手机(还有几部便宜的中国手机),但我觉得它很快就会大起来(我喜欢很多人认为 Meego 将成为诺基亚的高端战略诺基亚是世界上最大的手机制造商)。此外,N900 是目前最酷的手机。

此外,它基本上是一个开放的 Linux 设备(非常类似于标准桌面 Linux)。 ide QT Creator 很棒并且是跨平台的(带有嵌入式视觉设计器和漂亮的文档浏览器),但你不必使用它,有一些支持使用你自己的文本编辑器或 ide。

没有什么签名密钥的废话(我为黑莓做了一个学生项目,对密钥感到非常恼火)。我不喜欢黑莓的其他事情:只有 Windows 的 Eclipse 插件,我们的团队在弄清楚如何将第三方库添加到黑莓 COD 档案时遇到了很多麻烦。还有一些类在很多方面都有些稀疏,尤其是 String/Char,可能是因为它基于 ME,我也不喜欢文件读/写 api,感觉有点尴尬,可能是因为黑莓应用程序最近才获得存储文件的能力(在您只能通过持久层将对象存储/检索到磁盘之前)..

首选语言是(目前是 Gobject C,但 Meego 较少)、Qt 风格的 C++ 和 python。那里的库很好,qt 的文档特别好。由于它是一个很小的 ​​linux 机器,您可以在设备上进行调试(还有一个模拟器)。

请注意,我没有为 Maemo/Meego 开发过任何东西,但我已经阅读了很多相关的内容,并且刚刚坠入爱河。

【讨论】:

    【解决方案3】:

    我认为最好的解决方案可能是从智能手机优化的网站开始。原生应用可以提供更丰富的界面,但设计良好的网络应用可以接近并可以在任何设备上运行。

    查看WPTouch,了解一个非常出色的手机优化网站示例。

    【讨论】:

      【解决方案4】:

      根据 Roman A. Taycher 的意见,我想为 windows Mobile/Windows Phone 大声疾呼。它有一个庞大的安装基础,它拥有久经考验的真正的 Visual Studio 工具集来开发,它拥有最好的模拟器(它实际上模拟了 ARM 指令集 - 你听到了吗,Apple?),你可以利用你的Win32 体验。

      MS-haters - 请不要打扰回复。我都听过。

      【讨论】:

        【解决方案5】:

        Qt 或 HTML5 等跨平台运行时是不错的选择,而且是可移植的。

        Qt 支持多种平台,包括 Symbian、Meego、Linux、Windows 等。它被认为是目前最好的编程框架之一。

        Qt creator 也是一个备受推崇的 IDE。

        当然,几乎所有东西都可以访问 HTML,而且那里有很多工具。

        【讨论】:

          【解决方案6】:

          虽然为给定平台原生开发的应用程序通常在平台 UI 一致性和性能方面胜出,但您可以尝试使用可用的多平台框架之一,例如 Rhodes(仅举一个例子)。就个人而言,我对 Rhodes 没有任何具体的经验,并且是几天前才了解的(仔细查看仍然在我的待办事项列表中),所以请自行判断框架在不同设备上提供的用户体验.

          【讨论】:

            【解决方案7】:

            听起来您需要移动社区框架 (MCF)。它是一个跨平台框架,用于在所有现代智能手机平台(iPhone、Android、Blackberry、Symbian、WinMo——几乎所有你提到的,除了 J2ME)上开发以网络为中心、位置和邻近感知的应用程序。它为所有这些平台提供本机二进制文件。使用 MCF 可以减少开发时间,因为您不需要自己编写所有这些网络内容,但您可以使用简单的 API 通过 Wi-Fi ad-hoc 模式或通过加密连接发送任意数量的数据特殊的代理服务器。

            更多信息请访问http://www.uvamobiltec.com

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-08-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多