9
A
回答
33
这些工具与它们都是类似的,它们都是帮助设置和配置项目的命令行工具,并且都能够生成代码。 但是有一些主要的设计差异:
1)Forge被设计用于任何类型的Maven项目。 Roo几乎与Spring有关。因为Forge更通用,您可以为项目中使用的任何类型的技术找到或编写插件。对Roo来说也是如此,但只有在Spring之上的技术。你可以说Forge是一个(更)通用框架,用于构建Maven项目的插件,而Roo只是一个Spring工具。
2)Roo也是一个编程框架,不仅是一个工具。代码生成大量使用AspectJ来使代码生成对程序员来说几乎是不可见的,并且提供了仅在基于动态语言的框架中才能找到的功能(例如,在实体上的动态查找方法)。这可能既是好事也是坏事。这很好,因为它没有“看到”生成的代码,它功能强大且更加优雅。不好的一点是它会对Roo进行大规模的锁定。这在技术上是不正确的,因为它只是“简单”的AspectJ,但它远非正常的Java/Spring代码。 AspectJ在所有IDE中也不能很好地工作(Eclipse和IntelliJ都很好)。由于这种编程模式,我绝不会使用Roo。如果我想要一个具有动态语言功能的框架,我使用Grails,而不是那里的一半。当然这只是我个人的意见。
Forge中的代码生成更多的是传统的类型,尽管它存在缺陷,但是您永远不会锁定任何非标准的东西。内置代码生成基于普通Java EE 6.
- 声明。我是Forge撰稿人,可能会有偏差;-)
相关问题
- 1. json无限递归与春天roo
- 2. 春天ROO动态菜单
- 3. 春天roo不工作
- 4. eclipse中的春天roo
- 5. 春天Roo RooEntity和RooJpaActiveRecord
- 6. Maven在春天的问题roo
- 7. 春天roo不创建发现者
- 8. 春天roo的主要方法
- 9. 如何与春天websocket
- 10. JADE与春天?
- 11. iReport与春天3.1
- 12. 如何把和链接与春天HATEOAS
- 13. 与GWT春季roo:如何停止脚手架代?
- 14. 如何为UTest伪造HttpContext.Current?
- 15. 如何伪造Http post?
- 16. 我该如何伪造ObjectContext?
- 17. 如何伪造在ActionScript 3
- 18. 获取新用户与昨天相比
- 19. 春季roo - 如何安装春季冲浪
- 20. 使用属性文件中的值在春天roo
- 21. 无法在春天roo创建存储库
- 22. 春天roo可以处理gradle项目吗?
- 23. 丰富的报告应用程序的春天Roo
- 24. 添加按钮在show.jspx中的春天roo mvc项目
- 25. 定义春天roo的元数据的方法
- 26. 添加自定义页面在春天roo
- 27. 春天 - 创造豆的奇怪错误
- 28. 不能在春天创造豆MVC
- 29. mongodb的春季Roo Finder
- 30. $ _SERVER ['SERVER_NAME']是伪造/伪造的吗?
试试看每一个?这个问题让我觉得有些模糊。 – millimoose 2012-02-07 12:17:03
看看http://stackoverflow.com/questions/4243454/to-roo-or-not-to-roo – cthulhu 2012-02-07 12:37:24