Java, Only Java!

          統(tǒng)計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          Java開發(fā)環(huán)境的過去、現在和將來- -(轉)

          1995年3月23日,San Jose Mercury News登出一篇題為“Why Sun thinks Hot Java will give you a lift”的文章,在那篇文章里預言Java技術將是下一個重大事件,這個預言現在看來并不僅僅是商家的宣傳伎倆,雖然文章是當時Sun的公關經理 Lisa Poulson安排撰寫的。從世人知道Java那一刻起到現在,算起來已經過去整整十年,回顧過去的十年值得總結的東西有許多,但在這里筆者只想就Java 開發(fā)環(huán)境談些個人的想法與朋友們交流一下。
          現在的軟件開發(fā)人員在整個軟件的開發(fā)生命周期里,也許會根據需要使用各式各樣的開發(fā)工具來完成相對復雜的開發(fā)任務,而在幾十年以前,人們還只是使用文本編輯器、編譯器和Debugger進行開發(fā),對于這個階段的開發(fā)環(huán)境人們稱之為CLEs(Command Line Environments)。 而當人們發(fā)現如果將那些單獨分開的開發(fā)工具集成起來就可以有效的提高開發(fā)效率時,IDEs(Integrated Development Environments)就出現了。Java的出現盡管只有十年,但其開發(fā)環(huán)境也大至經歷了從CLEs到IDEs再到XDEs這三個階段,現在即將進入CDEs階段。在上述Java開發(fā)環(huán)境發(fā)展過程中,有許多值得我們大家關注的地方。

          Java開發(fā)環(huán)境的歷史回顧
          縱觀過去十年Java開發(fā)環(huán)境的發(fā)展,大致可以粗略的劃分為如下幾個階段:
          ●? 1995,命令行開發(fā)環(huán)境CLEs
          ●? 1996-2000,集成開發(fā)環(huán)境IDEs
          ●? 2001-2004,擴展開發(fā)環(huán)境XDEs
          ●? 2005至今,協(xié)同開發(fā)環(huán)境CDEs
          1995年,不平凡的一年,這一年Java 獲得了成功。可令人尷尬的是在1995年并沒有一個令人滿意的Java開發(fā)環(huán)境,開發(fā)人員在進行Java編程時,大多使用文本編輯器編輯源程序,然后再使用命令行的方式進行編譯處理。那時的Java開發(fā)環(huán)境還處于CLEs時代,開發(fā)效率非常低,這預示著在Java開發(fā)工具上會有一番激烈的競爭。
          有人稱1996年為互聯(lián)網年,有人卻稱之為Java年,還有人稱之為Web開發(fā)年,但不論如何稱呼1996年,它都反映了一個事實:Bill Joy將Java與互聯(lián)網相結合的策略取得了成功。這一年的9月Sun推出了其Java開發(fā)環(huán)境-Java WorkShop,這是一款基于瀏覽器的Java開發(fā)工具,但由于當時 Java在許多方面還不成熟,所以實際上Java WorkShop并不成功,同年發(fā)布的Symantec Visual Cafe由于還是采用C/C++語言進行開發(fā),所以性能與成熟度上就比WorkShop好得多。提到Visual Cafe就不能不提Eugene Wang,因為Eugene Wang常常是與計算機間諜這個詞同時出現的人物,有人甚至講當時Symantec的老板Gordon Eubanks與Eugene Wang簽約時,也同時簽下了監(jiān)獄里的一個單元。Visual Cafe就是由Eugene Wang進行主要策劃的,它是在同一年發(fā)布的Java開發(fā)環(huán)境中,唯一解決了與數據庫連接問題的開發(fā)環(huán)境,帶有一套可以與數據庫相連接的組件,無需太多編程使用拖拽的方式就可完成大部分工作,這一優(yōu)點使得Visual Cafe受到了Java開發(fā)人員的歡迎。這一年IBM收購了OTI公司,從而得到了Dave Thomas的弟子John Duimovich、Dave Thomson、Mike Wilson等一大批軟件精英,這之中還包括“生活在技術刀鋒上的開發(fā)者”Brian Barry。
          1997年,由于微軟壟斷案,使得微軟在Java開發(fā)環(huán)境上的努力受到了限制,Visual Cafe由于界面直觀易用,可以很容易地連接各種數據源等功能再次受到開發(fā)人員的歡迎。這一年IBM發(fā)布VisualAge for Java。VisualAge for Java是面向代碼庫的開發(fā)環(huán)境,它提供代碼庫和項目管理以便于開發(fā)團隊在 C/S環(huán)境下進行項目開發(fā)。但由于大多數Java開發(fā)人員比較熟悉面向文件的開發(fā)環(huán)境,還不太習慣面向代碼庫的開發(fā),再加上VisalAge for Java對系統(tǒng)資源的要求比較高等因素,使得VisualAge for Java一開始未被Java開發(fā)人員所認可。
          1998年至2000年比較成功的Java開發(fā)環(huán)境是JBuilder,這是由于Borland較好的把握住 J2SE、J2EE和J2ME發(fā)布后,Java技術升級的時機,全面支持Java1.1和Java1.2開發(fā)平臺,它還提供了多種工具方便用戶從舊的平臺遷移到新的Java平臺。JBuilder本身80%是基于JDK1.2進行開發(fā)的,它支持JavaBeans, Enterprise JavaBeans, JDBC等方面的應用開發(fā),可以連接多種關系數據庫。為支持分布式應用開發(fā),JBuilder還集成了 VisiBroker ORB、JSP server、數據庫和EJB AppServer,并提供Open Tools API便于第三方工具集成。上述種種的優(yōu)點使得JBuilder一舉超越Visual Cafe,成為當時最受歡迎的Java開發(fā)環(huán)境。在眾多Java開發(fā)環(huán)境中,1999年IBM發(fā)布的VisualAge for Java Micro Edition是比較有特色的開發(fā)環(huán)境,它是由Erich Gamma和與Erich Gamma有“焦不離孟、孟不離焦”之稱的John Wiegand共同進行設計的,采用了Java 擴展機制,并集成了JUnit測試框架,其當時所采用的架構深深地影響了后來Eclipse1.0所采用的架構。同時,通過VisualAge for Java Micro Edition的開發(fā),那些來自“未來世界”(Smalltalk們總認為他們來自計算機的未來世界)的軟件精英們,全面徹底地對Java技術進行了評估,得出了許多結論性的東西,這之中包括現在鬧得沸沸揚揚的Swing和SWT對比。此外,Sun將其收購的NetBeans變成了開源的Java IDE也是一件不大不小的事情。
          縱觀1996年至2000年這五年時間里,隨著Java及其相關開發(fā)應用的發(fā)展,Java開發(fā)環(huán)境也不斷的完善,從CLEs進入到IDEs階段。為了提高Java開發(fā)人員的開發(fā)效率,Java開發(fā)環(huán)境主要從兩個方面進行改進與提高。一方面是提高集成在Java IDEs當中開發(fā)工具的性能和易用性,另一方面是將Java開發(fā)環(huán)境盡可能的覆蓋到整個軟件的開發(fā)生命周期。隨著基于WEB,采用N-層結構的應用開發(fā)成為Java開發(fā)人員主要從事的開發(fā)任務,Java開發(fā)環(huán)境需要支持越來越多的技術,比如:XML、JSP、EJB和CORBA等,這就造成了Java IDEs的規(guī)模變得越來越大,許多Java開發(fā)環(huán)境都集成了數據庫、JSP Server和AppServer,軟件的研究人員將上述IDEs不斷膨脹的現象稱為“IDEs大爆炸”。
          “IDEs大爆炸”現象發(fā)生以后,有關Java開發(fā)環(huán)境是走少而精的發(fā)展方向,還是走大而全的發(fā)展方向就成了廣大Java開發(fā)人員關注的問題。2001年Java開發(fā)人員達到了200萬,成為每個軟件供應商都無法忽視的力量,這一年JetBrains推出了Java開發(fā)環(huán)境少而精的代表: IntelliJ IDEA。 IntelliJ IDEA明確的表示只做最好的Java代碼編輯器,不做什么文件都可以編寫的編輯器。它關注Java開發(fā)人員的工作實際并將這些工作進行了優(yōu)化。由于減掉了一些可有可無的工具,所以價格上相對合理公道。當年IntelliJ IDEA擊敗JBuilder成為最受Java開發(fā)人員歡迎的Java開發(fā)環(huán)境,不過2002年隨著JBuilder將大而全的功力再提升一步,將UML建模工具、JUnit測試框架以及Apache Struts等開發(fā)工具集成進來,大而全的發(fā)展方向又一次受到Java開發(fā)人員追捧。最全還是最好似乎使Java開發(fā)人員在選擇Java開發(fā)環(huán)境時處于兩難狀況,但實際上當Eclipse 1.0發(fā)布時,這個問題已經得到了初步的解決,最好和最全是可以兼顧的。
          Eclipse的出現不是從天上掉下來的,也不是某個天才拍腦袋想出來的,它是一群軟件精英們集體智慧的結果。早在1998年IBM就打算開發(fā)新一代的工具平臺以便將它現有的各種開發(fā)工具統(tǒng)一起來,并減少開發(fā)各種工具時重復的勞動,同時希望在新的平臺上建立新的Java開發(fā)環(huán)境。經過一段時間的準備, IBM開始建立起一個開發(fā)團隊,人員構成主要來自VisualAge for Java Micro Edition和VisualAge for Java兩個項目的開發(fā)人員,選擇的標準是過去10年至少開發(fā)過5到6個IDE。此外,IBM還聯(lián)合了9家公司共同成立了一個開源組織Eclipse基金會,將Eclipse提供給開發(fā)人員使用,并在開源社區(qū)的幫助下進一步完善Eclipse本身。Eclipse在最初設計時,插件模型是靜態(tài)的,不能實現插件的即插即用功能,即便是大受歡迎的Eclipse 2.1也還是靜態(tài)的。所以到2004年發(fā)布Eclipse 3.0時,Eclipse進行了重大改進,采用OSGi的插件模型,初步實現了插件的即插即用功能,至此一個完美的、可擴展的開發(fā)環(huán)境展現在Java開發(fā)者面前,這時Java開發(fā)人員已經達到300萬。

          Java開發(fā)環(huán)境的現狀
          2004年Eclipse 3.0的發(fā)布極大刺激了Eclipse用戶的增長,經過一年以后,Java開發(fā)人員現在使用Java開發(fā)環(huán)境的狀況是如何的呢?看了下面的表格里的數據也許可以了解一個大致的狀況。
          首先需要指明的是上述的數據并不是當前Java用戶使用Java開發(fā)環(huán)境的準確反映,但我們可以從中了解一個大致的狀況。現在的Java環(huán)境可以分為三個集團,第一集團是Eclispe它大約占據1/3的份額,第二集團是 IntelliJ IDEA、NetBeans 和JBuilder占據另外1/3的份額,相互之間旗鼓相當,第三集團是以JDeveloper和WSAD為代表的十幾種Java開發(fā)環(huán)境占據剩下的 1/3份額,但每種開發(fā)環(huán)境占總份額的比重不超過5%。我們考察Eclipse、intelliJ IDEA、NetBeans 和JBuilder這些主流開發(fā)環(huán)境,可以發(fā)覺它們有一個共同的特點那就是可擴展,盡管在實現手段上各有不同。這就是為什么稱現在的Java開發(fā)環(huán)境為XDEs(eXtended Development Environments)的原因,IDEs已經死亡了4年,專業(yè)的開發(fā)人員需要了解這個事實,因為XDEs也快死了。
          由于市場的壓力,一個軟件企業(yè)不僅要提高開發(fā)人員個體的工作效率,還要提高整個開發(fā)團隊以及整個企業(yè)的開發(fā)效率,但在現有的Java開發(fā)環(huán)境XDEs下無法完全做到這些,所以新一代開發(fā)環(huán)境CDEs (Collaborative Development Environments)就產生。Grady Booch和Alan W. Brown的研究表明一個程序員一天工作時間的分配是這樣的:分析占16%(從5%到40%不等), 設計占14%(從1%到40%不等),編程占16%(從0%到60%不等),測試占10%,打電話占3%,閱讀占7%(電子郵件,文檔,月刊和雜志),參加開發(fā)會議占10%,無關的會議占7% 。從這些數據可以發(fā)現,開發(fā)人員用于交流的時間約占工作時間的1/3,開發(fā)人員的相互交流非常重要。可是現有的主流Java開發(fā)環(huán)境一般僅將分析、設計、編程和測試等工具集成進來,卻未包括用于交流的工具,這顯然不合理。因此,所謂CDEs就是將用于人與人、人與團隊以及團對于團隊進行交流的工具集成進來的開發(fā)環(huán)境,比如,CDEs常具有發(fā)送電子郵件、進行及時通訊和屏幕分享等功能,通過實現無損耗過程的交流提高開發(fā)團隊的開發(fā)效率。
          現在已經商業(yè)化的CDEs是CodeBeamer Collaborative Development Platform和CodePro AnalytiX,上述兩款軟件都提供Eclipse的插件,可以與Eclipse集成在一起,使Eclipse升級成為一個CDEs。大家肯定知道Borland已經宣布開發(fā)基于Eclipse的新版JBuilder-“Peloton”,Peloton就是一個CDEs(Collaborative Development Environments),當它明年上半年發(fā)布時,就意味著Java開發(fā)環(huán)境進入CDEs時代,現在Java開發(fā)環(huán)境還處于XDEs與CDEs交替的階段。

          Java開發(fā)環(huán)境的未來
          在可以看得見的將來,Java的開發(fā)環(huán)境還會是以CDEs的形式存在。開源組織或開發(fā)工具供應商將會努力為軟件的開發(fā)創(chuàng)建一個絕對光滑的平面 (Frictionless Surface),實現無損耗的開發(fā)過程,以提高開發(fā)效率。為了實現無損耗的開發(fā)過程,Java的開發(fā)環(huán)境將會關注以下幾個方面:
          ●? 起步階段方面
          ●? 協(xié)作開發(fā)方面
          ●? 維護開發(fā)團隊有效溝通方面
          ●? 多個任務的時間協(xié)調方面
          ●? 相互協(xié)商方面
          ●? 資料有效性方面
          但這里必須承認未來Java開發(fā)環(huán)境是如何具體去實現無損耗的開發(fā),還需要時間給與答案,因為現在所能采用的方法未必是最好的,比如,使用面向文件的 CVS進行協(xié)同開發(fā)就有需要改進的地方。

          總結
          羅里羅唆一大堆,歸納起來不過就是:一個目的、三種手段以及一條規(guī)律。
          一個目的:十年Java開發(fā)環(huán)境的演變,其目的就是為了提高開發(fā)效率。
          三種手段:
          ●? 提高集成在Java開發(fā)環(huán)境中開發(fā)工具的性能和易用性
          ●? 將Java開發(fā)環(huán)境盡可能的覆蓋到整個軟件的開發(fā)生命周期
          ●? 集成人與人、人與團隊以及團對于團隊進行交流的工具
          一條規(guī)律:軟件開發(fā)環(huán)境的發(fā)展過程是從CLEs到IDEs再到XDEs最后進入CDEs,這是由Grady Booch總結出來的,套在Java開發(fā)環(huán)境上也適用。

          posted on 2007-06-29 21:43 zYx.Tom 閱讀(245) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 瓦房店市| 格尔木市| 新兴县| 多伦县| 鄂托克前旗| 柳林县| 当雄县| 房产| 淮滨县| 普陀区| 会理县| 郎溪县| 屯昌县| 游戏| 应用必备| 尚志市| 寿光市| 台山市| 武安市| 济源市| 枣强县| 乌兰浩特市| 加查县| 德令哈市| 双江| 罗江县| 蒲江县| 隆回县| 明光市| 繁昌县| 潞城市| 马尔康县| 敦化市| 阿城市| 达州市| 太和县| 灵石县| 芦山县| 宾川县| 图们市| 九台市|