我打算在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