`
tailsherry
  • 浏览: 134627 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Java GUI 历史之争

阅读更多

最近在收集一些关于AWT, Swing, SWT之间比较的文章,中间接触到一些关于这三大GUI开发工具包的历史,觉得挺有意思,就用自己的文字记录下来。我想,这对于那些从事Java GUI开发的同志们来说,应该是不可缺的一堂历史课。

 

话说20世纪中期,IT界也出现“三国”,他们都用Smalltalk作为武器在IT界打自己的天下,其中有大家今日熟悉的蓝色巨人IBM,还有就是Digital Talk和Parc-Place. IBM和Digital Talk坚信采用本地化组件的战略来打天下,而Parc-Place却坚持采用仿效机制来自绘组件天下。

 

虽然在建国理念上存在冲突,三国之间却一直风平浪静,你走你的独木桥,我走我的阳关道。直到有一天,枭雄IBM揭竿而起,迅速发展国力,军事上逐渐超越另外的两个潜在对手。感觉无法招架IBM的强大威慑力,Digital Talk和Parc-Place决定联盟,组成一个更强大的国家来对抗IBM的强势入侵,起国号为Objectshare。虽然D和P郎情妾意,欢欢喜喜结成连理,哪知道两者性格理念上的差异,为之后的联姻破碎埋下了祸根!

 

婚姻有七年之痒,D和P却从一开始就进入了家庭纷争,但最终还是以Amy Fowler为代表的Parc-Place方,赢得了组件仿效战略的胜利。可此时,IBM已经通过他的本地化组件策略赢得了大片的国土和子民。这能怪谁呢?P和D本来就是不合的一对,为了所谓的理念追求,两者啥事不做竟窝里斗,白白折腾了整整一年!而这,恰恰为IBM的壮大提供了契机。直到有一天,Objectshare因为经济不济,被赶出了历史舞台!似乎此时,IBM已经统一了组件开发的河山,本地化组件的策略似乎也大行其道。

 

历史上没有真正的王者,IT界也是如此。Sun公司此时凭借他的Java AWT开始打江山。殊不知,AWT也采用了IBM本地化组件的策略,但是做出来的效果却不敢恭维,破绽百出。正在此时,处于流亡状态的Amy Fowler得到了SUN的青睐,被委以重任去修复这个破破烂烂的AWT。当然在前面大家都了解到Amy Fowler这个人,他是一直拥护防效机制建立组件的。得到SUN高层的信赖后,Amy开始笼络并召回以前Parc-Place的一些旧部下,开始实施他们的仿效组件策略,创造了另外一个GUI开发标准,也就是我们熟悉的Swing.

 

当然,IBM也没有落后,他的Java开发工具Visual Age也是用Smalltalk写的,当然,也是基于本地化组件策略。由于Java的兴起,他们开始从Smalltalk移植到Java开发页面组件。IBM的那些将士们基本上都是用Smalltalk的,他们都很讨厌基于仿效机制的Swing,讨厌它的丑陋,笨重,破绽重重!于是乎,他们用Java开发了一套本地化组件,也就是我们后来熟知的SWT。后来SWT被移植到Visual Age形成了现在的航空母舰Eclipse。

 

历史就是如此,AWT, Swing和SWT的历史之争就这样一直持续到了现在。天下大势,分久必合,合久必分,希望有一天,有一套通用的Java GUI规范,造福我们这些一直以来用Java武装的将士们。

 

 

1
7
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics