David Geary, a JSF expert, notes in a recent podcast that he sees three generations of web frameworks:
1st Generation
- Classic Struts
2nd Generation
- JSF
- Tapestry
3rd Generation
- Rails
- GWT
That gels with my experience, though I’ve only barely touched GWT.