SWT
是很多人都推崇的窗体界面开发组件,有很多喜欢
Eclipse
的人都说,
SWT
的效率比
Java
自身所带的
AWT
和
Swing
无论是开发效率还是运行速度上都快。确实如此,
SWT
在
Java
世界来说确实是
AWT
和
Swing
的强大竞争对手。这里引用一段
Eclipse
开发者的话,“
SWT
本身仅仅是
Eclipse
组织为了开发
Eclipse IDE
环境所编写的一组底层图形界面
API
。或许是无心插柳,或是有意为之,至今为止,
SWT
无论是在性能和外观上,都超越了
SUN
公司提供的
AWT
和
SWING
”。
当然,这个观点是我并不是很同意,但鉴于自己前面一篇文章的“白痴”观点挨到不少高人的批评,呵呵,咱只是一个懂点
Oracle
和
MySQL
,听说过
Java
和
Ruby
,见过
Eclipse
的人(具体这些是什么东西还真的是不知道),还是不要乱提意见的好(玩笑而已)。自己不提,但
Java
世界的英雄
James Gosling
的意见总可以上台了吧?当然还是那句话,仅仅是我认为
James Gosling
是
Java
世界的英雄而已(因为他缔造了
Java
,而且还一直为
Java
维护,抨击其他语言(嘿嘿,他的这个特点俺喜欢啊))。
James Gosling
的照片:
/*偶像吧,帅就一个字*/
这是他回答记者关于
SWT
的问题:
问:一个曾经徘徊在
Java
和
.Net
技术平台之间的开发者因为
Java
语言的分裂提出过下面的问题:
Eclipse
的
SWT
(
Standard Widget Toolkit
)比
AWT
和
Swing
都好(性能和开发效率)。
JBuilder
的
GUI
却漂亮一点,但用的不是
SWT
。
Hibernate
?
JDO
?还是
Beans
?他想知道下一版本的
Java
怎么做到方便开发,让应用程序好看点,容易部署一点,同时又能提供更优秀的数据库使用技术,使开发人员能在最短的时间内开发出更快、更稳定、更漂亮的程序,让那些
.Net
的教徒们活在绝望中。
答:嗯,我肯定会推荐大家使用
Java
基础类库
JFC/Swing
的,因为只要使用得当,他们会比
SWT
的性能和速度更快。只是因为
Swing
比
SWT
拥有更多的特性,所以很容易用错,这是个问题。
而关于数据库方面,每一种情况都有不同,你不得不去了解更多的情形。在某些情况下,关系数据库会是好的选择,但有些情况下,面向对象的数据库才是好的选择。这也是技术让人讨厌的一面。
James
大哥在
CSDN
上聊天室对
SWT
的说法:
问:
SWT
将来是不是有可能加入到
JAVA SE
里面?
答:我们刚开始推出
JAVA
的时候,有一个
AWT
。刚才说到
SWT
它的架构基本上重复和照搬了
AWT
。而且它出现的问题基本上和
AWT
是完全一样。
最后说点自己的意见吧,
SWT
的速度和效能确实不错,但是它并不符合
Java
的结构标准,不能做到“
Write Once, Run Anywhere
”。而且在内存和垃圾回收上并没有继承
Java
的
Gc
,所以也是比较麻烦的。很多人说
AWT
和
Swing
的速度和性能都慢,那是因为他们并不是真正的懂
Java
的人(其实大多数评价
SWT
和
AWT/Swing
的人都是做
Java Web
开发的人员,对
Java
的桌面开发也许只是浅尝辄止,随便尝试了几下就给出了洋洋洒洒上万字的评语),想象一下
JBuilder
和
Net Beans
是用什么做出来的?速度也不是一样很快,而且这些开发人员的开发速度绝对不慢,比起
SWT
开发,他们还不用去手动回收
dispose
的窗体呢(罪过啦,又说了些偏激的话)。我个人相信,随着
Java 6.0
的出现,
Java
对桌面应用的支持得到了前所未有的提升,慢慢的就会有一套完善而成熟的
Java
桌面程序开发框架和开发模式,那时候也许大家就不用争论了。