I am new to Spring Roo framework and before I take a dive into learning this new DSL wanted to understand how steep is the learning curve to learning it? And what are the pre-requisites? I am familiar with Java and Object Oriented programming with Java, C++ and Ruby. I have developed small projects in my work but not developed a full-fledged business application with any of the frameworks Spring, Rails or Grails. Would you please help in setting up a learning path if I were to become proficient in Roo?
I think Roo will feel a bit opaque until you spend time learning a few key technologies:
- Core Spring
- Spring's database configuration
- Spring MVC
- Tiles (if you're going to really get into the web side with the current web architecture)
- JSP / JSPX
Now, to make this easier, you can create Roo applications in about 2 minutes using the samples. So build a lot of throwaways and learn from experimentation.
I would read Spring in Action or the Spring Framework reference guide (or both) and run through the samples while simultaneously playing with Roo. Roo can help you learn Spring by giving you a working app to play with - so you don't have much to do to add a new feature.
Spring Roo in Action does take all of the basics into account - we start with the tool itself, how it creates applications, then how to configure your database, then move into the web tier, then on to security, email/jms, testing, writing add-ons, integration, cloud. It's methodical, and we do our best to point out things you'd need to refer to or read up on for each major technology.