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
桌面程序开发框架和开发模式,那时候也许大家就不用争论了。