There's been a 'backlash' of sorts brewing in the Java developer community over the past 2 years. From talking to my developer buddies around the world, and the usual suspects at AJUG here in Atlanta, there is definitely some under-tow with regard to what's been happening in the Spring community.
Before I go onto to explain the aikido move that has actually happened, it's important to explain why this perception exists. Some of it is technical, some not, but nonetheless, here's some points to ponder:
- Spring moved well beyond what I call the "shiny new toy" phase of its maturation. This level of maturity for any tool/project/product/technology is followed by reflection and a re-thinking as people hit against the edges of said technology.
- Commercialization. As Interface21 turned into SpringSource, got VC money, and started down the path of becoming more than a boutique consultancy, people take notice. Folks get worried since this changes the status quo.
- No longer "cool." Spring ain't cool anymore, rather it's not the coolest thing out there. As a tech geek, I like to play with the latest thing. As an enterprise software developer, I need rock-solid technology.
- Shift in thinking. As Ruby-on-Rails smacked down Java in terms of web application development velocity, people took note. Convention-over-configuration, truly rapid development, and relegation of XML from the developer's toolbox to the trashcan opened many eyes to a new way.
The great thing about running a software company as a consultancy first is that you're in the field learning from your customers. It looks like the Spring guys learned a few things along the way. They've taken the energy from the competition around them and turned it into their favour slowly over time. Of course, they haven't been perfect - I still wonder why it's taken so long to refactor the Spring MVC framework, for example. From the recent presentation of Spring MVC last week at the AJUG, it looks like it's coming along nicely, and it's something I am going to be playing with soon.
As an enterprise developer, though, the real excitement is in the Spring Integration, JMS, Security, and Batch modules. There was a real buzz at last week's AJUG about all the interesting stuff in development at SpringSource. Next week, I'll be at Spring One Americas and I'm looking forward to checking it all out.
Oh, did I mention I was invited to present my "Enterprise JPA and Spring" session at SpringOne? If you want to learn some real-world tips for developing JPA based apps using Spring and the advantages of developing EJB3 "entity beans" using Spring, come to my session. Hey, it may not be the "coolest" topic... but you'll learn something interesting or gain a different perspective on how to build, test, and manage large projects that use JPA. I'll be sipping mojitos by the beach or at the bar as time allows, stop and say 'hi' if you see me!
