Great News.

2011/3/18 jqzone <jqz...@gmail.com>

> That great!
>
> On Thu, Mar 17, 2011 at 8:17 AM, Howard <hls...@gmail.com> wrote:
>
> > I've always had a love/hate relationship with JavaScript; some of the
> > earliest motivations for Tapestry was to "encapsulate that ugly
> > JavaScript stuff so I don't have to worry about it again." However, as
> > I've come to appreciate JavaScript, over time, as a powerful functional
> > language, and not as an incompletely implemented object oriented
> > language, my revulsion for the language has disappeared ... even
> > reversed.
> > Back around 2006, I started adding the client-side JavaScript features
> > to Tapestry 5; this started with client-side form field validation, and
> > grew to include a number of more sophisticated components. The good
> > news is these features and components are fully encapsulated: they can
> > be used freely throughout at Tapestry application without even knowing
> > JavaScript. Tapestry includes the libraries (and related CSS documents)
> > as needed, and encapsulates the necessary initialization JavaScript.
> > The APIs for this were revamped a bit in Tapestry 5.2, but the core
> > concept is unchanged.
> > The bad news is that the client-side is directly linked to Prototype
> > and Scriptaculous (which are bundled right inside the Tapestry JAR
> > file). These were great choices back in 2006, when jQuery was new and
> > undocumented (or so my quite fallible memory serves). It seemed safe to
> > follow Rails. Now, of course, jQuery rules the world. I've been talking
> > for a couple of years about introducing an abstraction layer to break
> > down the Prototype/Scriptaculous dependency; meanwhile I've recently
> > seen that Rails and Grails are themselves moving to jQuery.
> > However, that abstraction layer is still important; I have clients that
> > like MooTools; I have clients that are using YUI and ExtJS.
> > Certainly, it would have been too ambitious to try to start with such
> > an abstraction layer from day 1. At the time, I had no real idea what
> > the relationship between JavaScript on the client, and the application
> > running on the server, would look like. Also, my JavaScript skills in
> > 2006 are a fraction of what they are now. With several years of coding
> > complex JavaScript and Ajax components for Tapestry, for TapX, and for
> > clients, I think I have a much better understanding of what the APIs
> > and abstraction layers should look like.
> > So suddenly, I have a number of goals:
> > - Allow Tapestry to work on top any JavaScript framework
> > - Support Prototype/Scriptaculous and jQuery as substrate
> > frameworks "out of the box"
> > - Make the built-in Tapestry library first class: documented and
> > release-on-release compatible
> > - Keep backwards compatibility to Tapestry 5.2
> > What I'm proposing is a gradual transition, over Tapestry 5.3 and 5.4,
> > where new, documented, stable JavaScript APIs are introduced. and
> > Tapestry and 3rd party libraries can code to the new APIs rather than
> > to Prototype/Scriptaculous. The goal is that, eventually, it will be
> > possible to switch the default substrate from Prototype/Scriptaculous
> > over to jQuery.
> >
> > --
> > Posted By Howard to Tapestry Central at 3/16/2011 05:16:00 PM
>

Reply via email to