Hi, I feel this discussion belongs in the users group, although it is not all directly related to Tapestry - it's related in some way or another and I felt this community would be best positioned to talk about it. I have no specific questions, this is intended more as a discussion/experience thread (if that's allowed).
About 3 years ago, I began my first web project as part of my own work - not for any company, just for some sites I needed to set up to support some of my research. Perhaps naively, as a new user of Java EE (but experienced with Java SE), I googled the net for "Simple to use java web frameworks" and similar searches until I came across Tapestry. Some good reviews around the internet and some good posts from Howard on SO lead me to running the getting started tutorial and was amazed how easy it was - I was able to put my Java SE knowledge straight into practise without knowing anything about various xml files, or even the difference between a servlet, container and application server, what CDI is or any of that. Everything was (and is) running nicely on a jetty server. Whenever I became stuck, i'd go to the T5 documentation and read about how to use @Persist or @Sessionstate, or perhaps how to work with services and injecting them or how to set up Tapestry-hibernate - these kind of things (Or i'd ask here, and.. many thank you's to the people of this mailing list for so much help). Move on 3 years and I am fairly comfortable with Tapestry and have several small projects (again, just for me, not a company or work). I then begin to wonder if I've perhaps fallen into a trap of Tapestry5 being my golden hammer - I see a web project, I think oh that would be easy using T5, my favourite, and get started right away (Unless it requires CMS systems etc in which case.. Joomla/Wordpress/Drupal). This is perhaps not efficient, but fine until you begin a job search and use a big job site (monster.com) and search the word "Tapestry5". *"Sorry, no "tapestry5" jobs were found that match your criteria"* Oh, I see. Well, that's not too bad - I see there are lots of companies looking for java EE developers and in particular, (oddly to me), running Wildfly stacks (formerly JBoss) and using RESTEasy etc. These look entirely new to me, but then when you look a bit further you see actually that @Inject is common (part of CDI and specified in JSR), session beans (which I consider like session state) is a fairly normal concept, the annotations for hibernate are of course all the same and actually.. Tapestry users are using a huge amount of the same set of tools, interfaces and annotations as users of other stacks or frameworks. I see @ApplicationScope and realise that it's a singleton, similar to if I added it from a module and that I can then inject into pages. All very nice. At this point I learn that actually whilst learning to use Tapestry5, mainly through T5s documentation I have learnt an awful lot more - how to use hibernate (and I learnt some elsewhere too), how to use maven, how to set up jetty... how to inject things, what session state is and how things are persisted. I suppose my overall comment and question is.. how many of you work in jobs where you use Tapestry5, and how many of you have tried to transition to T5 from a stack like wildfly, or from T5 to something like wildfly, and how did you find it. How did you work on that transition? Why are there so very few T5 jobs out there (In my limited opinion, hence the golden hammer, T5 is the best thing since sliced bread). I think perhaps one of my missunderstandings is that I attribute many things which are actually part of Java EE or other libraries/frameworks that T5 uses to T5 itself, without realising that what I am actually working with is very common. I wonder if anyone else has had similar experiences, or if anyone has any advice for a Tapestry5 person who learnt effectively everything from the documentation and mailing list to moving to other technologies. Thanks, almost any discussion is welcome :).