【问题标题】:appfuse vs roo - what would you useappfuse vs roo - 你会用什么
【发布时间】:2010-12-04 21:49:35
【问题描述】:

Appfuse 与 Roo,您会使用什么以及为什么?

每个人的甜蜜点是什么。

【问题讨论】:

    标签: java jakarta-ee code-generation spring-roo appfuse


    【解决方案1】:

    对于初学者来说,roo 看起来更加过度设计,包括代码生成、面向方面编程的使用等等。

    【讨论】:

    • “过度设计”通常被认为是一件坏事,但我猜你不是那个意思
    【解决方案2】:

    Appfuse 似乎不再维护,似乎最后一个版本是在 2008 年 5 月发布的。

    因为使用了尚未发布的 Spring Framework 第 3 版,所以它现在有点前沿,但这将会改变,并且该版本带来了很多有趣的变化。

    它还向您推销更多 Spring 技术组合,例如 STS 和 tcServer,并使使用 Spring Security 和 Spring WebFlow 变得非常容易。

    【讨论】:

    • 维护者刚刚发表评论说 AppFuse 即将更新,所以它正在维护中,虽然可能没有那么积极。
    • “Upsell”在这里有点误导,因为您提到的 Spring 产品是免费的。
    • 言出必行,AppFuse 在 2009 年底已经升级,所以它“还没有死”。
    • Appfuse 2.1 于 2011 年发布。我发现获得具有基本身份验证、国际化等功能的应用程序非常容易,而且我发现这些应用程序易于定制,并且感觉它们是一个很好的模型跟随,这正是我想要的。 (appfuse.org/display/APF/2011/04/04/AppFuse+2.1+Released!
    【解决方案3】:

    我关于 AppFuse 和 Roo 的笔记:

    AppFuse

    是一个完整的模板应用程序/项目。

    • 传统 DAO 服务 控制器架构

    • 轻松上手 maven 原型

    • 很棒的文档和教程

    • 不是最新的。 Spring 3 final 即将发布,AppFuse 基于 2.5 (?)

    春袋鼠

    另一方面,Spring Roo 是一个工具,它通过使用代码生成来加速开发。

    • 开始使用完全配置的新项目需要 1 分钟

    • 创建丰富的域对象,其中使用 AOP 而不是传统的 DAO/服务将 CRUD 编织到域对象中

    • 如果您是 Spring 新手,很难掌握

    • 文档不是那么好

    • 真的很酷! IE。只需一行代码即可将 Spring Security 添加到您的项目中!

    【讨论】:

      【解决方案4】:

      根据我在这个问题上给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 项目将说明它们在方法上非常不同。

      【讨论】:

        【解决方案5】:

        我和ROO一起去。

        我已经在用了

        • 春天
        • Spring ORM/JDBC
        • Spring MVC
        • 弹簧远程处理
        • STS(工具套件)

        所以我更喜欢 SpringSource 产品,因为一旦我扩展/实现了安全框架的代码,我已经熟悉 SpringSource 的 API 样式、文档、约定,甚至它们的编码实践.. ;-)

        所以,我的建议是使用对你来说更自然的工具/框架..

        干杯,

        【讨论】:

          【解决方案6】:

          AppFuse 与 Tapestry、Wicket 和其他 Roo 还没有的 Web 框架集成

          【讨论】:

            【解决方案7】:

            对我来说 Appfuse 但它不是最新的,但是 spring roo 使用 aspectj 并且有部分代码你不应该接触,我不喜欢那样。

            【讨论】:

              【解决方案8】:

              AppFuse -> 更改为 SpringFuse 我更喜欢使用 SpringFuse

              【讨论】:

                【解决方案9】:

                春天的房间

                优点。 1.

                1. 可自定义:您可以根据需要添加和删除不同的框架和插件。

                2. 数据库逆向工程:如果您已准备好数据库架构,请创建 CRUD 应用程序。

                3. 强大的 Spring 社区支持。

                4. NOSQL MongoDB 支持

                5. 可以创建所需的附加组件。

                  缺点:

                6. 需要深入了解面向方面和 Spring 堆栈。

                7. 与 appfuse 相比,学习 spring roo 需要更多时间。

                Appfuse:

                优点:

                1. 适合启动中小型企业应用程序
                  struts、JSF 和 Spring
                2. 完整的开源代码。
                3. 足够的文档。
                4. Twitter-bootstrap 准备就绪。

                缺点: 自定义应用程序,但不像 Spring roo。

                【讨论】:

                  【解决方案10】:

                  Telosys(轻量级代码生成器)也是一个不错的选择。看 http://www.telosys.org/

                  它产生非常干净的代码(没有像 ApectJ 那样的依从性) 并且模板是可定制的

                  有一组模板旨在生成 Spring MVC Web 应用程序(以及许多其他模板,用于为其他类型的框架生成代码)。

                  【讨论】:

                    【解决方案11】:

                    这个问题已经有好几年了,同时我想指出一些新的生产力工具:

                    Generjee。 Generjee 是一个完整的在线工具。您在线定义您的要求和(可选)数据模型。然后您可以下载生成的代码。

                    生成的代码独立于generjee。该工具对于从集成的全栈代码库开始开发项目非常有用。

                    generjee 将为您生成:

                    • 根据您的数据模型的 JPA 代码
                    • 用于创建、读取、编辑、过滤、排序和导出数据的 JSF 代码
                    • 用户管理、注册和登录
                    • 您定义的用户角色和该角色的特定访问权限
                    • I18N 支持
                    • 文件上传支持

                    Forge。用一句话来形容,就是“像Roo”。但是基于 Spring 和 AspectJ 的 Forge 不如 Roo 强大。

                    【讨论】:

                      【解决方案12】:

                      AppFuse 项目于 2016 年 4 月关闭。其创始人 Matt Raible 建议使用 JHipster 作为替代方案。

                      【讨论】:

                        猜你喜欢
                        • 2010-12-30
                        • 2023-03-06
                        • 2010-12-11
                        • 2023-03-12
                        • 2011-03-11
                        • 1970-01-01
                        • 2010-10-06
                        • 2011-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多