【问题标题】:How does iPhone development compare to Symbian development?iPhone 开发与 Symbian 开发相比如何?
【发布时间】:2011-01-09 02:22:55
【问题描述】:

在从事 Symbian C++ 开发多年后,我想知道 iPhone 开发与 Symbian 开发的比较。

我对那些在这两个平台上工作了一段时间的人的回答很感兴趣。

澄清:示例:以下如何比较:

  • Symbian C++ 与 Objective C - 前者是 yuck 恕我直言。
  • Symbian 库与 iPhone 库
  • 仿真器 - 仿真器与真实设备的接近程度 - Symbian 仿真器实际上是一个仿真器,因为它修改了 Symbian 库以在 Win32 上运行。例如。进程是 Symbian 模拟器上的线程,而不是 Symbian 进程。模拟器是一个单独的构建目标。
  • IDE - 它们如何比较(例如 eclipse 或 codewarrior 与相关的 iPhone IDE)
  • 文档 - 文档比较 - Symbian 文档还有很多不足之处。
  • 社区支持
  • 碎片化 - 有许多 Symbian OS 版本和手机可能成为潜在目标 - 这可能是真正的开发和维护噩梦。加上各种风格的 UI。
  • 部署应用程序 - 例如Symbian 签名/私有 API/运营商 vs 什么?在 iPhone 上

【问题讨论】:

标签: iphone symbian


【解决方案1】:

我从未做过任何 iPhone 开发,但我想指出一些与您的观点相关的 Symbian 世界的发展:

Symbian C++ 与 Objective C - 前者太糟糕了,恕我直言。

这当然不是每个人的口味!对于应用程序开发,Symbian C++ 将变得越来越不重要,因为Qt(通常被认为是一组非常用户友好的库)将用于下一代应用程序框架/UI 层。操作系统的较低层将继续使用 C++ 的 Symbian 方言,但正在添加 Qt libraries for functionality such as multimedia, location and messaging - 因此应用程序开发人员不太可能必须直接调用本机平台 API。

模拟器 - 模拟器有多接近 到真正的设备 - Symbian 模拟器真的是一个模拟器,因为它 Symbian 库已修改为在其上运行 赢32。例如。一个进程是一个线程 Symbian 模拟器而不是 Symbian 过程。模拟器是独立的 构建目标。

您对模拟器的描述(单个主机进程,单独的构建目标)是正确的。正因为如此,模拟器本质上是操作系统到完全不同的平台(在本例中为 x86)的一个端口,所以根本不为手机建模。令人高兴的是,它正在逐步淘汰并被模拟器取代,就像那些已经包含在 iPhone 和 Android SDK 中的模拟器一样。 (事实上​​,模拟器基于相同的技术 - QEMU - Android 使用)因为模拟器将 ARM 指令转换为桌面机器可以理解的指令,所以可以将相同的二进制文件部署到模拟器和设备本身.

模拟器包括一个由许多虚拟外围设备组成的“板模型”,每个外围设备都映射主机的一部分 - 例如,模拟器音频设备可以连接到桌面声卡。由于可以修改此板模型,因此可以定制模拟器环境以非常接近地模拟特定设备,因此希望看到设备制造商在其 SDK 中提供与相应物理设备非常相似的模拟器。

IDE - 它们如何比较(例如 eclipse 或 codewarrior 与相关 iPhone IDE)

CodeWarrior 是一个相当老旧的 IDE。 Carbide(基于 Eclipse)更好,并提供相当成熟的设备上调试支持(尽管在 XCode / iPhone 解决方案中没有那么流畅)。所有 Qt SDK (Qt Creator) 中包含的 IDE 可能是最好的,并且在可用性方面与 XCode 进行了比较。

碎片化 - Symbian 有很多 操作系统版本和手机可以 潜在目标——这可能是一个真实的目标 开发和维护的噩梦。 加上各种风格的 UI。

过去确实如此。希望以后越来越好。曾经有多个 UI(S60、S80 和 UIQ)的地方,现在只有一个(目前基于 S60;即将被基于 Qt 的 UI 取代)。

【讨论】:

  • 我想补充一点,虽然这对开发人员来说是个问题,但它也帮助 Symbian 在全球范围内安装了基础,也就是说,比 iPhone 大 5 到 6 倍...跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 2011-01-16
相关资源
最近更新 更多