GNOME 技術綜述(轉)

BSDLite發表於2007-08-11
GNOME 技術綜述(轉)[@more@]1 簡介

GNOME提供了一個豐富,成熟的桌面環境讓你使用你的應用程式.在這個環境的圖形前端是一個健壯的結構,允許開發者花費更少的時間來建立應用程式,透過使用它提供的工具可以讓你的應用程式保持在計算機技術的前沿.

本文所述技術細節包括:GTK+,GNOME和視窗管理器的關係,CORBA和ORBit,和GNOME成像結構.


2.GTK+

GTK+是一個成熟,高效的構件集合.它在保持了擴充套件性和效率的前提下提供了現代的視覺和感覺效果.GTK+為應用程式開發者提供了一個強大的系統物件,它具有動態查詢的能力,還可以在執行時修改物件和構件.GTK+是一個可以擴充套件的工具箱,例如,GNOME有內嵌的,高層構件來縮短應用程式的開發週期.
有很多理由使用GTK+諸如:許可證,捆綁的語言,國際化,拖放支援.
2.1許可證
GPL
2.2語言捆綁
因為GTK+開發的開放性,許多人釋出了捆綁GTK+的語言.除了C還有許多語言可以用來建立GTK+應用程式:C++,Perl,Python,Pascal,Objective C,Guile,和Ada.
2.3國際化
GTK+支援國際化文字顯示,輸入使用XIM擴充套件工具.因此,你的應用程式立即可以使用非羅馬字符集例如亞洲語言.
2.4拖放
GTK+拖放功能支援Xdnd和Motif拖放協議,它們允許其它支援這兩個協議的其它構件使用拖放功能.使用其它支援拖放協議的構件(例如Motif, Qt)寫的程式可以和GTK+應用程式共享拖放功能.

3.GNOME,視窗管理器和X

新的使用者很難理解GNOME和視窗管理器,GNOME和X的關係.
X視窗系統是將圖形元素寫到螢幕上的軟體.它是整個系統的基礎,提供顯示圖形的庫和技術.
視窗管理器定義視窗在螢幕上的位置和視窗邊界外觀與行為.
GNOME是一個執行在X視窗系統和一個視窗管理器上的桌面環境.GNOME被設計成獨立於任何視窗管理器.使用者可以選擇視窗管理器.GNOME提供了一些機制(hints)讓視窗管理器和它無縫地工作在一起.如果一個視窗管理器包含了這些機制就和GNOME相容.當前,只有很少的視窗管理器和GNOME全部或者部分相容.

4.GNOME中的CORBA

GNOME提供了CORBA作為應用程式的通訊機制.CORBA(Common Object Request Broker Archiecture通用物件請求代理結構)是由OMG開發的.CORBA允許程式互相通訊而無論它在本地還是網路或者它們是如何實現的(使用何種語言/作業系統).例如,一個執行在LINUX上使用C語言寫的程式可以使用CORBA向一個使用Python寫成的執行於Windows系統上的程式發出申請.
GNOME應用程式之間的通訊是透過物件請求代理(ORB)實現的.簡言之,ORB是允許兩個程式進行通訊的中介軟體.

4.1 ORBit

ORBit是一個由GNOME工程組開發的ORB.早期,由於受到許可證的限制,幾乎沒有可以用在GNOME中的ORB.一群駭客寫了一個小的,輕量級的ORB叫做ORBit.

5.GNOME成像結構

GNOME成像結構為開發者提供了建立互動圖形顯示,高質量列印,印刷質量字型的工具.在GNOME成像結構中有四個元件:Canvas,Libart,GNOME列印,GNOME字型.

5.1 Cavas

GNOME Cavas是一個建立結構化圖形的高層顯示引擎.一個Cavas顯示諸如線,矩形,弧形,文字的集合.Cavas是個可擴充套件的,高層,物件導向的繪畫構件.應用程式可以使用cavas的基本繪畫原語來建立互動的顯示,或者定義他們自己的型別來提供複雜的顯示..
GNOME Cavas透過倆種模式來顯示圖象. 1.使用Xlib,快速但是質量低; 2.使用Libart,高質量,但是需要更多的系統資源.

5.2. Llibart
Libart是一個高質量的執行引擎.它使用了很多的技術來提高效能,例如,microtile陣列.一個microtile陣列是一個類網格的資料結構,它讓canvas有效地代表需要重劃區域.
Libart使用GdkRGB為所有的圖象建立24位的執行空間,而不管最後的顯示是多少位的.如果圖象使用少於24位的深度來顯示,Libart在顯示之前仍然使用24位RGB空間來計算,然後,根據X的顯示深度對圖象進行轉換.這樣提高了執行的效率,而且使用24位的深度進行計算可以保證圖象的畫質.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947481/,如需轉載,請註明出處,否則將追究法律責任。

相關文章