熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

全面比較Swing與SWT

2013-11-23 19:36:54  來源: Java核心技術 

  簡短的說Swing相對於SWT的優勢有速度快有皮膚機制支持優秀的框架靈活可擴展官方標准%的市場占有率豐富的第三方類庫不計其數的學習材料強大免費的圖形界面設計工具(NetBeans Matisse)相對於SWT的缺點有多耗M左右內存啟動速度稍慢桌面集成相對弱兩者都有著漂亮的本地化外觀

  從兩者當初設計的目標來看SWT是治標目的是為了提高速度改善外觀Swing是治本它從框架結構著手Swing因此有著比SWT更廣闊的發展空間由於有著優秀的架構而且Java完全控制著實現權所以Swing總是可以不斷被改進的當Swing成熟了而彌補了速度和外觀後Swing的發展就因其良好的架構就因為代碼控制權等因素而呈現出一片廣闊的天空而SWT從一誕生起其先天性架構和實現缺陷就已經決定它很難前進由於依賴本地操作系統SWT可以發展的空間很小開始也許可以借助操作系統的本地實現來快速達到很好的效果但到此就結束了自己再優化反展的空間就很小了它將的實現大部分都交給了異質的系統它無法控制的系統卻需要花費相當代價進行交互的系統

  SWT上手速度要快一些因為SWT的API類似於傳統的GUI工具這使得許多從傳統GUI工具中轉過來的程序員很容易上手傳統GUI工具系統尤其是Windows平台的是基於消息映射機制的其基本模型是面向過程和面向消息的Swing的設計思想是基於面向對象的典范其MVC模式是程序設計模式的經典總的來說Swing與SWT就像面向對象語言之於面向過程語言但就學習曲線來說Swing並不比SWT陡峭Swing本身已經非常成熟官方提供的文檔各種網上資料書籍討論區浩如煙海其實學習曲線也未必比SWT陡峭

  就Swing與SWT的開發體驗來說SWT給開發者的體驗往往是對於SWT的滿意程度同使用SWT的時間成反比同對SWT與Swing的了解程度成反比剛開始往往是非常滿意甚至有驚艷的感覺但隨著使用時間的增長隨著對於SWT了解的深入這種滿意度就會越來越下降總之喜愛程度和了解程度成反比Swing給開發者的體驗是開始也許你要經常發牢騷這些牢騷就像在抱怨一個飽經風霜看似相貌平平但實際卻非常有內涵的人一樣隨著你對它的了解的加深你就會越來越被它吸引最終你會驚歎於它的博大精深你會發現你越學懂得越少而你的知識和能力卻像內力一樣越來越深厚總之喜愛程度和了解程度成正比

  對我來說Swing與SWT之間的故事就像是火車與馬車之間的故事火車剛發明的時候許多人嘲笑火車的速度太慢太丑陋火車在第一次試跑的時候人們坐著華麗的馬車和火車比賽結果很容易就超過了火車於是人們都在嘲笑這個丑陋笨重而緩慢的家伙卻看不到火車的本質和潛力幾百年後火車的速度已經超過一百多公裡運輸力已經達到成千上萬噸火車已經成為現在交通的主干力量而馬車仍然在徘徊在當初為什麼呢?就因為火車的本質架構是好的就因為火車有著很大改進空間就因為火車設計之初的目標是遠大的不是運幾百斤東西就滿足了的而是為更高速度更大運力鋪好了基礎架構


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27183.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.