您好,登錄后才能下訂單哦!
這篇文章主要介紹Swing與SWT的區別是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
簡短的說Swing相對于SWT的優勢有:速度快、有皮膚機制支持、優秀的框架、靈活可擴展、官方標準、47%的市場占有率、豐富的第三方類庫、不計其數的學習材料、強大免費的圖形界面設計工具(NetBeans Matisse)。相對于SWT的缺點有:多耗10M左右內存、啟動速度稍慢、桌面集成相對弱。兩者都有著漂亮的本地化外觀。
從兩者當初設計的目標來看,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之間的故事就像是火車與馬車之間的故事:火車剛發明的時候,許多人嘲笑火車的速度太慢、太丑陋。火車在***次試跑的時候,人們坐著華麗的馬車和火車比賽,結果很容易就超過了火車。于是人們都在嘲笑這個丑陋、笨重而緩慢的家伙,卻看不到火車的本質和潛力。幾百年后,火車的速度已經超過一百多公里,運輸力已經達到成千上萬噸,火車已經成為現在交通的主干力量,而馬車仍然在徘徊在當初。為什么呢?就因為火車的本質架構是好的;就因為火車有著很大改進空間;就因為火車設計之初的目標是遠大的,不是運幾百斤東西就滿足了的,而是為更高速度、更大運力鋪好了基礎架構。
以上是“Swing與SWT的區別是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。