How does jboss forge compares to spring roo? [closed]
Asked Answered
N

1

8

I've just found out Jboss Forge

I wonder how it compares with Spring Roo

Can anybody highlight the principal coincidences and differences of these two tools?

Nimitz answered 7/2, 2012 at 12:2 Comment(2)
Try each and see? This question strikes me as somewhat vague.Ovaritis
have a look at https://mcmap.net/q/462526/-crud-to-roo-or-not-to-roo-closedFretwork
G
33

The tools are similar in the way that they are both command line tools that help setting up and configuring a project, and both have the ability to generate code. There are some major design differences however:

1) Forge is designed to be used on any kind of Maven project. Roo is pretty much tied to Spring. Because Forge is more general you can find or write plugins for any kind of technology that you use in projects. This is also true for Roo, but only technology on top of Spring. You could say that Forge is a (more) generic framework for building plugins that work on Maven projects, while Roo is (just) a Spring tool.

2) Roo is also a programming framework, not only a tool. The code generation makes heavy use of AspectJ to make the code generation almost invisible to the programmer, and gives features that are otherwise only found in frameworks based on dynamic languages (e.g. dynamic finder methods on entities). This can be both a good and a bad thing. It's good because it's powerful and more elegant because you don't "see" the generated code. The bad point is that it gives a massive lock-in on Roo. This is technically not true, because it's just "plain" AspectJ, but it's far from normal Java/Spring code. AspectJ also doesn't work well in all IDEs (Eclipse and IntelliJ are fine). Because of this programming model I would never use Roo. If I want a framework with dynamic language features I use Grails, not something halfway there. Of course this is just my personal opinion.

Code generation in Forge is more of the traditional kind, with all it's flaws, but you will never lock into anything non-standard. The built-in code generation is based on plain Java EE 6.

  • Disclaimer. I'm a Forge contributor and might be biased ;-)
Guideline answered 7/2, 2012 at 23:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.