花了几年时间进行Symbian C ++开发,我想知道iPhone开发与Symbian开发的比较。
我感兴趣的是那些花时间在两个平台上工作的人的答案。
澄清:示例:以下比较如何:
答案 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取代)。