||Why Web Developers Need JavaServer Faces|
|Subject:||Tapestry and JSF|
Response to: Tapestry and JSF
I absolutely, wholeheartedly agree. I used Struts for a year. I then moved to a different company and didn't want to undertake a project (a massive project whose Hibernate domain model has literally hundreds of individual classes) in Struts. So, I tried JSF and came back with my head spinning. Nothng came of it-- though the whiz-bang feel was certainly there for the two or three useful screens we did build. Anyway, we adapted Tapestry. Tapestry has literally taken a project that was stalled in development hell for almost a year and finished it, rebuilt from the groun up, in 3 months. We built it from the ground up using Tapestry. We added things as we learned, but it was all very intuitive. First, simple forms for customer input and simple screens for reporting. Eventually, simple screens became editable screens. We added html-only, macro-style components to standardize our GUI. We then added components with more interactive, dynamic functionality like our menuing system. Many of our forms leverage the supportof Tapestry for common use cases -- use cases that most database schemas dictate. Date input is trivial with the DatePicker. Many to many relationships (ie, take a User who can be assigned many roles from many possible roles) are a breeze with the Palette. One to many relationships using drop down menus are easy AND consistantly developed. Other one-to-one, or input on domain properties which has always been easy is still easy, but now its also robust. For example, telephone numbers, zipcodes, credit cards, etc. can all be validated and guaranteed with Tapestry's validation system. Atop of all this is ridiculously easy localization (hell, it's almost easier to use the localization framework than to avoid: our manager always wants to tweak the copy displayed on various pages. So we just send him the .properties file. Easy!), easy gui development (Mr. Ship was sincere: 95% of the development for our views happens in DreamWeaver), and easy err... messaging.. that is... i haven't ONCE worked with a URL when building this application. Page flow is trivial to implement.
Hear us Roar