GNOME 技術綜述(轉)
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位的深度進行計算可以保證圖象的畫質.
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 視覺SLAM技術綜述視覺SLAM
- 大資料技術綜述大資料
- 個性化技術綜述
- 人工智慧技術發展綜述人工智慧
- SAP 移動開發技術綜述移動開發
- Web頁面技術綜述(包括fastm)WebAST
- 「技術綜述」閒聊影象分割這件事兒
- 「技術綜述」視訊分類/行為識別研究綜述,從資料集到方法
- 資料庫系統 防止駭客入侵之技術綜述資料庫
- 「技術綜述」人臉年齡估計研究現狀
- IEA:全球智慧電網技術專利資料綜述
- 二零零二年IT業綜述 (轉)
- SDN控制器技術綜述:SDN交換機配置技術與控制技術的關係—VecloudCloud
- Windows管道技術簡述 (轉)Windows
- PowerJob 技術綜述,能領悟多少就看你下多少功夫了~
- Linux啟動過程綜述(轉)Linux
- Lotus Domino/Notes Toolkits綜述(一) (轉)
- AIGC用於智慧寫作的技術綜述-達觀資料AIGC
- Spring綜述Spring
- API安全綜述API
- 「技術綜述」一文道盡R-CNN系列目標檢測CNN
- OCR技術發展綜述與達觀資料的實踐經驗
- 2007資料庫技術年度綜述與趨勢展望資料庫
- 綜述 | 農業大模型:關鍵技術、應用分析與發展方向大模型
- 綜述:微軟的Linux圍剿戰(轉)微軟Linux
- Lotus Domino/Notes Toolkits綜述(六) 其他 (轉)
- 視覺SLAM綜述視覺SLAM
- Spring Bean 綜述SpringBean
- JavaScript模板引擎綜述JavaScript
- Java集合框架綜述Java框架
- pl/sql reference綜述SQL
- (譯)haslayout 綜述(一)
- 文字識別(五)--自然場景文字檢測技術綜述(CTPN, SegLink, EAST)AST
- 柴天佑院士深度綜述:指明自動化科學與技術發展方向
- JSP標籤庫介紹(1)綜述 (轉)JS
- Lotus Domino/Notes Toolkits綜述(二) C API (轉)API
- Lotus Domino/Notes Toolkits綜述(九) 小結 (轉)
- 「技術綜述」影象與CNN發家簡史,集齊深度學習三巨頭CNN深度學習