Teach Yourself Tapestry by Example
JumpStart is an easy way to learn Tapestry 4 or 5 by example, and it's free! It's an instant, working application, ready for you to explore and modify. It's built entirely on open-source items so there are few limits. You are welcome to use any part of JumpStart for your own applications.
JumpStart comes in 2 flavours: Min and Max.
Min gives you the Tapestry essentials - a project structure and these features:
- Hello World! and lots of other "getting started" examples.
- A login screen with basic authentication.
- Screens to search, create, edit, and delete Users.
- Persistence with EJB3.
- All the source.
Here are some screen shots. Yes, it could look prettier, but hey - I'm a developer, not a web designer!
Max builds on Min with a range of advanced techniques. It has more advanced examples and tackles some of the trickier problems of web development:
- Ajax. Max introduces Tapestry's Ajax capabilities - so simple to use!
- Web flow. Max shows how complex web flows are a breeze to implement with Tapestry. No XML or addtional frameworks required!
- Duplicate submits. Repeated clicks and surprise re-submits caused by the Reload/Refresh button can all be handled. Max shows some ways.
- Navigating back. Implements a callback stack to answer the question "where did I come from".
- Client Persistence. Demonstrates the "client:form" strategy that is often more economical than the "client" strategy.
- Localization. Demonstrates Tapestry's localization mechanism.
- Date handling. Demonstrates the joda-time classes, and provides validators, translators, and a date picker for them.
- EJB3. Utilises oh-so-simple EJB3 for the business layer and persistence.
- All the Source. Like Min, Max is packaged as a full, working Eclipse project.
And to demonstrate all these techniques Max uses some typical real-world entities and relationships: Users, Roles, Codes and Code Groups.
Getting started. It takes only a few minutes to get running. You can download JumpStart here.
Feedback. Of course JumpStart is not perfect (and of course no warranty is expressed or implied). It is simply my contribution back to the Tapestry community. Please send your corrections, requests, criticisms and contributions here. It's all appreciated.
Regards,
Geoff Callender
Sydney, Australia
