概述
MyEclipse為Eclipse提供了一個(gè)大量私有和開(kāi)源的Java工具的集合,這解決了各種開(kāi)源工具的不一致和缺點(diǎn)。NitroX是一個(gè)繁雜而強大的加速Java Web應用開(kāi)發(fā)的工具,還包含了一個(gè)強大且能夠編譯所有JSP和Struts Web應用的工具AppXRay。這些工具解析Java和XML配置文件來(lái)提供看蟮拇臚瓿珊偷魘閱芰Α?lt;br />
任何想知道在粗糙的開(kāi)源解決方案和優(yōu)雅的商業(yè)軟件之間是否存在中間層的人都應該看一下MyEclipse和NitroX開(kāi)發(fā)環(huán)境。兩者都是商業(yè)的插件和工具集合,為免費的Eclipse開(kāi)源平臺增加了大量有用的開(kāi)發(fā)服務(wù)端應用的功能。
這兩個(gè)軟件來(lái)自擁有不同想法的公司。M7的NitroX關(guān)注創(chuàng )建Web應用,他包含三個(gè)不同價(jià)格的版本,但核心都是AppXRay(一種深入的自省技術(shù),集成了Java的命名空間和XML配置代碼)。最弱的版本提供了JSP調試功能,年費$299;中間版本增加了Struts應用的支持需要額外的$200;最強的版本包含創(chuàng )建和調試JSF的工具需要再加$200.當然在多許可證時(shí)可以一些折扣。
來(lái)自Genuitec的MyEclipse企業(yè)版提供更多的輕量級工具但只需要年費$29.95。其中包含一些由其他組織開(kāi)發(fā)的開(kāi)源插件,但Genuitec增強了功能并且增加一些好的文檔。
MyEclipse包含生成Struts Web應用的自動(dòng)工具,還包含其他的工具如配置Hibernate框架的數據庫連接及 SQL瀏覽器。
這些項目都致力于替代IBM原來(lái)的包含在其旗艦IDE(WebSphere)中創(chuàng )建EJB組件和JSP頁(yè)面的功能。IBM剝離了這些功能而將其核心作為Eclipse推出,毫無(wú)疑問(wèn)IBM選擇Eclipse(日蝕)這個(gè)名字是對Java名字擁有者Sun(太陽(yáng))的一次不那么敏感的挑戰。Eclipse已經(jīng)強大起來(lái),吸引很多開(kāi)發(fā)者來(lái)創(chuàng )建自己的插件。許多插件是開(kāi)源的,但也有一些是商業(yè)的。而結果是開(kāi)源的代碼與商業(yè)的代碼被優(yōu)雅的混和起來(lái)使其更加有用。
M7 NitroX for JSP, Struts, and JSF
NitroX和MyEclipse都是商業(yè)代碼與開(kāi)源代碼共存的好例子。專(zhuān)業(yè)的Web應用開(kāi)發(fā)者可能首先想試一下NitroX工具集,只因為其是最廣泛的。AppXRay特性看起來(lái)專(zhuān)注于使程序員只需要鍵入名字一次。AppXRay包含許多代碼完成工具能夠深入Java代碼模塊和XML配置文件。在你定義一些方法/屬性/配置選項一個(gè)名字后,AppXRay會(huì )找到他并放在下拉菜單中為你下次使用。
AppXRay比一般的調試器更強大,他能夠解析和存儲來(lái)自XML配置文件中更多的信息。這是個(gè)有用的補充,因為現在的框架編程如Struts都是Java和XML的混和。大部分程序員可以告訴你所有Java的類(lèi)型檢查對XML中的錯誤配置項毫無(wú)用處。
來(lái)自AppXRay的信息對調試也大有用處。你可以更深地了解JSP頁(yè)面并且將其與XML配置文件中的信息關(guān)聯(lián)起來(lái)。NitroX標準的外觀(guān)和變量瀏覽面板來(lái)處理更多的XML編輯問(wèn)題。
NitroX還包含JSP設計頁(yè)面分為代碼和HTML布局。你可以通過(guò)點(diǎn)擊最終布局發(fā)現JSP代碼的一部分。這與使用WYSIWYG HTML頁(yè)面布局工具類(lèi)似,但他還為一些標準JSP標記提供圖標。如果你在JSP頁(yè)面中包含循環(huán)或其他構件,你可以可視化其效果。
NitroX系統不是完美的,AppXRay還有些粗糙的地方。如他可以創(chuàng )建一些沒(méi)有權限類(lèi)型的action,但向導卻警告錯誤;一些向導只完成一半的功能。構建Struts應用的過(guò)程中還包含一些無(wú)用的Form。當然NitroX深入XML配置文件的能力還是一個(gè)非常大的進(jìn)步。
MyEclipse Enterprise Workbench
通過(guò)比較Strut開(kāi)發(fā)環(huán)境是不公平的,因為MyEclipse根本沒(méi)有包含AppXRay編譯所包含的高級信息。但這并不意味MyEclipse是不足的,他也包含很多好的創(chuàng )建Struts應用和編輯配置文件的向導。你可以通過(guò)幾次點(diǎn)擊就能Action或者用向導來(lái)完成其他功能。這些方法更接近于模板而不是怪異的名詞如AppXRay,但這已經(jīng)足夠了。(簡(jiǎn)化使我想知道為什么MyEclipse在自己的站點(diǎn)上使用那么多的PHP。難道他們不吃自己的狗糧嗎?)
MyEclipse的實(shí)際價(jià)值來(lái)自包含的發(fā)布包中的大量的工具。如CCS/JS/HTML/XML的編輯器,幫助創(chuàng )建EJB和Struts項目的向導并產(chǎn)生項目的所有主要的組件如action/session bean/form等。還包含編輯Hibernate配置文件和執行SQL語(yǔ)句的工具。
我在數據庫瀏覽中的經(jīng)歷可能也是其他開(kāi)發(fā)者會(huì )在MyEclipse發(fā)現的好指南。MyEclipse綁定的數據庫工齡如SQLExplorer是一個(gè)GNU LGPL保護的Eclipse插件。我以前下載過(guò)SQLExplorer但由于沒(méi)有將數據庫驅動(dòng)放在正確的位置而沒(méi)有使用成功。而包含在MyEclipse中版本開(kāi)始時(shí)也沒(méi)有成功,提示我一些難以理解的錯誤信息。在我準備抱怨時(shí)我發(fā)現的良好的幫助文檔,這使得我順利地安裝驅動(dòng)。MyEclipse的小伙子們沒(méi)有修正錯誤信息,但他們發(fā)布了開(kāi)源版本沒(méi)有包含的良好而簡(jiǎn)單的文檔。
極度節儉的開(kāi)發(fā)者可能會(huì )直接使用原始的插件。這時(shí),原始的版本相對MyEclipse中的是更高級的。很難說(shuō)$30是否值得。但如果MyEclipse的文檔為你節約了幾十分鐘甚至一小時(shí),那么這錢(qián)還是值得的。
如果只是因為10到20倍的價(jià)錢(qián)那么對NitroX的評判相對更難了。但如果你經(jīng)常構建JSP和Struts應用,那么這花費只相當于每天幾元而已。我們可以很容易看到來(lái)自AppXRay的代碼完成技術(shù)會(huì )大量的節約開(kāi)發(fā)時(shí)間。
那么從其他的開(kāi)發(fā)平臺如IntelliJ或Jbuilder轉換到這些工具是否有意義呢?這就不是簡(jiǎn)單的體驗一下了,因為這些IDE也提供了對Java Web應用的良好支持。此外,NitroX的完全版價(jià)格與許多大產(chǎn)品的價(jià)格差不多了。NitroX和MyEclipse的一個(gè)優(yōu)點(diǎn)是他們是Eclipse插件生態(tài)系統的一部分。你可以使用這些產(chǎn)品和其他插件而且他們可以很好共同使用。這種在商業(yè)代碼和開(kāi)源代碼之間的跨傳遞效果就是一個(gè)企業(yè)中共存的一個(gè)好例子。