A few years ago, when I first started using Tapestry (sometime in the 4.x days), having a well thought out component based server-side framework was a major improvement to how web apps were developed. When RoR hit, Tapestry rose up the challenge, released Tapestry 5 that used the state of the art approaches in the JVM world (annotations, bytecode enhancements, etc).
For a few years, I used Tapestry 5, and it was great. I still think that the T5's approach to packaging markup and server-side behavior, as well as the approach to assembling applications using IoC, services, etc is still unrivaled in other web frameworks. I've explored other seemingly more 'modern' frameworks (which tend to be 'action-based', and not 'component based') and they still seem to have all the same problems that I ran into in the days of Struts 1.x (although packaged more nicely than struts). I still use Tapestry for a few of my own/personal applications when I need to put something together quickly but I don't use it professionally. These days, HTML5 + javascript single page apps are all the rage. The whole approach of having a rich javascript-based client (e.g. something based on Angular) that uses REST-ful services, although not incompatible w/ Tapestry, certainly doesn't quite fit very well . So, I would be curious to learn from everyone in the community where Tapestry still fits in the modern world. Is there a particular niche where a component-based server-side framework like Tapestry still fits very well ? Or does it need to focus on other usages to maybe work better w/ "modern" approaches for developing web apps ? Where do people in the community use Tapestry (and it works well) ? Cheers - Alex K