views:

6252

answers:

9

Spring roo is new framework and I found it very interesting. I have been working on web application for last 3-4 years and Always found JSPs are hard to maintain across teams if everyone is not disciplined enough about separation of markup and serverside logic. I have used JackBe/BackBase in last projects and I enjoyed xml templates working as views. This was much better than JSPs. But I couldnt automate webtests through selenium for backbase.

I would be surely using Spring MVC (-view), Hibernate on the backend. I found Wicket as good alternative. Have you used wicket along with Spring and what was your experience?

+10  A: 

Our current project uses Spring and Wicket, we have always used Spring but switched to Wicket a year ago. Few advices:

  • Get the "Wicket in Action" book.
  • The user mailing list is very helpful.
  • Make sure you understand Wicket's programming model especially the session serialization related stuff (the book does not help enough in this area IMHO).
  • Wicket is good at building stateful pages, it requires more work to build stateless pages.
  • There are some good UI widgets available like inmethod DataGrid.
  • It's easy to inject your Spring beans in your pages or components.

Spring Roo is still in beta (1.0 M2), so it may be a little early. We also considered Tapestry 5 but we thought it was a bit young a year ago.

Gaël Marziou
Good points! Looks like Spring Roo has made it to 1.0.0 since your post.
The Alchemist
+1  A: 

It completely depends on what your requirements are. If it's a small site then Component Oriented frameworks like GWT or Wicket are a must as they make things really easy.

Antony Stubbs
+2  A: 

I was at the SpringOne conference in Amsterdam earlier this year when they announced Roo. My impression (and that of my colleague who was there) was that Roo was good if you were generating a web-based CRUD application every few weeks - they pitched it as the pure Java version of Grails (which is RoR for Java).

Didn't look interesting for anyone else - but that's just an opinion.

hbunny
+7  A: 

Spring Roo 1.0.0 (GA) has now been released, complete with around 100 pages of documentation.

If you're wondering about what Roo is and why use it, I recommend you take a read of the introductory chapter of the reference guide. It covers this and more.

@Antony, GWT support is a major priority for Roo and something I am currently working on. Expect to see some interesting integration in the very near future.

Ben Alex
In fact I used ROO at the very start of the project at then continued using spring mvc. While looking back I think; it had given me solid template for the whole project i.e. file-structure,security,dao's etc.Thanks for the headsup
Ketan Khairnar
I didn't see anything in Roo bug tracker about GWT. Is this part of the template-modularity coming in 1.1?
Ed Brannin
See http://jira.springframework.org/browse/ROO-760
Ben Alex
A: 

How soon with Roo support GWT? I think that the use of GWT by Roo makes it a huge win for GWT and Roo!

+1  A: 

I've seen a demo of Roo a few months ago. It looks a lot like Grails (another spring technology), except that instead of creating artifacts for the Groovy language, you create them for Java.
Still it enforces good practice and makes you apply the MVC pattern in a clean way.

Personally, the demo didn't make me change my preferred toolkit (Grails), but that's because I can achieve faster results with Groovy (parsing xml for example is much more "painful" in Java than in Groovy). Also, with Grails I can see the changes I make instantly without having to recompile my entire project and relaunch the application each time I want to see the results. Last but not least, in Grails you have tons of plugins to make fancy Ajax websites (ZK for example, if you want to avoid Javascript, but there are plugins for GWT, Yahoo, Dojo, etc...).

So, if you don't want to learn Groovy (which is not too difficult if you already know Java), Roo is the way to go to build clean web projects with all the power of Hibernate and Spring.

I hope this helps...

Philippe
How committed is SPring to Grails/Groovy. I ask this because I am currently using STS which is also from spring.
James Anderson
Well the latest STS version (2.3.3.M2) is showing a lot of commitment (IMHO) from spring. There is a brand new Grails perspective that puts STS almost at the same level as IntelliJ Idea...It also includes the ability to install the latest ROO, Groovy, and Grails support from the extensions page that you see on the startup page of STS. And last but not least, if you use Spring Integration, there is also a very nice new tab on the Spring configuration files that lets you graphically build your ESB diagrams.
Philippe
+3  A: 

First, Spring Roo is a code generator tool (similar to Grails commands system):

alt text

Second, Spring Roo applications currently use Spring Web Flow for the view and Spring for the glue.

So, while you can compare (Spring Web Flow + Spring) and (Wicket + Spring), the later combo doesn't offer anything comparable to Roo out of the box (maybe AppFuse or AppFuse Light but you didn't mention them and they are third-party projects).

In other words, I don't think that "Spring Roo vs (Wicket and Spring)" makes sense.

Pascal Thivent
it certainly doesn't make sense :)
Bozho
A: 

Roo and GWT are available today in pre-release form. In my opinion, definitely not ready for prime time.

jhericks
A: 

Why use Roo when one can build something w/ GWT and end up w/ a far richer better outcome and without the constraints of Roo and its architecture. Spring Web Flow is yesterdays technology.

mP