> Maybe I have lost something, but is there any other framework that
> provide this kind of abstraction ?

You will never get away from the fact that Tapestry has some specific needs
that need to be custom programmed. I think it would be impossible to
abstract everything the existing JavaScript frameworks offer (especially
since they also offer different features).
So isolating Tapestry from framework-specifics is always going to be
tailored to Tapestry-requirements specifically.

Using plain JavaScript makes most sense, but is also most work. Areas that
have been written and perfected by the JavaScript frameworks need to be
re-implemented because the Tapestry client-architecture has been setup to
depend on it. If we want to stay backward compatible, we need to keep much
of that architecture intact. So currently my first focus is the isolation
layer with a jQuery-implementation and a Prototype-implementation. If I get
that working, we can always create a plain JavaScript implementation later.
But I've now seen enough of the Tapestry code to know how much work that'd
be.

Also, I have to say this, I do not mean to complain about the current
client-architecture. It is beautifully designed and written, just like
pretty much everything else in Tapestry. Howard and the other committers
should be complimented for what they did since you can clearly see a lot of
thought has gone into it and it would be easy to extend moving into the
future.


> Maybe we  would see way more components for tapestry if they could be
> build with jquery.

I've written a couple of components and Mixins for jQuery, like a Popup
Mixin that opens a link in a jQuey-UI modal dialog for example. I write them
as I need them and 've never thought sharing them would be a good idea
because jQuery is not officially supported by Tapestry. I'd be forcing a
second JavaScript framework onto Tapestry developers and I know beforehand
people will request ports to Prototype JS and I'll get flamed for telling
them I won't do it :o)

You can be sure a lot more component will pop up if jQuery can be used
instead of Prototype. I'd love to work on a wrapper for jQuery-UI or jQuery
Tools.

So instead of losing developer-cycles on this, I think we might even see an
increase in available developer-cycles.

I think client-validation is another area that might benefit from being
isolated in the future. It would be great if we could easily override the
Tapestry default validation code. Currently I disable it by default beause
it tends to get in the way of users. I like the jQuery validation plugin
better myself (
http://bassistance.de/jquery-plugins/jquery-plugin-validation/) and I would
love to plug that into Tapestry one day as well.


regards,

Onno

Reply via email to