Presenters at developer conferences used to belong to one of two groups: the good guys and the bad guys. The good ones present technical content free of any commercial implications, preferably based on open source projects. The bad ones deliver a product pitch.
The main controversies used to revolve around commercial products versus Open Source Software. When I visited this years TheServerSide Java Symposium in Las Vegas I was amazed to see the picture changing somewhat.
Many Open Source projects started during the recent years and in many ways they overlap. One of the most obvious examples is NetBeans vs. Eclipse when you look at the development tools side. But regarding Web frameworks the world seems even more fragmented. Let’s look at the poll conducted at this year’s TSS Java Symposium:
What is your prefered Web framework?
Interestingly enough the representatives of each Open Source framework put some effort in their presentations to position them against other Open Source frameworks rather than commercial products. This development underlines a clear trend in the industry: different frameworks are being developed for different target audiences. If you allow me to take a simplistic view: Tapestry covers the light-weight side of the world, Struts is here for scalability, Spring for EJB-free magic, JSF for portable UI components and programming models – and Web Dynpro stands for a language-agnostic, easy-to-use, business application centric environment.
Is there one-size that fits all? Probably not! But since isolated islands of IT infrastructure are not acceptable anymore we see a trend kicking-in that became almost a hype-topic with the rise of Web services: Interoperability! So in the future we will hear less about how one framework is superior compared to another and how it will conquer the world. Much more interesting will be how open each framework is in order to call, to be called – or even embed – components based on other frameworks.
When you read soon about new features being introduced into Web Dynpro that support exactly this kind of interoperability – then you know where it is all going. And then it is up to you to decide about what is good and what is bad once you need to get your job done.