Joe Ess wrote:
Sandeep Awasthi wrote:
arulk pillai wrote:
You can't go wrong with struts 1.x.
+1
Struts 1.x has some serious deficiencies (who wants to write form beans?). It is popular simply because it was first out of the gate. If you are developing new software, you are doing yourself a disservice by not using a more modern framework like Struts 2, Stripes, Spring and so on.
This article gives some insight into the popularity of various Java web frameworks. It's from 2008, but if you click on the graphs, you get the up-to-date versions.
You will find many articles which will compare these frameworks. But I have actually done POCs with Spring MVC , Struts 2. and JSF. Struts1.x I have worked many projects. It depends on your requirement. If you want to use XSL,Velocity,Web 2.0, yes modern frameworks are better choice. But Struts 2 had performance problem. You will find many links like
this. You do not even have to measure it's performance. You can feel it immediately.
As I said +1 for Struts1.x because ease of use, ease of learning, many books available, easy to find developers for it. And it does not have serious deficiencies otherwise so many projects successfully running on it would not have been possible.
XSL yes you can use XSL with struts 1.x as well.
Stxx
Web 2.0, yes it can be used.
JSF as I said more popular these days because it is component based framework. But learning curve is high. I do not know complete JSF. But I agree it is more popular.
Spring MVC not enough documentation. It also has one more problem is it's tag library support is too small as compared to Struts 1.x. Validation, in the beginning you will get tired to show proper validation message, you will have to search on google many times to get it right. So investment of time is high.
If you are not using fancy XSL, Velocity,FreeMaker and use plain
JSP and tiles template, well Struts 1.x has already proved it self in the market. You can even use XSL with Struts 1.x as I said above.
If I have to choose web framework, I will not go and check every framework listed
here. Instead I will check for what I am going to use this project, what is my requirement and will choose the framework which is already proved it self. It does not mean I will stick to Struts 1.x, but I will think on other factors too like investment of time, risk involved , availability of developers.
I agree Struts 1.x has become old as compared to modern frameworks. But it is still something which can not be ignored completely. It has many positive things. And all it depends on what is my requirement.