iPhone开发与Symbian开发相比如何?

时间:2010-01-25 13:07:45

标签: iphone symbian

花了几年时间进行Symbian C ++开发,我想知道iPhone开发与Symbian开发的比较。

我感兴趣的是那些花时间在两个平台上工作的人的答案。

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

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

1 个答案:

答案 0 :(得分:6)

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

  

Symbian C ++ vs Objective C - 前者是哎呀呀。

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

  

模拟器 - 模拟器的接近程度   到真正的设备 - Symbian   模拟器真的是一个模拟器   Symbian库已修改为可运行   Win32的。例如。进程是一个线程   Symbian模拟器而不是Symbian   处理。模拟器是独立的   建立目标。

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

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

  

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

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

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

过去绝对正确。希望将来变得更好。曾经有多个UI(S60,S80和UIQ),现在只有一个(目前基于S60;即将被基于Qt的UI取代)。