Thursday, February 11, 2010

Java - Too Many web frameworks

Hmm.........
Java Web technology is exploding with many web frameworks promoted by the industry and many by opensource. Too many frameworks to choose from is a bad thing or good thing ?.

Read on and judge yourselves.

May be too much of anything is bad. Just look at the list below.

JSF
Spring MVC
Tapestry
Struts 2
ADF from Oracle
Cocoon
Maverick
JBoss seam
This is a never ending list. There are many more. Ofcourse not all are mainstream nowadays.
Look at Microsoft stack , you mainly have ASP .NET and that's it. It has grown well.You need to learn only that and you focus all your skills in that web framework.It has accumulated many components and matured into a very robust RAD web application framework. The problem with the Java stream is you work on a particular web framework for sometime and all of a sudden you have to work in another web framework for another project.Hence the experiance one gains by working in a particular framework for long time, gets lost. This definitly lowers productivity.Here ASP .NET scores well.

Again refer to the list i showed above

Many times the java designers has to pick one from this never ending list of java web frameworks.A feature may be there in one framework but it may not be there in another . But it may have another feature required by the project. Hence the decision making becomes difficult.And many times there won't be too many significant differences between the major frameworks. Many times ,the decision favours a particular framework because the architect or designer is more comfortable with that one. And many times we may have to combine multiple frameworks for practical works. Example combining JSF with Spring MVC or Struts2.
If the community was focusing it attention on refining and extending a single framework, it would have helped the whole industry better. Now the major web frameworks in Java stream are JSF, Struts 2 and Spring MVC. Hope the top list ends here and nobody comes with another new framework. The focus should be to extend , optimize and improve the existing ones.
Ofcourse build as many UI widgets as possible into the framework. ASP .NET rocks in all these aspects.

May be industry needs to focus only on JSF + Struts 2 or JSF+ Spring MVC or JSF alone. Or make a hybrid out of these and say this is the single Java Web framework for J2EE development. A big dream ! :)

Also many people are now moving away from JSP and embracing the trusted PHP. PHP is ideal for web applications for its easy to use syntax and rich libraries.