News‎ > ‎

We like SpringSource

posted May 17, 2012, 2:51 AM by Max Tardiveau   [ updated May 17, 2012, 3:07 PM ]
While developing ABL over the past couple of years, we've used quite a few tools and frameworks, but wherever we turn, SpringSource always seems to be nearby. This makes sense: they've become a juggernaut in the Java world.

And we quite like their approach: innovation where it's needed, standards where they work.  One standard that clearly works is Hibernate/JPA, which is used in a large number of Spring products.  Since ABL is based on Hibernate/JPA, that's enabled us to add significant value for some very popular frameworks as described below.

Spring MVC

This is the 800-pound gorilla. Spring MVC is a huge framework, which covers pretty much anything anyone would reasonably want to do, and then some. If you're using Spring MVC, a lot of your work will consist of figuring out how to reuse existing infrastructure, rather than create it. The power is remarkable, but it does take some time to master it.

ABL was easy to integrate with Spring: just a couple of configuration entries, and we were up and running.

Grails

Such an interesting contrast with Spring MVC. Grails is much simpler and nimbler. It is based on Groovy, and follows the philosophy of Ruby on Rails. It's perhaps not as all-encompassing as Spring MVC, but it's certainly easier to use, and much more economical of code. Groovy is a very nice language.

Integration of ABL with Grails was painless: nothing special was required, it just worked right away. We liked Grails so much, we also wrote a tutorial that shows how to create a Grails/ABL application from scratch in just a few minutes. This is a particularly potent combination, because it can deliver fairly complete applications with a remarkably small amount of code.

Roo

This is a fairly new arrival: think of Roo as a friendly genie watching over your code for you, and improving it whenever it makes sense. Why bother writing get/set methods in your beans when Roo can do that for you? Why not let Roo generate all that JPA gunk? It just makes life so much easier.

Since Roo is not a framework (it's development-time only), integration with ABL was trivial. We wrote a tutorial showing how to create a Roo app with ABL business logic in a few minutes. Once again, it's quite impressive how much work you can get done with so little code.

STS

SpringSource Tool Suite is SpringSource's version of Eclipse. It comes pre-configured with all kinds of useful extensions, while still being Eclipse. You don't *have* to use STS to work with Spring or Grails, but it would be a waste not to. We tend to use STS as our preferred IDE for most frameworks, even those that don't come from SpringSource.

Final thoughts

We have found Spring to be a very easy company to work with: the Spring folks have been very supportive and responsive with help and advice.  We were invited to present at SpringOne in Chicago last year, and expect to present again this year. 


Comments