2008年9月28日 星期日

SWT4.0 和Eclipse 4.0 計劃(e4) 將帶我們進入另一個Cross Platfrom的境界

Eclipse一直是我十分看好的Opensource Project,它的概念、設計及使命早已超越Visual Studio和JBuilder等傳統IDE,對不同的人來說Eclipse已經是不再只是一個IDE,它是一個Platform、一個Rich Client Framework、SWT,JFace等API的發源地、或是一個很多有用Plugin的Runtime/Container,而且其IDE早已不只是support Java而已。更重要的使命是它已成爲一個把各個Commercial Vendors(e.g. IBM, Oracle, BEA,Borland)帶到同一個平台上合作的橋樑,這些公司有的(BEA, Borland等)甚至放棄自己的IDE Architecture而使用Eclipse Base Architecture,可見 Eclipse 的優越性(當然有很大原因是因爲Eclipse有很多Plugin可用)。相比起來 Sun Microsystem 的 NetBeans 就做得沒有那麼好,雖然NetBeans是基於正統的Swing,可是卻吸引不到 Java Developer ,反之 Eclipse 之成功造就了SWT的普及。
Eclipse的名稱可看出是IBM想取代 Sun Microsystem 做 Java 之霸主,我想己經成功了。

雖然Eclipse 3.x很成功,但Eclipse團隊並沒有停下來,在3.4Relase後就開始計劃Eclipse 4.0(e4)。
從e4的wiki上的文件來看,Eclipse 4.0把Cross Platform 重新定義,以往Cross Platform 的定意是指可以在不同的 Operating System上運行(e.g Windows,Linux,Macintosh),在Eclipse 4.0的新定意已突破這個思維︰Browsers(IE,Mozilla,Safari), Rich Client Runtime(Adobe的AIR(Flex),Microsoft的Silverlight)等都是一個Platfrom,你寫的SWT程式只要Recomplice就可以成爲AJAX或Flash的Web Application。可以看出Eclipse 4.0的野心更大,而且更想走出了Java Runtime Environment(JRE) 的框架,成爲一個新的Deveopment Platform。

說到這裡是不是覺得Java的概念已變得模糊,以前在Sun Microsystem的時代Java不單代表了Java Program Language,還代表在JRE上運行和使用Java API。Eclipse早已不用Java標準的Swing API而用SWT,現在連JRE也不用,剩下來的Java只是Java Language的Syntax。是不是有點似曾相識的感覺呢,是的Google的Google Web Toolkit(GWT)和Andriod,都用了相同的方法︰只用Java Language再加上自家的API和Runtime。其實很早以前Microsoft的J#也是用了Java Language加上.NET API和.NET Runtime,不同的是那時候Sun Microsystme還有能力帶領反Microsoft的公司一起和Microsoft打官司,而現在已自顧不睱了,怎能和Google和IBM作對呢。可見Java離改朝換代之時已不遠矣…

3 則留言:

匿名 提到...

Eclipse 可能是很好的platform. 但作為一個Java IDE, Netbeans 6.x 卻是遠遠超過Eclipse 3.3

匿名 提到...

Netbeans 6.x 是好,可是如果你看看Plugin 的多少就知道Eclipse的好處...

碌碌仔週記 提到...

補充: 使用SWT在AJAX上行的Project叫Eclipse Rich Ajax Platform (RAP).

Eclipse 4還有個值得留意的東西,就是XML Window Toolkit (XWT), 簡單來說是用XML declare UI,類似.NET的Extensible Application Markup Language(XAML). 可簡化UI Development. Java和.NET走的方向最後也殊途同歸...