gtk

gtk

跨平台的圖形工具包
GTK+(GIMPToolkit)是一套源碼以LGPL許可協議分發、跨平台的圖形工具包。最初是為GIMP寫的,已成為一個功能強大、設計靈活的一個通用圖形庫,是GNU/Linux下開發圖形界面的應用程序的主流開發工具之一。[1]GTK+雖然是用C語言寫的,但是您可以使用你熟悉的語言來使用GTK+,因為GTK+已經被綁定到幾乎所有流行的語言上。
    中文名:gtk 外文名: 别名: 定義:跨平台的圖形工具包 特點:功能強大、設計靈活 開發:GNU/Linux

應用程序

GTK+優秀應用程序

GIMP-GNU圖像處理程序

GNOME、XFCE等桌面環境和大部分窗口管理器都基于GTK+

Inkscape-類似于Illustrator、CorelDraw的矢量圖形繪制工具

Pidgin-支持多種協議(IRC、Gtalk、Yahoo Talk、MSN、QQ等等)的聊天工具

Firefox 、Chrome-兩大流行浏覽器

GTK+優勢

不論開發的需要是什麼,GTK+可能就是您正在尋找的答案。GTK+提供了許多東西:

它既現代,而且得到了積極的開發與維護,圍繞它有一個充滿活力的社區。它提供了廣泛的選項,用于把工作擴展到盡可能多的人,其中包括一個針對國際化、本地化和可訪問性的完善的框架。它簡單易用,對開發人員和用戶來說都是這樣。它的設計良好、靈活而可擴展。它是自由軟件,有一個自由的開放源碼許可。它是可移植的,從用戶和開發人員的角度都是這樣。

現代化、更新快

GTK+是采用軟件開發中的最新技術開發的,隻要發現缺陷(BUG)(肯定有缺陷,因為沒有任何軟件是完美的),開發人員就會盡力在下一版本中修補缺陷。使用現代的軟件意味着,您不會陷在過時的工作中,而跟不上時代的發展。

持續的維護和開發也意味着您擁有影響工具包的未來發展方向的能力。另外,在出現新的發行版時,會引入基于用戶反饋的新特性和新功能,而舊的問題則得到修補。

國際化、可訪問性

在創建要讓所有人使用的軟件的時候,請記住三個關鍵字:國際化、本地化和可訪問性(通常分别縮寫為i18n、l10n和a11y)。

國際化:

國際化是将程序準備為被母語不是開發應用程序所采用的語言的人使用的過程,所以應用程序不依賴于對任何特定語言的任何假設。

i18n遠遠不隻是對程序使用的文本進行翻譯。它還意味着要考慮所使用的不同腳本和字母表、不同的編寫方向、顯示許多語言所需要的特殊處理以及為用戶提供輸入文本的适當方法。不是每種語言都可以簡單地把每個字母映射到鍵盤上的不同鍵,而且還必須實現更好的複雜性,例如确保在錯誤消息中使用正确的單複數形式。

本地化:

本地化與i18n密切相關,因為為國際用戶準備應用程序不僅僅是改變語言。程序還必須能夠理解并尊重日期、貨币顯示、數字标注、文本排序所使用的不同習慣,以及許多可能不太注意的細節之處——例如有些符号的使用,在世界的不同地方可能會被認為是不恰當的或無禮的。

正像i18n,正确的l10n要求在代碼中添加很多東西,而這些是事後很難輕松加入的。GTK+提供了針對i18n和l10n的恰當工具,會讓代碼(和二進制)可以在許多語言和地域上不加修改地運行。切換地域所需要的就是随操作系統(針對l10n)或者一個可獨立于實際的程序進行處理和發布的翻譯文件(針對i18n)一起發布的一組數據。帶來的靈活性會得到開發人員、翻譯者和用戶的熱愛。

可訪問性:

是讓每個人都可以使用您的程序。有些用戶的視力不佳,有些人可能不能用鍵盤或鼠标,而有些人可能隻能移動他們的眼睛。要确保每個想使用您的應用程序的用戶都能使用,需要做許多工作。幸運的是,GTK+提供了一個途徑,可以通過一個完善的預先存在的a11y框架,立即得到這方面的支持,而您這邊幾乎什麼工作也不需要做。使用這個框架(它是UNIX系統上的事實标準),可以把應用程序帶給各類用戶。

您也能享受a11y的許多優勢——例如執行自動GUI測試的能力。通過讓特殊需求用戶運行的可訪問性軟件可以使用您的應用程序,您也可以讓測試軟件可以訪問它,例如,檢查行為是否正确——這在傳統的GUI編程中會帶來嚴重的問題。

以上三點可能是使用工具包的充足理由——特别是GTK+,它在這三個領域都有優秀的支持。這個支持絕不完美,但在同類軟件中是最好的,而且把這些關鍵字整合進應用程序的重要性并沒有提到應有高度。在今天的世界中,計算機無處不在,用戶衆多而且獨特,所以不能認為一個遺漏一整群用戶的應用程序是一個完整的産品。

簡單易用

這一點應當很明顯,但是它實際上含義豐富。工具包對用戶應當容易,這樣才有可能創建簡單的、直覺的和樂于使用的界面,哪怕針對的是新手。創建人機交互的正确模型不是一項簡單的任務,GTK+正是長時間工作的結果,而且是衆多的甚至困難的決策的結果。

GTK+對于開發人員也易于使用。它允許開發人員用簡單的方式說出自己想要的東西,不會用所謂正規方式給開發人員帶來負擔,這些正規方式是計算機為了彌補它們固有的缺乏想像力的缺陷而施加給人類的負擔。

設計靈活、可擴展

編寫GTK+的方式允許在不扭曲基本設計的情況下,讓維護人員添加新功能、讓用戶利用新功能。工具包也是可擴展的,這意味着可以向其中添加自己的塊,并用使用内置塊一樣的方式使用它們。例如,可以編寫自己的控制元素,比如說用于顯示應用程序處理的科學數據,并讓它正确地遵照用戶選擇的顯示風格,就像GTK+自身的控件那樣。

更進一步,GTK+是可定制的,這樣就可以讓它适應自己的需求。GTK+有一個系統,可以在所有應用程序之間複制設置,包括主題的選擇。主題是一組一同發布的定制設置,會影響GTK+使用的基本控件看起來的效果,甚至某種程度上的行為方式。使用主題,可以(例如)模拟另一個操作系統的觀感(參見圖1)。

自由、開放

自由軟件意味着每個人不僅可以自由地獲得和使用這個工具包,還可以在滿足某些條件的情況下修改并重新發布它。自由開放源碼許可意味着這些條件不是嚴格限制的,可以得到的自由程度是顯着的。最重要的是,GTK+采用了Lesser General Public License(LGPL)許可,這是GNU許可家族中一個不太嚴格的許可。LGPL允許自由地獲取、修改和發布它複蓋的任何軟件,隻要對修改也保持自由即可。LGPL還允許任何人使用該庫提供的功能,而不要求用戶公開應用程序代碼。(這對于許多工業應用來說很重要,因為由于以前的協議或許可,這種場合下一般不希望公開代碼或者公開代碼是顯然不現實的。)使用LGPL許可,您既可以是開放源碼社區的好夥伴也可以是好公民。

可移植

最後(但并不是最不重要),GTK+是可移植的。這意味着用戶可以在許多平台和系統上運行它。另一方面,開發人員可以把軟件提供給衆多用戶,卻隻要編寫一次程序,還可以使用許多不同的編程和開發平台、工具和編程語言。所有這些都可以理解為更多的潛在用戶,您可以利用更好地滿足需求的更廣泛的技能和工具。

所有這些優勢組合在一起,讓GTK+成為軟件開發的堅實基礎。有了它,就能夠把注意力集中在解決實際問題上,而不必重新發明輪子,而且您也可以确信創建的應用程序會按照用戶預期的方式運作、解決他們的問題,而不必創建新的應用程序。

相關詞條

相關搜索

其它詞條