Forewords
So you've heard about Trails from somewhere, perhaps happened to stumble upon Chris Nelson's excellent intro articles, or were googling the net for Java's answer to Ruby On Rails or were looking for something really RAD for Java. You keep asking yourself why you need to deal with the complexity of creating a web application stack every time you start a new project. Java by itself is already a complex beast, and on top of that you are trying to build a web application with the myriad of frameworks, libraries, components, paradigms, different versions of specifications, competing servlet containers and conflicting commercial interests out there. No wonder your head is hurting.
Well, we have some bad and some good news for you. Trails does a heck of lot for you, but nothing's free. A little warning is in order:
 | Disclaimer
Trails pulls together a Spring IoC container, Hibernate-based persistence, a Tapestry web UI framework and a couple of other handy-dandy frameworks in a pre-packaged format so you can focus on implementing the domain model and user interaction using these frameworks. However, if the previous sentence is pure Greek to you and you've never heard about any of the mentioned frameworks, Trails is probably not for you. |
Sure, if you are good enough, you can learn it all at once, and maybe even manage to avoid picking up any bad habits from other frameworks along the way, but the chances are that without any previous experience, you'll just get frustrated since you don't know how the underlying frameworks work. While out-of-the box Trails functionality, based on your domain model, is where Trails really delivers, most of the customization happens using either Tapestry or Hibernate. Understanding and learning even one of these frameworks can be a daunting task if you start from scratch, but not a huge deal if you already understand Object Relational Mapping (ORM), Inversion Of Control (IoC), dependency injection, templating languages (such as Velocity), code blocks (for example anonymous classes) and decorator pattern as generic concepts. This doesn't mean you need to be super-experienced in any of the mentioned frameworks and concepts, but it does mean that you'll commit to learning and using those in your project. So take that into account when deciding if Trails is the right framework for your web application.
About current status
A note on where we currently are (written on 2007-10-03) with Trails. Version 1.1.1 was released on 2007-10-02 with a modular architecture. We have some things in mind for 1.2 and planning for more but the 1.1 codebase is stable and the committers have been using it for several months before the release. You are welcome to join the discussions and the community on our mailing lists!