JavaGUI編程的前世今生

早在20年前,Java從一個毛頭小子成長爲今天的企業高層,鑄就了從gui到web的發展,也是目前java在行業中能成爲行業霸主的原因。

GUI 是 Graphical User Interface 的簡稱,即圖形用戶界面,通常人機交互圖形化用戶界面設計經常讀做“goo-ee”,準確來說 GUI 就是屏幕產品的視覺體驗和互動操作部分。

  GUI 是一種結合計算機科學、美學、心理學、行爲學,及各商業領域需求分析的人機系統工程,強調人—機—環境三者作爲一個系統進行總體設計。

  這種面向客戶的系統工程設計其目的是優化產品的性能,使操作更人性化,減輕使用者的認知負擔,使其更適合用戶的操作需求,直接提升產品的市場競爭力。

JavaGUI編程的前世今生

 

  GUI 即人機交互圖形化用戶界面設計。縱觀國際相關產業在圖形化用戶界面設計方面的發展現狀,許多國際知名公司早已意識到 GUI 在產品方面產生的強大增值功能,以及帶動的巨大市場價值,因此在公司內部設立了相關部門專門從事 GUI 的研究與設計,同業間也成立了若干機構,以互相交流 GUI 設計理論與經驗爲目的。隨着中國 IT 產業,移動通訊產業,家電產業的迅猛發展,在產品的人機交互界面設計水平發展上日顯滯後,這對於提高產業綜合素質,提升與國際同等業者的競爭能力等等方面無疑起了制約的作用。

Java寫GUI比較麻煩,而且不容易寫得比較好看。如果要寫的好看的話,佈局很麻煩。常見的庫有awt,swing,swt等。現在有不錯的可視化編輯器,但感覺還是不是很好用。

JavaGUI編程的前世今生

 

通過多年的發展JavaGUI領域中爲了更好的優化圖形界面開發推出了很多不同的GUI開發框架:

AWT

是swing的基礎,運行良好,但缺少高級組件。如果您打算創建豐富的應用程序,那麼AWT可能不是最好的方法。但是對於不需要豐富用戶界面的較小gui應用程序來說。這可能非常適合,因爲它是一個久經考驗的框架。

基於AWT,如前所述。在它的初期,它被認爲是緩慢和有缺陷的,並導致IBM爲Eclipse創建SWT。但是對於Java 5(或6?)Swing成爲構建新應用程序的首選框架。Swing有許多豐富的組件,但在某些領域仍然缺乏。一個例子是,沒有一個功能齊全的可以進行排序和過濾/搜索的樹狀組件。

SWT

由IBM爲Eclipse創建的,他們似乎認爲Swing在當時並不適合Eclipse。它本身非常低級,並且通過JNI使用平臺的本機小部件。它與Swing和AWT完全無關。然而,他們的API有些笨拙且不直觀。它們確實有一些高級組件,比如樹狀結構。(但我認爲他們不支持分類和過濾).SWT使用了一些本機綁定(通過JNI?),而internet上的抱怨是這個框架不應該在今天的項目中使用。

SwingX

基於Swing的任務是爲Swing創建豐富的組件。仍在發展。(不過不是很活躍。)有一組非常好的組件,例如TreeTable。但據我所知,TreeTable不支持過濾和排序。不過,它確實支持突出顯示搜索。注意,SwingX是組件(AFAIU),它是現有Swing組件的擴展或組合

JGoodies

一個我不知道的框架…它的優點和缺點是什麼?Jgoodies有什麼不同於其他的?JGoodies OTOH是關於PLAFs和佈局的。

JavaFX

Java/Oracle的最新旗艦。承諾成爲開發富桌面或web應用程序的實際標準。

Apache Pivot

它使用Java2D呈現UI,從而最小化了Swing和AWT(在我看來,過於臃腫)遺留的影響。(@Augustus Thoo)

它的主要焦點似乎是RIA(Rich internet applications),但它似乎也可以應用於桌面應用程序。作爲個人評論,看起來很有趣! 我特別喜歡這個apache項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章