A presentation linked in an answer here demonstrated a comparison of several web development frameworks. It was a good comparison but caused me a little worry based on the technology stack that I have been pushing for awhile now at my current company.
While it seemed like the author was biased towards RoR, he pointed out some major pain points about JSF, which I am using right now and personally have no significant problems with. It seems hip to hate JSF, and I would like to look into something different like Wicket. The problem is that rich third-party component libraries like Primefaces have me hooked by the extreme convenience of throwing prebuilt web components onto a page with simple XHTML compliant markup.
Frameworks like Wicket are great because they merge the page with the View, and with Spring this is a powerful combination, but I can't help but wonder how long would it take me to implement the fully featured Primefaces Data Table component in a framework like Wicket?
Clearly JSF is a component based framework like Tapestry, but does Wicket have an answer to rapid component-based web development like JSF+Primefaces?
Further, I am aware of the major drawbacks of JSF, one of which being the level of effort and frustration it takes to develop a component, but with component suites in JSF becoming more stable and fully featured, is this a major issue for relatively simple web applications with loose open ended UI specifications? If it doesn't have to look exactly like the spec visually, why would custom components need to be developed?
I know there is a lot of JSF hate out there... just mentioning it a developer conference causes people to break out into seizures from so much fail. The web is littered with JSF Sucks blogs, but I have done some pretty cool things with it. Any thoughts on this?