1995年3月23日,San Jose Mercury News登出一篇題為“Why Sun thinks Hot Java will give you a lift”的文章,在那篇文章裡預言Java技術將是下一個重大事件,這個預言現在看來並不僅僅是商家的宣傳伎倆, <!-- frame contents --> <!-- /frame contents --> 雖然文章是當時Sun的公關經理 Lisa Poulson安排撰寫的。從世人知道Java那一刻起到現在,算起來已經過去整整十年,回顧過去的十年值得總結的東西有許多,但在這裡筆者只想就Java 開發環境談些個人的想法與朋友們交流一下。
現在的軟件開發人員在整個軟件的開發生命周期裡,也許會根據需要使用各式各樣的開發工具來完成相對復雜的開發任務,而在幾十年以前,人們還只是使用文本編輯器、編譯器和Debugger進行開發,對於這個階段的開發環境人們稱之為CLEs(Command Line Environments)。 而當人們發現假如將那些單獨分開的開發工具集成起來就可以有效的提高開發效率時,IDEs(Integrated Development Environments)就出現了。Java的出現盡管只有十年,但其開發環境也大至經歷了從CLEs到IDEs再到XDEs這三個階段,現在即將進入CDEs階段。在上述Java開發環境發展過程中,有許多值得我們大家關注的地方。
Java開發環境的歷史回顧
縱觀過去十年Java開發環境的發展,大致可以粗略的劃分為如下幾個階段:
● 1995,命令行開發環境CLEs
● 1996-2000,集成開發環境IDEs
● 2001-2004,擴展開發環境XDEs
● 2005至今,協同開發環境CDEs
1995年,不平凡的一年,這一年Java 獲得了成功。可令人尴尬的是在1995年並沒有一個令人滿足的Java開發環境,開發人員在進行Java編程時,大多使用文本編輯器編輯源程序,然後再使用命令行的方式進行編譯處理。那時的Java開發環境還處於CLEs時代,開發效率非常低,這預示著在Java開發工具上會有一番激烈的競爭。
有人稱1996年為互聯網年,有人卻稱之為Java年,還有人稱之為Web開發年,但不論如何稱呼1996年,它都反映了一個事實:Bill Joy將Java與互聯網相結合的策略取得了成功。這一年的9月Sun推出了其Java開發環境-Java WorkShop,這是一款基於浏覽器的Java開發工具,但由於當時 Java在許多方面還不成熟,所以實際上Java WorkShop並不成功,同年發布的Symantec Visual Cafe由於還是采用C/C++語言進行開發,所以性能與成熟度上就比WorkShop好得多。提到Visual Cafe就不能不提Eugene Wang,因為Eugene Wang經常是與計算機間諜這個詞同時出現的人物,有人甚至講當時Symantec的老板Gordon Eubanks與Eugene Wang簽約時,也同時簽下了監獄裡的一個單元。Visual Cafe就是由Eugene Wang進行主要策劃的,它是在同一年發布的Java開發環境中,唯一解決了與數據庫連接問題的開發環境,帶有一套可以與數據庫相連接的組件,無需太多編程使用拖拽的方式就可完成大部分工作,這一優點使得Visual Cafe受到了Java開發人員的歡迎。這一年IBM收購了OTI公司,從而得到了Dave Thomas的弟子John Duimovich、Dave Thomson、Mike Wilson等一大批軟件精英,這之中還包括“生活在技術刀鋒上的開發者”Brian Barry。
1997年,由於微軟壟斷案,使得微軟在Java開發環境上的努力受到了限制,Visual Cafe由於界面直觀易用,可以很輕易地連接各種數據源等功能再次受到開發人員的歡迎。這一年IBM發布VisualAge for Java。VisualAge for Java是面向代碼庫的開發環境,它提供代碼庫和項目治理以便於開發團隊在 C/S環境下進行項目開發。但由於大多數Java開發人員比較熟悉面向文件的開發環境,還不太習慣面向代碼庫的開發,再加上VisalAge for Java對系統資源的要求比較高等因素,使得VisualAge for Java一開始未被Java開發人員所認可。
1998年至2000年比較成功的Java開發環境是JBuilder,這是由於Borland較好的把握住 J2SE、J2EE和J2ME發布後,Java技術升級的時機,全面支持Java1.1和Java1.2開發平台,它還提供了多種工具方便用戶從舊的平台遷移到新的Java平台。JBuilder本身80%是基於JDK1.2進行開發的,它支持JavaBeans, Enterprise JavaBeans, JDBC等方面的應用開發,可以連接多種關系數據庫。為支持分布式應用開發,JBuilder還集成了 VisiBroker ORB、jsp server、數據庫和EJB AppServer,並提供Open Tools API便於第三方工具集成。上述種種的優點使得JBuilder一舉超越Visual Cafe,成為當時最受歡迎的Java開發環境。在眾多Java開發環境中,1999年IBM發布的VisualAge for Java Micro Edition是比較有特色的開發環境,它是由Erich Gamma和與Erich Gamma有“焦不離孟、孟不離焦”之稱的John Wiegand共同進行設計的,采用了Java 擴展機制,並集成了JUnit測試框架,其當時所采用的架構深深地影響了後來Eclipse1.0所采用的架構。同時,通過VisualAge for Java Micro Edition的開發,那些來自“未來世界”(Smalltalk們總認為他們來自計算機的未來世界)的軟件精英們,全面徹底地對Java技術進行了評估,得出了許多結論性的東西,這之中包括現在鬧得沸沸揚揚的Swing和SWT對比。此外,Sun將其收購的NetBeans變成了開源的Java IDE也是一件不大不小的事情。