Book Image

Tapestry 5: Building Web Applications

Book Image

Tapestry 5: Building Web Applications

Overview of this book

Table of Contents (17 chapters)
Tapestry 5
Credits
About the Author
About the Reviewers
Preface
Foreword
Where to Go Next

Foreword

I think we may be on to something here.

You see, Tapestry has been around, in one form or another, for about eight years now. Eight years. A lot can happen in eight years. I've gotten married, relocated across country, written a book, worked for several companies, and consulted at dozens more. I've made many new friends, especially that raucous pirate crew that speaks at the No Fluff Just Stuff software symposiums. I've criss-crossed the country dozens of times, always with a laptop in hand, always tinkering away at the Tapestry source code. Meanwhile, we've seen waves of Java hype and anti-hype, the coming of Ruby and Rails, the growth of the Java language in ways most welcome (and some less so), and the new breed of JVM languages such as Groovy, JRuby and Scala. In fact, the only constants for me over the last eight years have been my wife Suzanne, and Tapestry.

I've been feeling something building. We're in a new age of coding now, an age in which the reach of an individual coder has been greatly extended. There's a universe of Java code libraries waiting to be downloaded and used. Java's cross platform capabilities mean we can develop and test on a personal computer or laptop and then push the exact same binaries to a server for production. If you can't appreciate how wonderful that is, you may be missing the forest for the trees. We've taken Java's strengths for granted and focused on its weaknesses, and too many are waiting with baited breath for The Next Big Thing.

I don't think there's going to be one Next Big Thing. Java's arrival was a Next Big Thing, and though it's unlikely to be the Last Next Big Thing, the rapid rise of Java was a special event, a coincidence of timing that could only happen by riding in the wake of the first introduction of the Internet and the World Wide Web. But I think there's going to be a lot of Next Little Things and we're all free to combine a few of those into our own personal Next Big Thing.

I think Tapestry is destined to be one of the key Next Little Things, one that's going to really change how we all do our jobs. Many a Next Thing is an experiment waiting to be proved valid. Tapestry went through that stage nearly eight years ago, but now benefits from all those years of experience: not just my personal involvement, but the experience of the rest of the Tapestry developers, and the experience of the Tapestry user community. It's got a proven track record for its basic concepts, its governing principles, and its overall approach, even as the code base has been revitalized (ok, rewritten) for Tapestry 5.

But code, design, architecture ... that's all technology, and the best technology in the universe doesn't guarantee a win. Community is what defines success, a concept well known (if poorly applied) in the open source world, and slowly dawning in the proprietary world. That's where Alexander comes in. Community is best expressed when individuals do ridiculous things for the benefit of others in the community. For example, writing a fourteen (fourteen!) part on-line tutorial about Tapestry 4, and now following up with this book on Tapestry 5.

I think you'll see that Alexander has a real handle on what Tapestry is, and more importantly, how best to use it. Tapestry isn't a Swiss Army knife or even a toolbox; it's an entire workshop for creating web applications in Java. This book is a great guided tour of that workshop, showing where all the bits and pieces are stored and how they can be combined to get things done. Dive in, get smart and start having fun with Tapestry!

Howard M. Lewis Ship

Jan 2, 2008

Portland, Oregon