I am familiar with most of the popular web app frameworks;
Struts,
JSF, WebWork, SpringMVC, Wicket, Tapestry, etc. And the more they evolve the more convoluted and complicated they seem to get.
I thought frameworks were supposed to make development easier. But once you get passed the login page and your app grows in complexity, I find frameworks just get in the way. Too many times I've ran into issues with a framework and thought to myself "man, I could have this solved in 5 minutes with a
Servlet and a JSP" but most (not all) these frameworks make it nearly impossible to step outside their undlerying system.
I find myself all to often hitting the web to try and find solutions to my problems. And it's not a matter of "oh, I just didn't know how to do that". They are common issues that many people are having and solutions provided are work-arounds or framework extensions or hacks. And then I look at Servlets and
JSP's like a person dreaming about his dog that died years ago, longing to play together once again.
I know there are still people out there doing Servlets/JSP. I know there are some really light tiny frameworks out there and I know that I could probably make one of my own if I just needed a front controller and a few minor features. But you get a job and they use a framework or two and if you ask why they use said framework the usual response is "because all our projects use that framework".
I can't imagine that a developer coming into a completed project for some routine maintenance is going to be able to look at a Struts or JSF based application versus a pure Servlet/JSP based application and expect to understand the logic and workflow any better. Granted, assuming the app were well written. I know bad developers can make anything look like a big pile of
cow dung.
Anywa, enough rant for one day. I hope I don't get too flamed too badly for this post. I just needed to vent.