【发布时间】:2010-12-04 21:49:35
【问题描述】:
Appfuse 与 Roo,您会使用什么以及为什么?
每个人的甜蜜点是什么。
【问题讨论】:
标签: java jakarta-ee code-generation spring-roo appfuse
Appfuse 与 Roo,您会使用什么以及为什么?
每个人的甜蜜点是什么。
【问题讨论】:
标签: java jakarta-ee code-generation spring-roo appfuse
对于初学者来说,roo 看起来更加过度设计,包括代码生成、面向方面编程的使用等等。
【讨论】:
Appfuse 似乎不再维护,似乎最后一个版本是在 2008 年 5 月发布的。
因为使用了尚未发布的 Spring Framework 第 3 版,所以它现在有点前沿,但这将会改变,并且该版本带来了很多有趣的变化。
它还向您推销更多 Spring 技术组合,例如 STS 和 tcServer,并使使用 Spring Security 和 Spring WebFlow 变得非常容易。
【讨论】:
我关于 AppFuse 和 Roo 的笔记:
AppFuse
是一个完整的模板应用程序/项目。
传统 DAO 服务 控制器架构
轻松上手 maven 原型
很棒的文档和教程
不是最新的。 Spring 3 final 即将发布,AppFuse 基于 2.5 (?)
春袋鼠
另一方面,Spring Roo 是一个工具,它通过使用代码生成来加速开发。
开始使用完全配置的新项目需要 1 分钟
创建丰富的域对象,其中使用 AOP 而不是传统的 DAO/服务将 CRUD 编织到域对象中
如果您是 Spring 新手,很难掌握
文档不是那么好还
真的很酷! IE。只需一行代码即可将 Spring Security 添加到您的项目中!
【讨论】:
根据我在这个问题上给TheServerSide thread 的回答...:
AppFuse 旨在为您的新项目提供一个初始支架。这类似于 Maven 原型或 Eclipse 的“新项目”功能,您在新项目开始时运行它们一次,然后您继续维护脚手架代码。一旦你运行了一次,脚手架系统就不再参与你的项目。
另一方面,Roo 为您在给定项目中的长期使用提供了一个可感知往返的活动代码生成器。因此,Roo 在初始创建时以及在您修改项目时提供价值。
实际上,这意味着随着您项目的发展,Roo 会自动维护某些文件。举个简单的例子,当您添加(或删除)一个字段时,Roo 会自动为您更新 toString、getter/setter、JSP 页面等。它还提供命令,以便您以后可以添加新功能。因此,如果您需要在创建项目六个月后添加安全性,您只需“security setup”。或者,如果您需要发送电子邮件,您只需“http://static.springsource.org/spring-roo/reference/html/command-index.html#command-index-email-sender-setup”。许多其他功能领域也有类似的命令,例如 Spring Web Flow、JUnit、Selenium、常见的 JPA 提供程序等。您只需根据需要推迟决定,Roo 只会在您要求时添加这些功能它们(它还会自动在您的项目中使用这些新功能)。
还有许多其他差异。 Roo 允许通过用户开发的add-ons 进行扩展,它提供了高度的usable shell,它允许您增量构建一个新项目并仅在需要时添加功能,它广泛支持主要 Spring 技术的最新版本,它带有SpringSource 开发(因此得到认可)application architecture 等等。
阅读 Roo 参考指南的 Introduction Chapter 或简单地完成 ten minute test 项目将说明它们在方法上非常不同。
【讨论】:
我和ROO一起去。
我已经在用了
所以我更喜欢 SpringSource 产品,因为一旦我扩展/实现了安全框架的代码,我已经熟悉 SpringSource 的 API 样式、文档、约定,甚至它们的编码实践.. ;-)
所以,我的建议是使用对你来说更自然的工具/框架..
干杯,
【讨论】:
AppFuse 与 Tapestry、Wicket 和其他 Roo 还没有的 Web 框架集成
【讨论】:
对我来说 Appfuse 但它不是最新的,但是 spring roo 使用 aspectj 并且有部分代码你不应该接触,我不喜欢那样。
【讨论】:
AppFuse -> 更改为 SpringFuse 我更喜欢使用 SpringFuse
【讨论】:
春天的房间
优点。 1.
可自定义:您可以根据需要添加和删除不同的框架和插件。
数据库逆向工程:如果您已准备好数据库架构,请创建 CRUD 应用程序。
强大的 Spring 社区支持。
NOSQL MongoDB 支持
可以创建所需的附加组件。
缺点:
需要深入了解面向方面和 Spring 堆栈。
Appfuse:
优点:
缺点: 自定义应用程序,但不像 Spring roo。
【讨论】:
Telosys(轻量级代码生成器)也是一个不错的选择。看 http://www.telosys.org/
它产生非常干净的代码(没有像 ApectJ 那样的依从性) 并且模板是可定制的
有一组模板旨在生成 Spring MVC Web 应用程序(以及许多其他模板,用于为其他类型的框架生成代码)。
【讨论】:
这个问题已经有好几年了,同时我想指出一些新的生产力工具:
Generjee。 Generjee 是一个完整的在线工具。您在线定义您的要求和(可选)数据模型。然后您可以下载生成的代码。
生成的代码独立于generjee。该工具对于从集成的全栈代码库开始开发项目非常有用。
generjee 将为您生成:
Forge。用一句话来形容,就是“像Roo”。但是基于 Spring 和 AspectJ 的 Forge 不如 Roo 强大。
【讨论】:
AppFuse 项目于 2016 年 4 月关闭。其创始人 Matt Raible 建议使用 JHipster 作为替代方案。
【讨论】: