Tuesday, July 09, 2002

Open source web frameworks seem to be a hot topic right now. I just read Mike Cannon-Brookes' blog entry which is a response to David M Johnson's entry asking why we need Yet Another Web Framework. Well, here's why:

Each development group, even each developer, approaches building web applications in a different way. Some developers may like to put extension tags in HTML for web applications (a la Struts and WebWork) others prefer frameworks which use a template language like Velocity to pull data from a map which was setup by the action (a la Turbine and my own framework JPublish). Still others prefer to write Swing-like programs with NO HTML whatsoever (a la wingS). Each of these approaches has benefits and drawbacks - and it largely depends on what kind of web application you are buidling.

Within each of those paradigms you also have evolution. For example, Web Work evolved from Struts, taking some elements of Struts and adding new elements which are unique to Web Work. JPublish evolved from Turbine much like Web Work's evolution from Struts. The beauty of Open Source is that this is possible, even encouraged, because we can look at each others code and say: "I like this a lot, but...".

Personally I hope that the evolution continues and we see new frameworks which provide an even faster path to production with fewer possibilities for programmer error.

In the meantime, check out the Wafer project for more information on the vast number of open source Java web frameworks which are available, as well as ongoing attempts to compare and constrast these frameworks. And if you develop a framework then please contribute so that other developers can benefit from your knowledge.