Friday, October 03, 2008

Trying to find a single Java web application framework

While I like using Rails for many types of web applications I still look to the Java platform for applications requiring higher run time efficiency and to take advantage of deployment tools and environments.

The problem I am having is that I would very much like to settle on a single framework in order to reduce the effort of staying on top of too many tools and frameworks. In the past I have used JSP, my own custom JSP tag libraries, other people's JSP tag libraries, struts, various ORMs, some work with GWT, some work with Spring, and some with Wicket. I used to use the full J2EE stack, but largely gave that up about 5 years ago.

I would like to be able to invest at most 100 hours of study time, and get back up to speed on a single framework, but I am not sure which to choose. GWT is very tempting but GWT does not cover all of the types of web applications and services that I am likely to be contracted to build. Seam looks good as an integrated framework, but I need to set aside a long weekend to give it a good preliminary evaluation.

Many different frameworks and tools leads to a healthy software ecosystem, but for an individual developer it really is best to choose a small subset of tools to use for business and to set aside a relatively small amount of time (usually evenings and weekends) to keep up with new stuff. I mostly perform many small and medium size development projects for customers, and choosing a single framework like Rails (in the Ruby development space) really helps me stay focused and not waste "spin up" time. I would like to be in the same place in the Java development space.