快速业务通道

Java秘史:隐藏在SWT/Swing背后的故事 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

Java秘史:隐藏在SWT/Swing背后的故事

时间:2010-12-24 Java研究组织

译注:本文来自straight_talking_java@yahoogroups.com讨论组,已经是一 年多前的文章。Alan Williamson是Java Developers Journal的编辑,下文来自 他在IBM的一个消息来源。SWT和Swing的论争我见过不少,Netbeans和Eclipse的 也同样多。译者翻译此文并不是要激起什么争执,也不是支持哪一方(虽然我的 确是站在SWT一边的),更不是要攻击Amy。我最重要的理由是,这是一篇有趣的 文章。里面有内幕、线人、公司政治、垄断巨头、美女、商界风云……足够拍一 出电影。有趣,这就够了。不过此文反映了IBM对Swing的看法和SWT的由来,还 是有一点营养的。

要想弄清楚为什么一切都被弄得如此混乱,要从几年前只存在AWT的时候说起 。SUN当时已经建立了一套基本的可移植控件类,这些类映射到不同操作系统上 的原生窗口组件(native widget),显然下一步应该继续增强这套模型,除了 初始的CUA 92组件(文字、按钮等等),再继续加上表格、树、记事本、滑块等 等……当时的AWT还满是漏洞,远不能称为可靠,还需要SUN的coder们去修补。 SUN的developer们如Graham和Otto总是习惯于公开把他们的bug归咎为操作系统 的差异,比如“Windows和OS/2的焦点次序不同”或者“在……之间Ctrl-X的行 为不一样”,以及其他苍白的托辞,好让批评的火力从SUN太早释出代码这个问 题的真相上移开。然后Amy Fowler来到了SUN。不是我大男子主义,Amy是个聪明 的美女,大多数呆头呆脑只懂技术的开发人员都要被她捏在手里。Amy来自一家 Smalltalk公司,叫做Objectshare,在那里她负责搞UI类库。

跟Java相比Smalltalk的历史有些悲惨,曾几何时有3家庞大的Smalltalk公司 ——IBM、Parc-Place和Digitalk。在90年代初期3家公司的市场份额大致相等, 生活是美好的。Parc-Place采用仿窗口部件(emulated widgets)的设计(即 Swing的设计),IBM和Digitalk则采用原生窗口部件(native widgets)。后来 IBM压倒了另外两家,因此他们打算合并成一家,假设叫做Parc-Place Digitalk 。随后当他们试图将他们的产品融合到一个叫做Jigsaw的计划中时爆发了一场大 战,计划由于政治原因失败了(开发人员实际上已经能让它运转起来),就因为 原生和仿造两派的死战。

Amy赢得了精神上的胜利,不过在IBM我们赢得了他们所有的生意,因为这两家公司在一整年里除了吵架什么都没做。当尘埃落定之后PPD(Parc-Place Digitalk当时已改名为Objectshare,跟Windscale改名为Sellafield的原因相同 ——让人们淡忘之前发生的灾难)的股票价格从60美元掉到了低于1美元1股。他 们因为伪报收入被NASDAQ摘牌,从此消失。此时SUN正走上与PPD类似的技术方向 ,于是PDD的技术人员都把他们的简历投到了SUN。Amy被雇佣了,她承诺通过轻 量级方案解决所有窗口组件的问题,因此说服SUN管理层让她当了GUI开发部门的 头头。她是拿着“这里原来的人都搞砸了,我是来解决的”的钥匙进来的。随后 Amy雇佣了所有她过去在Parc-Place的旧朋友,让他们来开发Swing。

显然Swing应该做的是仅仅成为一个绘制框架,给那些希望创建地图软件或者 绘图软件的人们使用,无论如何,应该围绕AWT类库来建造它,按钮之类的东西 仍然交给AWT来管。SUN的人比如Philip和Mark已经让AWT能够处理表格、树和记 事本(notebook,?),所以Swing的方向应该说很明显了。但那些毁了PDD的人 不干,他们非要把一切都弄成轻量级的。由于SUN管理层的无知,再加上Amy无情 的政治手段,造成了我们今天所见的混乱局面。Amy还使SUN相信Swing是作为 Mozilla项目的一部分

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号