Friday, October 14, 2005

Tapestry Components, Naturally

Mike Henderson and my business partner, Vladimir Drndarski, presented an introduction to Tapestry at the Orange County Java Users Group meeting last night. For this demo, they rewrote the entire www.ocjug.org website (albeit without persistence), and threw in a few extra features to boot. It took them only a matter of hours. One of the main aspects of Tapestry that they showed off was how easy it is to componentize elements of your web pages for reuse. Indeed, developing in terms of components with Tapestry comes so naturally, that you’d practically have to fight it not to.

One of the extra features Mike added was a component to take advantage of Google maps to give you driving directions to the OCJUG meeting. Initially, it just shows a map of the meeting location. If you enter the address of your starting point, it first calls one web service to translate it into lat/long coordinates, and then calls the Google mapping API to generate directions and show the route map. Pretty slick. All of the code for this Tapestry example is available on Mike’s blog (www.behindthesite.com/blog). See also www.t-deli.com for a demonstration of more Tapestry components.

Mike is the evil genius behind Tapestry Palette (tapestrypalette.sourceforge.net) and had a hand in developing Groovistry (Groovy for Tapestry, groovestry.sourceforge.net). Vladimir is President and co-founder of Maxim Software Corp. (www.maximsc.com).

Further reading: There’s a recent Server Side article that compares JavaServer Faces to Tapestry (www.theserverside.com/news/thread.tss?thread_id=35899) . By the way, www.theserverside.com itself is a Tapestry app (www.theserverside.com/news/thread.tss?thread_id=31313).