Genuitec and Skyway Software 的 MyEclipse for Spring 8.6 已经发布了。这一版本包含了 Spring Core 、Adobe Flex、Spring MVC、 GWT、Spring Web Flow 以及 iPhone Web 应用程序快速开发工具。
该版本还引入了一套新的 Spring 开发编辑器和代码助手,帮助开发基于注解的 Spring 程序和 JAX-WS 制品。.
为进一步了解这一新版产品,InfoQ 采访了产品总监 Niel Eyde。
InfoQ: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 。
InfoQ:这一版本的新增功能中什么是最重要的?
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 的所需信息。
InfoQ:你了解正在使用你们产品做项目的客户吗?对于正在考虑使用你们解决方案的团队,怎样的开发过程才是你们所推荐的呢?
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,利用他们已有应用制品来产生新应用组件的重要部分,从而跨域式实现现代化。
InfoQ:你们产品里的脚手架是非常重要的特性,与其他解决方案如 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 。
InfoQ:你们项目的路线图是什么?未来将如何发展?
Niel: 在脚手架方面,我们将继续研究更多应用类型的脚手架。我们还想提供更细粒度的代码产生控制,包括通过提供自定义模板,让开发者更容易地自定义 MyEclipse for Spring 代码产生引擎。另外,几个新代码助手已经列入计划,敬请耐心等待。
MyEclipse for Spring 包含了 MyEclipse Professional 的所有功能,如有兴趣可以下载30 天免费试用版。
查看英文原文: MyEclipse for Spring 8.6 Released with Flex, GWT and iPhone Scaffolding
评论