??xml version="1.0" encoding="utf-8" standalone="yes"?>
http://eclipse.org/swt/faq.php#browserplugins
]]>
要想弄清楚ؓ什么一切都被弄得如此乱,要从几年前只存在AWT的时候说赗?/SPAN>SUN当时已经建立了一套基本的可移植控件类Q这些类映射C同操作系l上的原生窗口组Ӟnative widgetQ,昄下一步应该l增套模型,除了初始?/SPAN>CUA 92lgQ文字、按钮等{)Q再l箋加上表格、树、记事本、滑块等{……当时的AWTq满是漏z,q不能称为可靠,q需?/SPAN>SUN?/SPAN>coder们去修补?/SPAN>SUN?/SPAN>developer们如Graham?/SPAN>OttoL习惯于公开把他们的bug归咎为操作系l的差异Q比如?/SPAN>Windows?/SPAN>OS/2的焦Ҏ序不同”或者“在……之?/SPAN>Ctrl-X的行Z一样”,以及其他苍白的托辞,好让批评的火力从SUN太早释出代码q个问题的真怸Ud。然?/SPAN>Amy Fowler来到?/SPAN>SUN。不是我大男子主义,Amy是个聪明的美奻I大多数呆头呆脑只懂技术的开发h员都要被Ҏ在手里?/SPAN> Amy来自一?/SPAN>Smalltalk公司Q叫?/SPAN>ObjectshareQ在那里她负责搞UIcd?/SPAN>
?/SPAN>Java相比Smalltalk的历史有些悲惨,曑և何时?/SPAN>3家庞大的Smalltalk公司—?/SPAN>IBM?/SPAN>Parc-Place?/SPAN>Digitalk。在90q代初期3家公司的市场份额大致相等Q生zL好的?/SPAN>Parc-Place采用仿窗口部Ӟemulated widgetsQ的设计Q即Swing的设计)Q?/SPAN>IBM?/SPAN>Digitalk则采用原生窗口部Ӟnative widgetsQ。后?/SPAN>IBM压倒了另外两家Q因此他们打合q成一Ӟ假设叫做Parc-Place Digitalk。随后当他们试图他们的产品融合C个叫?/SPAN>Jigsaw的计划中时爆发了一场大战,计划׃政治原因p|了(开发h员实际上已经能让它运转v来)Q就因ؓ原生和仿造两zL?/SPAN>
Amy赢得了精上的胜利,不过?/SPAN>IBM我们赢得了他们所有的生意Q因两家公司在一整年里除了吵架什么都没做。当埃落定之后PPDQ?/SPAN>Parc-Place Digitalk当时已改名ؓObjectshareQ跟Windscale改名?/SPAN>Sellafield的原因相同——让Z淡忘之前发生的灾难)的股hg60元掉到了低?/SPAN>1元1股。他们因Z报收入被NASDAQ摘牌Q从此消失。此?/SPAN>SUN正走上与PPDcM的技术方向,于是PDD的技术h员都把他们的历投CSUN?/SPAN>Amy被雇佣了Q她承诺通过轻量U方案解x有窗口组件的问题Q因此说?/SPAN>SUN理层让她当?/SPAN>GUI开发部门的头头。她是拿着“这里原来的人都搞砸了,我是来解决的”的钥匙q来的。随?/SPAN>Amy雇䄦了所有她q去?/SPAN>Parc-Place的旧朋友Q让他们来开?/SPAN>Swing?/SPAN>
昄Swing应该做的是仅仅成Z个绘制框Ӟl那些希望创建地图Y件或者绘图Y件的Z使用Q无论如何,应该围绕AWTcd来徏造它Q按钮之cȝ东西仍然交给AWT来管?/SPAN>SUN的h比如Philip?/SPAN>Mark已经?/SPAN>AWT能够处理表格、树和记事本Q?/SPAN>notebookQ?Q,所?/SPAN>Swing的方向应该说很明显了。但那些毁了PDD的h不干Q他们非要把一切都弄成轻量U的。由?/SPAN>SUN理层的无知Q再加上Amy无情的政LD,造成了我们今天所见的混ؕ局面?/SPAN>AmyqSUN怿Swing是作?/SPAN>Mozilla目的一部分?/SPAN>Netscape联合开发的Q事实上q只是她的宣传伎俩?/SPAN>
?/SPAN>IBMQ我们从W一天v憎?/SPAN>Swing。庞大、满是错误,而且隄x。原先我们的工具?/SPAN>VisualAge for Java都是?/SPAN>SmalltalkQ用的是原生H口lgQ写的,所以当我们这些工具向Java代码库迁ULQ我们需要一套窗口组件?/SPAN>IBMq边的开发h员都是原来搞Smalltalk的那一批hQ我们对理层要求用Swing来构?/SPAN>WebSphere Studio工具都非怸情愿?/SPAN>Swing是个可怕的充满~陷的怪兽?/SPAN>
?/SPAN>WebSphere Studio最初的预览中,当与Microsoft Visual Studio作对比演C的时候,我们所有的客户都讨厌它Q就因ؓ它的外观Q而不它的功能有多强。大多数消费者都不会C辆让得难看的车,哪怕这车有一台出色的引擎。因此我们开始了一个项目,是把我们?/SPAN>Smalltalk原生H口lgUL?/SPAN>Java上去。这个项目是加拿大的Object Technology International组做的。这个项目获得了成功Q被q用在在我们发布?/SPAN>VisualAge Micro Edition产品中,VisualAge Micro Edition后来成ؓJ2ME开发方面一个非常成功的IDE。但?/SPAN>OTI的h发现Q?/SPAN>Swing在读?/SPAN>Windows事g斚w有极严重的缺P我们甚至无法q行SWTQ?/SPAN>S开始是Simple的羃写,不过后来变成?/SPAN>Standard的羃写)?/SPAN>Swing间的互操作。他们在M仉列的时候用了一U可能留下内存漏z的方式Q所以我们不得不采用我们自己的查?/SPAN>Windows事g队列的@环,以纠正这个错误?/SPAN>
我们试了一ơ又一ơ让SUN修复q个错误Q但Amy是听不q去Q所以我们才军_SWT?/SPAN>AWT/Swing不能共存。我们甚臛_SWT中定义了自己?/SPAN>Point?/SPAN>RectanglecZ—整个工具包?/SPAN>AWT?/SPAN>Swing都没有Q何依赖。我们把q个工具包放CEclipse中,q是一个工具^収ͼ它的M设计目标是要战?/SPAN>Micrsoft?/SPAN>Visual Studio?/SPAN>Eclipse是开源的Q所以Q何h都可以在上面构徏自己的东西,我们已经有像TogetherSoft?/SPAN>Rationalq样的公司移植到了上面。我们的竞争者是MicrosoftQ所以我们所有努力和注意力都是从正面针对Microsoft?/SPAN>
不管怎么?/SPAN>SUNҎ非常不满。他们的Netbeans?/SPAN>Eclipse做的是相同的事,因此他们?/SPAN>IBM高层抱怨。他们认?/SPAN>SWT是要你l到Windows上,q纯_Ҏ胡说Q因?/SPAN>SWT能通过GTK?/SPAN>Mac/Linux上运行,以及一大堆嵌入式^台。他们拒l让Eclipse获得Java认证Q因为里面有原生代码Q所?/SPAN>Eclipse产品必须很小心地使用单词?/SPAN>Java”这?/SPAN>SUN的商标?/SPAN>Eclipse甚至不能把自qZ?/SPAN>Java IDEQ?/SPAN>SUN已经威胁q要采取法律行动来制?/SPAN>IBM在Q何时候把EclipseUC一?/SPAN>Java IDE。结果之一是IBM?/SPAN>Eclipse上创建的GUI设计工具Q允怽构徏Swing/AWT GUIQ却不让你往里面拖放SWTH口控g?/SPAN>