MyEclipse 8.6 for Spring發(fā)布 新增iPhone工具
近日,在MyEclipse 8.6發(fā)布不久,Genuitec and Skyway Software的MyEclipse 8.6 for Spring正式發(fā)布了。這一版本包含了Spring Core 、Adobe Flex、Spring MVC、 GWT、Spring Web Flow,最為欣喜的便是MyEclipse 8.6 for Spring包含了iPhone Web應(yīng)用程序快速開發(fā)工具。
該版本還引入了一套新的Spring開發(fā)編輯器和代碼助手,幫助開發(fā)基于注解的Spring程序和JAX-WS制品。.
為進(jìn)一步了解這一新版產(chǎn)品,InfoQ采訪了產(chǎn)品總監(jiān)Niel Eyde。
Q:MyEclipse for Spring 的主要特性是什么,能夠解決什么問題?
Niel: MyEclipse for Spring的一個主要特性是腳手架(scaffolding),它包括通過采用由開發(fā)者提供的標(biāo)準(zhǔn)應(yīng)用程序模式的最小輸入(inputs)集所產(chǎn)生的Spirng應(yīng)用的全部或主要部件。利用各種輸入(Java beans、JPA entities、關(guān)系表、WSDL/XML)你可以產(chǎn)生多種類型應(yīng)用程序,包括:Spring MVC、Spring Web Flow、Google Web Toolkit (GWT) &Spring、Adobe Flex &Spring,以及 iPhone Web 應(yīng)用程序。MyEclipse for Spring 還支持Web服務(wù)腳手架,以消費(fèi)和生產(chǎn)JAX-WS web服務(wù),包括契約優(yōu)先(contract-first)和代碼優(yōu)先(code-first )開發(fā)。
腳手架的目的是加速應(yīng)用程序開發(fā)。MyEclipse for Spring能夠產(chǎn)生一個應(yīng)用程序的各層代碼,包括Web、service、domain、以及數(shù)據(jù)訪問層。 我們來看看MyEclipse for Spring的兩個常見用例:一是產(chǎn)生可運(yùn)行的應(yīng)用、上下文相關(guān)的例子、或功能原型;二是產(chǎn)生開發(fā)人員在項目中可利用的特定應(yīng)用層或組件。
代碼助手是MyEclipse for Spring的另一個主要特性,可以在日常開發(fā)過程中對開發(fā)者提供幫助。其目標(biāo)是支持基于注解的開發(fā)。盡管大多數(shù)Java開發(fā)者都了解Java 注解的技術(shù)運(yùn)用,但通常并不清楚對特定技術(shù)有什么注解可用,什么情況下應(yīng)該用什么注解。例如,Spring框架對基于注解編程有很好的支持,但是其所支持的注解非常多,有些注解是所有Spring stereotypes(Spring構(gòu)造型)都可用的,另外一些注解則僅對特定stereotype可用。為了給 開發(fā)者提供幫助,MyEclipse for Spring的代碼助手支持基于注解的開發(fā),通過在配置注解過程中提供援助,它可以幫助開發(fā)者了解哪些注解可用,以及在何種上下文中應(yīng)該使用哪個注解。
有關(guān)MyEclipse for Spring特性的更多信息可以參見http://www.myeclipseide.com/me4s。
Q:這一版本的新增功能中什么是最重要的?
Niel: 在該8.6版中,我們增強(qiáng)了已有的Spring MVC腳手架功能,并增加了對Adobe Flex、Google Web Toolkit (GWT)、Spring Web Flow、以及iPhone Web的腳手架支持。這一版包含了JAX-WS和Spring stereotypes(包括Controllers、Services、Components、以及Repositories)的新代碼助手。作為這一版的一個部分,我們還努力打造出更加全面的學(xué)習(xí)資料、文檔以及教程,以幫助用戶并給他們提供成功使用MyEclipse for Spring的所需信息。
Q:你了解正在使用你們產(chǎn)品做項目的客戶嗎?對于正在考慮使用你們解決方案的團(tuán)隊,怎樣的開發(fā)過程才是你們所推薦的呢?
Niel: 通常,我們的客戶使用MyEclipse for Spring 來加速應(yīng)用開發(fā),創(chuàng)建功能原型,學(xué)習(xí)新的技術(shù),以及加速應(yīng)用程序現(xiàn)代化。下面我來分別說明這幾塊。
加速應(yīng)用開發(fā)
使用Eclipse的開發(fā)者擁有很多可以利用的工具,MyEclipse for Spring則增加了一個集成的代碼生成功能套件。利用代碼生成功能,開發(fā)者只需點幾下鍵盤,即可精確描述其要產(chǎn)生什么組件。
功能原型
用MyEclipse for Spring在制作原型和產(chǎn)品方面沒有區(qū)別,但很多客戶發(fā)現(xiàn)從domain模型產(chǎn)生全套可工作應(yīng)用程序的能力對制作原型特別有幫助。尤其是他們可以迭代domain模型,瞬間由domain模型重新產(chǎn)生應(yīng)用。有一個可運(yùn)行的應(yīng)用,非常有助于與業(yè)務(wù)分析師推敲需求。而且,你還可以用原型作為應(yīng)用程序開發(fā)的起點。
學(xué)習(xí)新技術(shù)
開發(fā)者精通一門技術(shù)有助于其學(xué)習(xí)其他新技術(shù)。開發(fā)者通常用一個簡單應(yīng)用或參考應(yīng)用作為學(xué)習(xí)的起點,但是 MyEclipse for Spring可以讓他們用自己的domain模型創(chuàng)建與其上下文相關(guān)的例子。比如,如果PHP開發(fā)者想學(xué)習(xí)Spring,利用已有PHP應(yīng)用的數(shù)據(jù)庫表,他們就可以快速產(chǎn)生一個Spring MVC(Spring Web Flow等等)應(yīng)用。因為該應(yīng)用是基于其domain模型的,因此與從網(wǎng)上下載的應(yīng)用相比,他們對所產(chǎn)生的應(yīng)用更加熟悉。而且,他們可以以正確的方式學(xué)習(xí)新技術(shù),因為“與其上下文相關(guān)的例子”采用了該新技術(shù)的最佳實踐。
應(yīng)用程序現(xiàn)代化
對一個組織而言,MyEclipse for Spring對于現(xiàn)代化其應(yīng)用非常有幫助,MyEclipse for Spring可以應(yīng)用于很多場景:例如,或許某組織正從某種技術(shù)或框架向Spring遷移;或者,他們想讓已有應(yīng)用擁有更豐富的前端(GWT、Adobe Flex)。對這兩種情況,都可以使用MyEclipse for Spring,利用他們已有應(yīng)用制品來產(chǎn)生新應(yīng)用組件的重要部分,從而跨域式實現(xiàn)現(xiàn)代化。
Q:你們產(chǎn)品里的腳手架是非常重要的特性,與其他解決方案如Spring Roo等相比,它有什么不同?
Niel: 首先,我本身就是Spring Roo團(tuán)隊成果的粉絲。我們的目標(biāo)是發(fā)布額外的Spring代碼生成工具,給開發(fā)者提供其他SpringSource免費(fèi)選項。
我們有一個網(wǎng)頁羅列了Roo 和 MyEclipse for Spring的主要區(qū)別,但是從更高層來看,有三個主要區(qū)別。第一個區(qū)別是開發(fā)環(huán)境使用的工具不同:MyEclipse for Spring使用的是基于Eclipse的向?qū)Ш途庉嬈?,而Spring Roo使用的是腳本語言和命令行接口。Eclipse用戶已經(jīng)很熟悉向?qū)Ш途庉嬈鞯氖褂?,因此使用MyEclipse for Spring幾乎不用怎么學(xué)習(xí)。第二個區(qū)別是產(chǎn)生應(yīng)用程序的應(yīng)用模式不同:MyEclipse for Spring產(chǎn)生的應(yīng)用遵循傳統(tǒng)架構(gòu)模式(Controller、Service、Domain 和 DAO),而Spring Roo則采用領(lǐng)域驅(qū)動設(shè)計概念(Domain Driven Design concepts:Aspects & Weaving、no Services 或 DAOs)來產(chǎn)生應(yīng)用程序。
第三個區(qū)別是產(chǎn)生應(yīng)用程序的類型不同: MyEclipse for Spring產(chǎn)生Spring MVC、Spring Web Flow、GWT、Adobe Flex及iPhone Web應(yīng)用,并且同時支持Spring 2.5/3.0。所有所需第三方類庫均已包含,因此MyEclipse for Spring非常適合產(chǎn)生當(dāng)今產(chǎn)品應(yīng)用組件。Spring Roo只能產(chǎn)生Spring 3.0的Spring MVC應(yīng)用。Spring Roo 的一些早期訪問版本也能支持其他的應(yīng)用類型,但是這依賴于產(chǎn)品里程碑以及早期訪問版本的類庫和框架。
再強(qiáng)調(diào)一下,要想了解MyEclipse for Spring 和 Roo的其他區(qū)別,請訪問http://www.myeclipseide.com/me4s/faqs/faqs_tool_comparison.php。
Q:你們項目的路線圖是什么?未來將如何發(fā)展?
Niel: 在腳手架方面,我們將繼續(xù)研究更多應(yīng)用類型的腳手架。我們還想提供更細(xì)粒度的代碼產(chǎn)生控制,包括通過提供自定義模板,讓開發(fā)者更容易地自定義MyEclipse for Spring代碼產(chǎn)生引擎。另外,幾個新代碼助手已經(jīng)列入計劃,敬請耐心等待。
【編輯推薦】