在Java IDE的商機告終的同時,Java開發者面臨的是由社群主導、融入更多創新元素、品質不一,卻也擁有更多選擇的開發平臺。

NetBeans與Eclipse的戰爭
近幾年,Eclipse取代了Borland JBuilder成為Java開發工具的霸主,然而昇陽主導的NetBeans急起直追,後續的發展仍然精彩可期。

NetBeans 5.×版的革新
2006年NetBeans大躍進
2006年NetBeans展現戲劇性的成長,推出許多搶眼的新功能,被媒體評為2006年Java IDE的贏家,著實令過去不看好昇陽的人對NetBeans刮目相看。>>>令人耳目一新的NetBeans 5.×版外掛套件

兩大開放源碼IDE的較勁
Eclipse簡單輕巧,NetBeans功能完整
Eclipse搶先一步走向開放源碼,因此擁有多數開放源碼與Java大廠的支援,NetBeans急起直追,提供簡單、精靈化的功能,企圖縮短與Eclipse的差距。


專家眼中的Java IDE

 



JavaWorld站長林康司:「NetBeans提供的各種外掛套件雖然方便,但是寫程式時,擁有完善編輯器功能的Eclipse較具吸引力。」



JavaWorld Open Source版版主李日貴:「以目前的態勢來看,支援Eclipse的公司或社群的確比較多,所以Eclipse吸引多數工程師的使用。」



資訊工業策進會數位教育研究所資訊技術訓練中心臺北中心教學組長蘇國鈞:「現在很多人的電腦裡頭,應該都有很多份Eclipse,各自外掛不同的軟體,從事不同的應用,但這未必是好現象。」

NetBeans與Eclipse的戰爭

Java IDE(Integration Development Environment,整合開發環境)的興衰歷史,充滿商場的算計與鬥爭,在短短幾年的時間,Eclipse取代了Borland JBuilder成為Java開發工具的霸主,現階段已坐穩一哥的寶座,然而昇陽主導的NetBeans急起直追,JBuilder更是企圖力挽狂瀾,面對實力堅強的追兵,後續的發展仍然精彩可期。

2006年NetBeans重新浮上檯面
同樣是開放源碼的NetBeans,卻有著不同的命運,李日貴表示:「NetBeans與Eclipse最大的差異,就是圖形化使用者介面基礎-Swing與SWT。」昇陽於NetBeans採用跨平臺的桌面圖形顯示技術Swing,但相對拖慢執行效能,而IBM則推出SWT(Standard Widget Toolkit) ,依不同的平臺綑綁不同的原生GUI 實作,因此速度大幅提升。

Eclipse的中文意思是日蝕,似乎衝著昇陽(Sun)而來,NetBeans的飽受批評的缺點,正是其令人難以忍受的效能。不過,在品質的調整以及Swing技術的改進之下,持續接觸NetBeans的JavaWorld站長林康司樂觀表示:「NetBeans 4.0以前的版本確實很差,但5.×版已大幅改善。」

NetBeans 5.0及5.5版提供許多精靈化的設計界面,並新增相較於Eclipse,更為好用的多種外掛套件。最為人所稱道的例如Matisse、Profiler、MobilePack,以及Visual Web Pack 5.5。

以NetBeans 3.×版為例,每月下載人數約5萬人次,到了5.0版己接近20萬,5.5版更上衝到25萬人次。可見昇陽的努力,在NetBeans 5.0推出後有了顯著的成效,網路社群一致認為:NetBeans是2006年IDE領域最具戲劇性的發展。

新版JBuilder也擁抱Eclipse
資策會數位教育研究所資訊技術訓練中心臺北中心教學組長蘇國鈞,由於多年推廣Java,對於開發工具的更迭感受最為深刻:「當年推廣JBuilder的過程,好像在Eclipse身上重演。」

此話怎說?早期流行的Java開發工具是Visual Cafe與Visual Age for Java,推廣JBuilder 3.0非常辛苦,隨著JBuilder在業界打開知名度,便成為教育訓練的主流工具。然而,經濟不景氣再加上開放源碼的蓬勃發展,Eclipse從接受度很低的情況,逐漸取代JBuilder躍升成為主流。

Borland在開發工具領域久享盛名,然而在一心朝ALM(Application Lifecycle Management)發展的同時,卻忽略了開放源碼的興起,給了Eclipse攻城掠地的大好機會,該公司在.NET方面也不敵Visual Studio追趕新技術的速度,因此市占率節節敗退。最後終於在2006年農曆年前宣佈了震驚全球IT界的消息:出售開發工具相關業務。

對於Borland的決定,業界呈現兩極的反應:一派認為Borland此舉猶如自殺性行為,另一派則認為是明智的抉擇,因為市場再也不願為Java開發工具掏腰包了。不管結論到底如何,Borland等待了將近一年,仍然沒有出現適合的買主,只好成立子公司CodeGear,承接開發工具的業務。

目前Borland/ CodeGear正嘗試調整策略,JBuilder 2007版改以Eclipse平臺為基礎。他們看準企業面對Eclipse外掛各種開放源碼專案,引發不易管理的問題,企圖提供已經驗證、整合且可被管理的平臺,並免費內建價值各有10多萬元的塑模工具Together與效能調校工具Optimizeit。

僅管物超所值,不過,仍需花費75,000元的價格才能買到企業版,企業是否願意為JBuilder的加值功能而買單,仍然有待觀察。目前從通路端反映出的另一種心聲是:如果JBuilder 2007拿掉Together與Optimizeit,將售價降到1~2萬元左右,可能吸引力較大。

Eclipse大獲全勝,但外掛套件品質仍是隱憂
相較於需要付費使用的JBuilder, Eclipse完全免費,而且Java平臺平均每18個月推出新的技術版本,企業便在版本升級的同時,一再面臨工具的成本問題,在不允許單一技術使用多種開發工具的情況下,Eclipse便以免費的優勢,大舉攻占JBuilder的領土。

不過,Eclipse也有缺點。就因為Eclipse已成為開放的平臺,各種開放源碼專案以及Java軟體廠商,均以支援Eclipse首要選擇,但是不要錢的套件要花心思搜尋與整合,而要錢的外掛套件不便宜。

各種套件的安裝、新舊版的更新、不同版本可能搭配不同的額外套件,以及不同套件之間可能存在的相依性以及衝突等問題,就是Eclipse最為人所詬病之處。

免費的目的是為了擁有影響力
IBM與昇陽本身的利基點,與專攻開發工具並以此為生的Borland JBuilder不同,Eclipse和NetBeans只是搭配自家的軟硬體平臺的開發工具,所以既然拼不過JBuilder,不如「做功德」免費奉送,但此舉卻直接影響到Borland的生存。

事實上釋出免費的前端開發工具,瞄準的是應用程式開發背後潛藏的軟硬體商機,畢竟,擁有市占率就等於擁有影響力。

NetBeans 5.0版增強了許多功能,展現昇陽試圖與Eclipse抗衡的決心。在大廠的加持下,雖然短時間之內NetBeans仍難以撼動Eclipse的地位,但是林康司認為:「有競爭才有進步。」過去JBuilder穩坐第一名時,也很難想像Eclipse有超越JBuilder的一天。

短期內Eclipse仍是主流的選擇
在Borland/CodeGear的走向曖昧不明,而NetBeans的影響力仍遠遠落後的情況下,Eclipse仍然占盡優勢。

林康司雖然對NetBeans近期的發展,抱持樂觀與期待的態度,不過他務實地認為:「NetBeans適合快速開發小型的測試,但面對大型專案時,還是對Eclipse較有信心。」

Eclipse的人氣居高不下,最主要的原因仍在於大廠對Eclipse情有獨鍾,而目前只有JBoss等少數廠商兩邊押寶。即使NetBeans推出了一些好用的精靈化工具足以吸引初學者,但是開放源碼社群很快也會為Eclipse仿造類似的設計,例如預計2007年中推出的新版WTP(Web Tools Platform),也將提供類似NetBeans Matisse的套件,所以應該無法撼動Eclipse的地位。

就目前的情勢而言,正如蘇國鈞所言:「短時間之內,Eclipse仍是企業不得不『將就』的選擇。」文⊙李延華2006年NetBeans大躍進

2006是NetBeans豐收的一年,不但獲頒InfoWorld年度科技大獎,並稱許NetBeans是Java IDE的創新者。

無獨有偶,O'Reilly 的Java社群網站ONJava.com,其專攻Java技術的資深編輯Steve Anglin更評論NetBeans是2006年Java IDE年度評比的贏家,而Oracle的JDeveloper、Borland的JBuilder、Eclipse Dali-JSF/Eclipse WTP淪為輸家。

Steve Anglin的評論在網路上引起廣泛的討論,多數人投下贊成票,稱許NetBeans 5.×版的改進令人驚豔。不過,也有務實的網友提醒大家,目前Eclipse與微軟的Visual Studio才是IDE的霸主,NetBeans炫目的新功能並不會扭轉局勢。

多項功能令人耳目一新
NetBeans 3.×版時期的設計與效能,幾乎無人看好,在昇陽的改進之下,NetBeans 5.×用起來開發確實變得方便、速度加快,操作介面也更加友善。而且推出多項外掛套件,提供足以與Eclipse抗衡的新功能。

Matisse
Matisse(唸為馬諦斯)是5.0版推出所見即所得的桌面應用程式GUI視覺化設計工具,用過PowerBuilder的人,會似曾相識地發現,Matisse也提供元件上/下/左/右對齊的功能,對於介面的編排與美化作業很有幫助。Matisse的方便與好用也受到廣泛的注意,不僅Eclipse陣營的外掛套件MyEclipse,也根據Matisse實作了一套Matisse4MyEclipse,讓Eclipse平臺也有這樣好用的設計工具。而且JCP組織已納入Java SE 6,成為標準的版型管理員(Layout Manager)模組。

Mobility Pack
針對行動裝置的Java程式的開發,NetBeans 5.0推出Mobility Pack,整合J2ME Wireless Toolkit 2.2,並支援J2ME MIDP 2.0 and CLDC 1.1,幫助開發者以視覺化的方式設計、測試與除錯J2ME程式。若結合Matisse,更可以透過滑鼠拖拉點放的方式,設計使用介面。

Profiler
在NetBeans的外掛套件中,Profiler是下載率相當高的一項,臺灣昇陽教育訓練暨技術推廣經理林上傑表示:「昇陽開發Profiler耗時2至3年,是目前免費的效能剖析工具中最好用的一個。」

Profiler可以監控處理器的效能、分析記憶體以及執行緒的使用情況, 甚至可以透過遠端監控與剖析的方式,針對Eclipse平臺的Java程式,協助找到效能的瓶頸。

Collaboration Tool
Collaboration Tool的作用,類似MSN等即時通訊的功能,開發者可以在寫程式的同時,呼叫其他據點的團隊成員,超越時空的限制,在網路上共同討論與編輯程式,排除難解的問題。

協同開發機制與即時通訊產品不同的是,Collaboration Tool支援純文字、Java、HTML與XML等格式,在傳遞程式的過程中,不會遺失程式排版的格式,程式碼的版型與縮排、關鍵字的字體與顏色等皆不失真。此類協同開發機制頗受開發者青睞,JBuilder 2007也推出類似的功能。

Visual Web Pack
Java與.NET的開發工具相比,兩者之間很大的不同點,在於Java無法以所見即所得的方式設計網頁,開放源碼社群為此設計了Struts架構,隨後JCP組織順應民意制定JSF(JavaServer Faces)規格,希望利用統一的標準,提供以滑鼠拖拉點放即可完成的視覺化網頁設計工具。昇陽即根據JSF推出Creator,企圖吸引.NET的使用者。
Visual Web Pack即是將Creator移植到NetBeans平臺的外掛套件,不過,林康司認為:「Visual Web Pack並不討喜,反而拖慢NetBeans的效能。」

林上傑分析:「Java的開發者並不喜歡Creator。」因為不想被工具綁死,滑鼠拖拉點放設計頁面確實可以有效加速開發的生產力,但也就因此而不夠了解技術底層的原理,反而增加了維護的成本。

開發人員對6.0版更具信心
即使NetBeans 有諸多令人興奮的改進,林康司對5.5版的表現仍不滿意:「相較於Eclipse的效能,NetBeans的反應速度仍然不夠順暢,而且編輯器的發展不如Eclipse成熟。」

據了解NetBeans 6.0版將大幅改寫程式碼編輯器,並加入與JRuby外掛套件,以便支援動態語言(Scripting),林康司對此充滿期待。

小蝦米對抗大鯨魚的戰爭
事實上,昇陽對NetBeans的重整旗鼓的動作頗大,2004年開始舉辦Netbeans Day,2005年也有了World Tour全球巡迴大會,昇陽教育訓練中心也推出了NetBeans相關課程。

NetBeans 5.×的改變有目共賭,然而林康司認為:「針對企業級的應用,NetBeans仍有不足之處。」例如版本控管機制,以及編輯器仍不如Eclipse親和友善,更重要的是企業對NetBeans的信心仍顯不足。

當然,Steve Anglin評論的是2006年的整體表現,回顧NetBeans過往的3.×與4.×版令人完全不看好的執行效能和不夠友善的介面,再比較Eclipse WTP與Dali-JSF的緩步發展,昇陽於2006年2月與11月,相繼推出的NetBeans 5.0版與5.5版,功能上確實是一大躍進,但這並非市占率的討論。

就如林康司所言:「Eclipse與NetBeans就像IE對上FireFox。」雖然新聞情勢上,大家都說FireFox大勝利,但其實兩者的市占率仍然相差甚遠。同樣的,NetBeans與Eclipse的情勢,也是一場小蝦米對抗大鯨魚的戰爭。文⊙李延華令人耳目一新的NetBeans 5.×版外掛套件

昇陽於NetBeans 5.0與5.5版中,陸續推出多項廣受好評的外掛套件,例如桌面應用程式的GUI設計工具Matisse、可在NetBeans中視覺化開發、測試與除錯J2ME程式的Mobility Pack,以及NetBeans外掛套件中,下載率極高的效能剖析工具Profiler,Profiler甚至可以遠端剖析Eclipse的程式。Collaboration可協助遠距離、多據點的開發團隊協同開發,而Visual Web Pack 5.5則是移植自過去昇陽推出的Creator,提供JSF(JavaServer Faces)平臺,可以滑鼠拖拉點放的方式,設計Web頁面。(資料來源:昇陽電腦)


桌面應用程式的GUI設計工具Matisse



J2ME開發套件:Mobility Pack



效能剖析工具:Profiler



協同開發機制:Collaboration



JSF Web設計工具:Visual Web Pack 5.5

Eclipse簡單輕巧,NetBeans功能完整

Eclipse簡單輕巧,而NetBeans功能完整。大致而言,由於NetBeans開放源始碼的時機較晚,且5.0版以前的外掛機制過於複雜,導致開放源碼專案與Java大廠傾向選擇Eclipse作為開發平臺,錯失搶佔IDE市場的良機。

外掛難易度左右套件的選擇
NetBeans在5.0版以前,外掛的API設計較為複雜,而且沒有精靈化的輔助機制,再加上Swing的架構嚴重拖慢執行效能。因此當Java的套件或產品,選擇外掛的開發平臺時,自然傾向Eclipse。JavaWorld站長林康司分析:「如果NetBeans一開始就有5.0的水準,也許情況會有所改觀。」

不過,Eclipse包羅萬象、上千個的外掛套件缺乏統整與把關的單位,因此令開發者很頭大。

各式外掛套件之間可能存有相依或互斥性,例如安裝A套件之前必須安裝特定版本的B套件,而嘗試C套件時,又可能與A套件產生衝突,甚至未來任何套件的更新版本,都可能引發連鎖的相容性問題。

再加上不同團隊的設計理念不同,所以使用者面對Eclipse平臺多元的操作體驗容易感到錯亂。

平心而論,不搭配任何外掛套件的Eclipse與NetBeans相比,就是功能陽春、簡單而輕巧的IDE,僅能開發簡單的Java SE程式,連Java ME與Java EE的開發都不支援,必須仰賴外掛套件的加值,也因此才能衍生如此繁多的外掛套件。

而NetBeans則是內建所有Java標準應用的開發功能,因此「噸位」較為肥大,操作介面也就相對複雜,也是NetBeans的外掛套件較少的原因之一。

NetBeans企圖扭轉頹勢
當Hibernate、Spring等開放源碼社群的專案以及Java軟體大廠,在選擇開發平臺時,傾向搭配Eclipse,再加上沒有支援多個平臺的必要性,便形成「西瓜偎大邊」效應,企業也因此向Eclipse靠攏,NetBeans便顯得越來越孤獨。

即便NetBeans也針對熱門的開放源碼設計外掛套件,不過支援速度較為緩慢。昇陽面對這樣的情勢,似乎意識到另一個層面的利基點:昇陽是Java標準的制定者,所以NetBeans絕對是率先支援Java標準的平臺,因此在傾向遵循Java標準的企業中,NetBeans便占有優勢。

NetBeans 5.×版的崛起,也令許多大廠開始觀望NetBeans的發展,JBoss便選擇兩邊押寶,未來若有更多的廠商願意加值NetBeans平臺,NetBeans即有機會扭轉頹勢,與Eclipse相抗衡。文⊙李延華


Java開發工具興衰史

在Java出現之初,Visual Cafe是最為人所熟知的開發工具,直到Borland推出JBuilder,Visual Cafe逐漸為人所遺忘,之後直到2004年以前,JBuilder一直所向披靡,穩坐Java開發工具市占率第一名的寶座。

而IBM的Eclipse因為不敵JBuilder,於是在2001年IBM決定投入4,000萬美元種子基金成立Eclipse聯盟,以Common Public License的授權方式,將Eclipse公開捐出,變成開放源碼(Open Source)軟體,並且成立Eclipse.org,負責相關的開發工作。

當時許多人認為Eclipse開放源碼計畫,不過是IBM用來銷售自家軟體的手段。不過事情卻逐漸起了變化,尤其Eclipse.org在2004年自IBM獨立出來,成為非營利組織,此舉讓以往不願入會的廠商,比如BEA等也紛紛加入。如今,Eclipse.org已經擁有九十幾個會員,包括JBoss、BEA等,幾乎囊括了所有的Java軟體大廠,唯一比較明顯的例外是昇陽沒有加入,而Oracle的參與度則不高。

Eclipse在短時間內,統合了絕大部分的Java供應商。於是Borland就在這2~3年幾年的時間,迅速地敗下陣來,Eclipse竄升成為市占率第一名的Java開發工具。

昇陽不加入Eclipse,也意味著不願放棄NetBeans,在重新整頓之後,目前旗下所有開發工具產品,皆以NetBeans軟體為基礎。

IBM釋出Eclipse短短3年的時間,竟然改寫了開發工具市場的生態,與微軟纏鬥多年的Borland,最後竟是因為IBM而敗下陣來,並從此退出開發工具市場,而Java開發工具也演變成「無價」的商品,實在令人始料未及。文⊙李延華

專家眼中的Java IDE

林康司
JavaWorld站長、資策會副工程師

目前接觸的Java開發工具: 工作上使用RSA(Rational Software Architect),閒暇使用NetBeans


NetBeans 5.0版的表現很令人驚豔,5.5版將Creator移植到NetBeans,並強化Profiling、UML及BPEL的機制,且支援C與C++語言,與Eclipse同樣從Java開發工具躍升為平臺。

即便如此,我對NetBeans 5.5仍不甚滿意。Eclipse編輯器的發展已臻極致,相較之下NetBeans不夠完整,據說6.0版將有重大突破。所以相當期待6.0版強化編輯器,以及提供JRuby外掛套件支援動態語言的成果。

閒暇時間我常利用NetBeans提供的Wizard做快速的簡單測試,回答JavaWorld使用者的提問。不過開發軟體專案的話,仍傾向使用Eclipse,因為使用時間長,較有信心。而且NetBeans提供的各種外掛套件雖然方便,但是寫程式時,通常使用編輯器的時間仍高於使用各種外掛套件的時間,所以擁有完善編輯器功能的Eclipse較具吸引力。


李日貴
松凌科技技術總監、JavaWorld Open Source版版主

目前接觸的Java開發工具:過去使用NetBeans,2006年改採Eclipse


當Borland退出Java IDE的市場,就等同宣告了 NetBeans 與 Eclipse Opensource IDE的戰爭正式開打。在爭論該用哪個IDE比較好的同時,現在的IDE已經成熟到「當Eclipse推出某種新功能,NetBeans也隨即產生類似的模組」,但是往往某些商用或開放源碼套件,僅推出支援NetBeans或Eclipse的外掛套件。

以目前的態勢來看,支援Eclipse的公司或社群的確比較多,所以Eclipse吸引多數工程師的使用。很多人使用Eclipse的原因,追究起來應該是Eclipse底層使用SWT,在Windows開發的時候的確比NetBeans更為快速與順利,加上Eclipse的創新能力,除了基本的開發、編譯、除錯之外,引領了測試與重構的風潮,這點讓人感到非常滿意。

Eclipse的優點不少,但是對於新的Java版本支援如JavaSE 5 Annotation的應用,NetBeans推出的時間早了許多,開發者可以盡情地測試相關的設計與新的架構。因此,在適當的時機選擇適合的工具,應該才是最重要的,畢竟,IDE的目的是為了協助快速簡單開發系統。


蘇國鈞
資訊工業策進會數位教育研究所資訊技術訓練中心臺北中心教學組長

目前接觸的Java開發工具:因教育訓練課程而接觸JBuilder與Eclipse多年


因為對這兩個工具接觸的時間都很早,所以現在看Eclipse,就很像當年在看JBuilder一樣。一個軟體會不會受歡迎,與發展方向的差異有很大的關係。JBuilder當年在Java開發工具可說是打遍天下無敵手,可是後來朝向Application Lifecycle Management(ALM)的路子走,沒有掌握到這幾年蓬勃發展的Open Source Java Framework,給了Eclipse一個竄起的機會,後頭還有虎視眈眈的NetBeans。Eclipse現在可說是佔盡了天時、地利、人和的優勢。

Eclipse發展至今也已經五歲了,作為應用程式平臺的地位大致上也已經穩固,可是外掛套件的介面一直在變,也沒有一個比較好的管理方式,與Linux很像,有數以千計的軟體,但是沒有比較統一好用的管理機制。相信現在很多人的電腦裡頭,應該都有很多份Eclipse,各自外掛不同的軟體,從事不同的應用,這未必是好現象。

熱門新聞

Advertisement