Here's my thoughts about the direct challenges, plus other thoughts
I've had on this subject.

tapestry.js defines a Tapestry namespace with key function properties
for the standard stuff.

Perhaps there's even a Tapestry.$ to replace the Prototype $ function.

I would be open to naming this "T5" for succinctness, rather than
Tapestry (with perhaps a Tapestry object that was a link to T5, for
backwards compatibility).

I think we could also split the current contents of tapestry.js into
more and smaller files (with the expectation of recombining them as
part of Javascript Aggregation).

In addition to tapestry.js, you would include either
tapestry-prototype-adapter.js (plus prototype.js and scriptaculous.js)
OR tapestry-jquery-adapter.js (plus jquery.js).

There are still many hurdles to this; much of the code in tapestry.js
is based on Prototype Classes, which causes some issues with being
library agnostic (not insurmountable) but also reflects my relative
inexperience with modern JavaScript (circa 2006, 2007).  It's a bit of
coding Java in JavaScript, rather than embracing JavaScript as its own
beast.

Nowadays I do much, much, much more with functional closures, and less
with classes, and that should be more fully embraced.

In addition, as I've worked with clients to extend and override how
Tapestry's client side code operates, I've realized I should be doing
much more with events and less with specific objects.  My vision for
where tapestry.js goes in the future would be smaller handlers that
often just fire additional events; a cascade of events that eventually
results in server-side requests.

In addition, there's the desire to make certain parts more pluggable,
such as how input fields are decorated (the popup bubbles). Some love
'em, many hate 'em, it should be possible to override this (perhaps by
providing an alternate JS file and a ApplicationDefaults override).

Goal #1: Backwards compatibility
Goal #2: Documented
Goal #3: Plugability / Extensibility / Overridablilty

May be time to print out tapestry.js and start looking for ways to
accomplish these things (when I get back to Portland; I'm at a client
site the rest of this week).

On Thu, Jan 28, 2010 at 7:47 AM, Cordenier Christophe
<[email protected]> wrote:
> Hi,
>
> We are currently planning to work on integrating jQuery into Tapestry at our 
> company and share it with the community.
> We would be very happy to contribute to the Tapestry 5 project.
>
> I would appreciate if you can give your vision of this kind of work, we have 
> started to work like this :
>
> - Define an 'agnostic' tapestry.js that contains pure javascript/json 
> declaration
> - Develop a concrete implementation for jQuery technology
> - Extend the clientInfrastructure to switch from one JS lib to other
>
> At the moment, we have only identified the problem related to this issue : 
> https://issues.apache.org/jira/browse/TAP5-994
>
> Best Regards,
> Robin Komiwes & Christophe Cordenier.
>
>
> ________________________________
>
> Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage 
> exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret 
> professionnel. Si vous recevez ce message par erreur, merci d'en avertir 
> imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne 
> pouvant ?tre assur?e sur Internet, la responsabilit? du groupe Atos Origin ne 
> pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs 
> efforts soient faits pour maintenir cette transmission exempte de tout virus, 
> l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne 
> saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
>
> This e-mail and the documents attached are confidential and intended solely 
> for the addressee; it may also be privileged. If you receive this e-mail in 
> error, please notify the sender immediately and destroy it. As its integrity 
> cannot be secured on the Internet, the Atos Origin group liability cannot be 
> triggered for the message content. Although the sender endeavours to maintain 
> a computer virus-free network, the sender does not warrant that this 
> transmission is virus-free and will not be liable for any damages resulting 
> from any virus transmitted.
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to