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