meego開發的學習路線

2021-05-24 04:51:11 字數 3920 閱讀 5015

不同版本的meego系統,底層和中間層架構,大體是一致的,也是可以定製裁剪的。區別主要在最上層的使用者體驗層,比如handset版和notebook版的meego,ui就很不一樣(ui的開發環境,也不一樣),這篇文件,是針對handset版meego的學習路線,做的乙個總結。後面提高到的meego,未做明確說明的情況下,都是特指handset版的meego系統。

一、基礎

1、程式語言

1.1 meego的圖形介面,是基於qt開發的,不用說,c++肯定是首選的開發語言。

1.2 stl的使用。qt自己實現了一套類stl介面,和標準的stl僅有一些小的區別,而且也有api文件。之所以單獨提到stl,是因為這個東西太重要的,它的核心內容,就是容器和演算法,這是c++程式中最基本的資料操作,一定要掌握。(初學者,可以通過stl的中文教程來學習,然後很容易就能轉到qt的類stl介面上編寫**)。

1.3 meego是的中間層,不全是由qt開發的,其中的一部分,是由c語言寫出來的。其實meego上很多中間層的服務程式,都是直接用的gnome桌面環境中的開源專案,而gnome的基礎,就是基於c語言的gobject系統,所以,c語言也是乙個重要的開發語言。

但是,c並不是必須的,如果懂c,相當於錦上添花,後面在第二部分,我會詳細的解釋。

2、明確一些概念

2.1 首先明確一點,qt不僅僅是用來繪圖的,qt其實是乙個很完善的底層庫,除了繪圖,qt還融合了很多和ui無關的功能,比如網路、xml、sql等等,qt都有相關的類和框架。

2.2 meego是基於qt的,準確點描述,可以是這樣:meego繼承qt,開發了一套gui庫--libmeegotouch,meego的介面,就是用libmeegotouch開發的,而隱藏在介面背後的功能性的**,則是用qt開發的。

2.3 qt有乙個非常好的文件系統和眾多的example code,一定要充分利用。

2.4 雖然libmeegotouch也有文件和example code,但是,由於libmeegotouch僅僅是負責繪製gui,它的example code有侷限性,而且數量也較少,因此對於開發人員,一定還要通過qt example code來深入學習。

3、qt/meego基礎學習

4、meego/qt中的widget

4.1 不管是哪一種gui庫,都有widget的概念,相當於windows程式設計中的控制項。按鈕、文字編輯框、下拉列表,這些都是widget,widget概念的引入,使得圖形介面程式設計更加的方便快捷。

4.3 meego是使用在小螢幕裝置上的乙個系統,如前所述,qwidget是為桌面環境設計的,不適合手持裝置,雖然qgraphicswidget並不完善,但是graphics view framework有很強的靈活性,所以meego選擇從qgraphicswidget繼承,專門為小螢幕裝置實現了一套widget庫--mwidget。

http://doc.qt.nokia.com/4.7/model-view-programming.html。libmeegotouch原始碼目錄example中的子目錄,apscanner,是乙個使用了model/view框架的例子,要通過這個**學習mlist的使用。

5、meego/qt中常用的框架、技術

二、深入

前面的介紹,著重於meego開發的基本技能,尤其是widget的使用。隱藏在gui後面的功能性**的開發,meego也提供了很多優秀的程式設計框架。

1、程序間通訊。linux桌面環境最常用的通訊方式是dbus,而且dbus已經成為乙個標準,meego自然也是使用dbus。

1.2 gnome桌面開發中,使用的是dbus-glib庫,這個是基於gobject物件系統的c庫,詳細介紹,可以參考http://library.gnome.org/devel/dbus-glib/unstable/index.html

1.3 qt中也繫結了dbus,詳細介紹,可以參考http://doc.qt.nokia.com/4.7/intro-to-dbus.html

2、資料庫

3、多**程式設計

3.1 qt有一套多**程式設計框架phonon ,但是這並不是qt的最終目標。可以忽略這個框架。

http://doc.qt.nokia.com/qtmobility-1.1.0/**********.html,這個才是qt將會主推的方案,meego上也是用的這套框架。

4、即時通訊程式

5、meego開發中的c語言

從前面介紹的4個框架來看,原生都是用c語言開發的,而且都有基於gobject系統的c介面。qt做的,主要是對這類底層庫的乙個上層封裝,或者是程式語言的繫結。對於開發者,在學習這些框架的時候,如果了解gobject系統,學習起來肯定會更方便,而且很多可以參考的文件,也都是以c語言的原生介面為例的,包括大量的example code,也是用c寫的。所以,在開發過程中,基於gobject物件系統的c程式設計,是開發者的第二個有力工具。

關於Web開發學習路線

看下 dhtml,js方面的書籍就可以了。自由飛翔 11 53 23 php與.net在做 方面有那些優勢?張意 11 54 21 我覺得如果你決定搞web 網際網路 的話就搞php,它快捷,簡單,高效。張意 11 54 45 如果不僅僅是網際網路的話,還是.net好些。自由飛翔 11 56 12 ...

MeeGo手機開發起步

meego 1.0 notebook 是基於qt的麼提到notebook幾乎沒有qt的什麼應用在裡頭,不過handset版本則是實打時的qt應用,包括桌面管理器和視窗管理器,以及各種應用,你會看到qt無所不在。這篇文章就以最簡單的篇幅介紹一下如何在linux下搭建乙個meego handset環境。...

java學習路線 高階開發 列舉

了解多例設計模式 構造方法私有化,類內部需要若干個例項化物件通過static方法返回 列舉就是高階的多例設計模式 enum是關鍵字,使用關鍵字定義了乙個繼承了抽象enum的實體類 列舉類有很多內容是,列舉物件在類的第一行 列舉類的構造方法不能使用public應該使用private 列舉還可以實現介面...