亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 15:47:36
字體:
來源:轉載
供稿:網友

譯注:本文來自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項目的一部分與Netscape聯合開發的,事實上這只是她的宣傳伎倆。

在IBM,我們從第一天起就憎惡Swing。龐大、滿是錯誤,而且難看至極。原先我們的工具如VisualAge for Java都是用Smalltalk(用的是原生窗口組件)寫的,所以當我們將這些工具向Java代碼庫遷移時,我們需要一套窗口組件。IBM這邊的開發人員都是原來搞Smalltalk的那一批人,我們對治理層要求用Swing來構建WebSphere Studio工具都非常不情愿。Swing是個可怕的布滿缺陷的怪獸。

在WebSphere Studio最初的預覽中,當與Microsoft Visual Studio作對比演示的時候,我們所有的客戶都討厭它,就因為它的外觀,而不管它的功能有多強。大多數消費者都不會買一輛讓人覺得難看的車,哪怕這車有一臺出色的引擎。因此我們開始了一個項目,是把我們的Smalltalk原生窗口組件移植到Java上去。這個項目是加拿大的Object Technology International小組做的。這個項目獲得了成功,被運用在在我們發布的VisualAge Micro Edition產品中,VisualAge Micro Edition后來成為J2ME開發方面一個非常成功的IDE。但是OTI的人發現,Swing在讀取Windows事件方面有極嚴重的缺陷,我們甚至無法進行SWT(S開始是Simple的縮寫,不過后來變成了Standard的縮寫)和Swing間的互操作。他們在讀事件隊列的時候用了一種可能留下內存漏洞的方式,所以我們不得不采用我們自己的查詢Windows事件隊列的循環,以糾正這個錯誤。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本欧美中文字幕| 大胆人体色综合| 欧美日韩在线视频一区二区| 成人福利网站在线观看| 久久影视免费观看| 成人国产精品色哟哟| 久久久国产精品亚洲一区| 国模精品视频一区二区三区| 欧美成年人视频网站| 亚洲精品国产精品国自产在线| 国产性色av一区二区| 久久影视电视剧免费网站清宫辞电视| 成人国产精品日本在线| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧美激情另类校园| 欧美疯狂xxxx大交乱88av| 原创国产精品91| 九九视频这里只有精品| 亚洲午夜久久久久久久| 国产精品偷伦免费视频观看的| 亚洲视频精品在线| 久久久久久网站| 成人精品久久av网站| 国产精品久久久久77777| 欧美精品日韩www.p站| 中文字幕亚洲自拍| 久久久国产在线视频| 国产精品成人免费电影| 久久精品视频亚洲| 中文字幕一区电影| 欧美日韩国产成人高清视频| 欧美一区二区三区图| 欧美成人精品在线| 亚洲国产欧美精品| 一区二区成人av| 日韩av网站在线| 91亚洲人电影| 国产精品久久久久久久久久小说| 91综合免费在线| 亚洲综合一区二区不卡| 国产精品人人做人人爽| 欧美激情欧美激情在线五月| 国产精品久久二区| 国产成人免费av| 亚洲成人久久电影| 日韩欧美高清在线视频| 日韩久久免费视频| www.国产精品一二区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲欧美国产va在线影院| 国产成人精品一区二区在线| 成人夜晚看av| 精品久久久久久久中文字幕| 日韩精品视频在线| 亚洲精品第一页| 亚洲福利视频免费观看| 日韩av一卡二卡| 日本伊人精品一区二区三区介绍| 国产精品久久久久久av福利软件| 欧美激情网友自拍| 国产亚洲一区二区在线| 亚洲欧洲国产伦综合| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲精品久久久久国产| 欧美精品电影在线| 久久亚洲春色中文字幕| 欧美激情图片区| 国产成人综合精品| 国产欧美精品久久久| 日韩在线视频观看| 欧美成人午夜剧场免费观看| 91沈先生在线观看| 欧美在线精品免播放器视频| 久久久最新网址| 97婷婷涩涩精品一区| 国产亚洲福利一区| 国产精品爽黄69天堂a| 91精品啪在线观看麻豆免费| 狠狠躁夜夜躁人人躁婷婷91| 欧美精品免费在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲色图狂野欧美| 国产精品爽爽ⅴa在线观看| 国产精品亚洲视频在线观看| 一区二区三区日韩在线| 亚洲人a成www在线影院| 国产偷亚洲偷欧美偷精品| 久久九九全国免费精品观看| 2025国产精品视频| 欧美日本在线视频中文字字幕| 日韩av片永久免费网站| 国产成人高清激情视频在线观看| 欧美一级高清免费播放| 久久综合电影一区| 欧美成人亚洲成人日韩成人| 日韩精品免费看| 成人h片在线播放免费网站| 亚洲嫩模很污视频| 欧美一级高清免费播放| 136fldh精品导航福利| 亚洲曰本av电影| 综合欧美国产视频二区| 欧美wwwxxxx| 亚洲国产日韩一区| 国产精品久久久久久亚洲影视| 日韩精品欧美国产精品忘忧草| 日韩欧美中文字幕在线观看| 日av在线播放中文不卡| 国产日韩精品在线播放| 欧美性猛交xxxx乱大交3| 欧美性猛交xxxxx免费看| 国产精品日韩一区| 136fldh精品导航福利| 日韩成人激情影院| 97免费视频在线| 亚洲欧美国产高清va在线播| 永久免费看mv网站入口亚洲| 欧美综合国产精品久久丁香| 欧美日韩激情小视频| 亚洲最大的成人网| 97久久伊人激情网| 成人免费xxxxx在线观看| 中文字幕在线观看亚洲| 在线观看国产成人av片| 国产一区二区三区直播精品电影| 免费成人高清视频| 国产精品偷伦一区二区| 国产日韩在线看| 国产在线视频2019最新视频| 深夜成人在线观看| 欧美一级淫片aaaaaaa视频| 亚洲欧美日韩成人| 欧美自拍视频在线| 国产一区二区日韩精品欧美精品| 日韩在线观看精品| 最近中文字幕mv在线一区二区三区四区| 国产美女精品视频免费观看| 日韩av黄色在线观看| 成人有码在线视频| 91精品免费久久久久久久久| 亚洲级视频在线观看免费1级| 日韩在线一区二区三区免费视频| 欧美日韩福利在线观看| 亚洲精品美女网站| 日韩av在线不卡| 亚洲精品99久久久久| 91国产美女视频| 国产视频在线一区二区| 热久久这里只有| 国产成人精品一区二区三区| 91成人国产在线观看| 高清日韩电视剧大全免费播放在线观看| 国产美女搞久久| 亚洲天堂男人的天堂| 欧美激情免费观看| 精品亚洲男同gayvideo网站| 久久久久久久久久久成人| 国产精品video| 日韩高清电影免费观看完整| 国产精品久在线观看| 久久精品人人做人人爽| 91精品国产乱码久久久久久蜜臀| 欧美一级淫片丝袜脚交| 亚洲老头老太hd|