[ 
https://issues.apache.org/jira/browse/TAP5-486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668931#action_12668931
 ] 

Robert Zeigler commented on TAP5-486:
-------------------------------------

I'm with Dan.  This is a major change.  The @PrototypeSupport is a nice idea, 
except that it requires more than minor amounts of work for authors of complex 
applications; backwards compatibility, to me, means that if I absolutely have 
to make changes, those changes should take less than 30 minutes for a single 
developer to make for a complex app.  For example, I recently upgraded a 
dependency in a complex application from cayenne 2.0.4 to cayenne 3.0M5.  
Although the change resulted in various "deprecated" warnings, the application 
still functioned correctly without any further changes on my part, meaning that 
I could fix the warnings at my leisure.  So if we were going to change the 
default js library, the change /has/ to be done in such a way as to make the 
burden of the change shouldered by tapestry, and not the end-developer.  I 
think @PrototypeSupport is an /interesting/ idea, but it's one that requires 
too high an "activation energy": too much effort.  If you're going to make the 
change, then I think that you should spend time developing a tapestry js api 
into which various framework can be plugged.  This idea has been proposed 
before; I never much cared for it; more cruft on top of cruft.  But if you want 
to switch the default js library to jquery, then this is the way to go.  That 
way, previously written applications can override the default library 
contributions and contribute prototype, instead.  There could even be a small 
"t5prototype" library that does this contributing for you, so all you have to 
do as a user to maintain the previous behavior is include the extra dependency. 
 That's my $0.02.

> Switch Tapestry's built-in JavaScript support from Prototype to jQuery
> ----------------------------------------------------------------------
>
>                 Key: TAP5-486
>                 URL: https://issues.apache.org/jira/browse/TAP5-486
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.0
>            Reporter: Howard M. Lewis Ship
>
> Like rats deserting a sinking ship ...
> This is not a definitive requirement; I've created this issue to promote 
> discussion.
> It's quite likely that a move like this could be accomplished quite smoothly 
> for users who are meerly consumers of JavaScript components; authors of 
> JavaScript components would have to make some changes.
> Possibly we should code the jQuery stack from the get-go to NOT use the $() 
> method, but instead use j$(). That extra character to type could make all the 
> difference is allowing a smooth upgrade, where jQuery becomes the default, 
> but prototype/scriptaculous can still be used.
> Possibly a new annotation, @PrototypeSupport for components to ensure that 
> the Prototype libraries are available for compatibility?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to