我打算在Symbian系统上开发,但我并不熟悉它。我知道(可能)在Symbian上开发最流行的方式是Symbian C++,我也听说过Qt。他们之间有什么区别?如果我想让我的应用程序在大多数Symbian系统上运行,我应该选择哪一种? 有人可以给我一些整体建议吗?Qt还是Symbian C++?
谢谢〜
我打算在Symbian系统上开发,但我并不熟悉它。我知道(可能)在Symbian上开发最流行的方式是Symbian C++,我也听说过Qt。他们之间有什么区别?如果我想让我的应用程序在大多数Symbian系统上运行,我应该选择哪一种? 有人可以给我一些整体建议吗?Qt还是Symbian C++?
谢谢〜
的Symbian C++是C的方言++在操作系统写入,从内核一路攀升到应用程序框架。它与标准C++有很多不同之处,其中一些在这里列出:
,这些可以使学习Symbian C++很难,即使是经验丰富的C++程序员也是如此。清理栈和字符串类(特别是描述符)通常被认为给Symbian C++开发增加了很多开销。
与任何操作系统一样,除了需要了解本地语言之外,还需要了解与您的开发领域相关的库的方法。 Symbian有一套非常丰富的库,涵盖大量的功能(线程,IPC,图形,多媒体,网络,位置,消息传送,PIM,电话等)。一旦你习惯了Symbian C++习惯用法,这些库通常非常强大并提供至少与其他平台相同的功能集。一个值得注意的例外是UI库,称为Avkon,与其他平台上的相应框架相比,它现在已经相当过时了。
Qt旨在解决上面列出的一些问题,这些问题往往会让人们在Symbian OS上本地开发。具体而言,它使得更现代的C++编程风格成为可能,并且包含一组非常先进的图形/ UI库。今天,在最新的Symbian设备上使用Qt is available for installation。展望未来,这将构成全新应用框架的基础,该框架将在the platform的S^4版本中推出(预计将于2011年发售)。
我应该指出的一件事是,在这一点上,Qt并没有涵盖本地库的所有功能。从上面的列表中,虽然Qt提供线程,IPC,图形,多媒体和网络的抽象,但其核心库不包含位置,消息或PIM功能。所以,虽然您可以使用Qt编写(例如)FTP客户端,绘图程序或媒体播放器,但您不能用它来编写消息客户端。由于Qt是C++,因此您可以将其与本机Symbian C++(例如,下载到平台API以访问消息)混合使用,但这有点复杂。
这个功能差距正在通过名为Qt Mobility的项目解决,该项目将引入Qt库,涵盖位置,消息传递和PIM等领域。总之,如果您是Symbian的新手,Qt是应用程序开发环境,您可以在其他平台上开发Qt应用程序(因为它是一个跨平台工具包) 。
有7个可用的工具包-Symbian下的比较++,Qt的,Open C的\ C++,Python和小工具,Java ME的,闪光Lite-这里:Hitch Hikers Guide to the Runtime Space
转到Qt的。这将是所有诺基亚走向的方向。再加上你的程序可能会运行在Maemo/Meego上。
答案是有点晚了,但在这里,从Symbian C++的诺基亚开发者维基:
Symbian C++的,对于Symbian的本地编程框架,是C++低内存设备进行了优化的 惯用的变体。虽然Qt现在是建议Symbian应用程序的推荐本地框架,但我们 仍然提供对使用Symbian C++的工具的访问权限。这种持续的支持使您能够维护传统应用程序,并且 将它们迁移到最新版本的Symbian平台。
这听起来像Qt现在是首选,新项目应该使用Qt。
非常感谢〜对于Symbian上的Java ME怎么样? – 2010-01-27 08:36:28
我的答案集中在本机C++开发选项上,但Symbian也支持许多其他运行时。除了Java ME之外,您还可以使用Flash,Python,WRT,.NET(使用专有库)进行开发... ...列表继续... – 2010-01-27 08:43:50
非常感谢 – 2010-01-27 08:50:22