[jifty-devel] HEADS UP: jquery replacing prototype ... in a week or two

Liu Kang-min gugod at gugod.org
Mon Feb 4 22:30:04 EST 2008


Hi, all

We're happy to say that the jifty jquery branch getting finished.

We re-implement the those functions based on prototype/scriptaculous
to either jQuery-based, or just standard javascript based. cssQuery
was already replaced. Another jQuery auto-completion plugin is  
introduced
to replace Ajax.Autocompleter provided by scriptaculous.

The replaced javascript libraries code are 255,087 bytes in total,
the newly introduced are 116,802 bytes. 55% of the library code size
is reduced. And I'm not counting the packed version of those libraries,
just the plain source. :)

Please help us testing the "jquery" branch on your app code if you're  
interested,
or if you're a jquery fan or you simply hate the other framework :)  
There might be
some SinglePage based issues that we need to work on. I manually  
created a
small app and include Authentication::Password plugin, played around  
it and it looks fine.

Please remember to add "ConfigFileVersion: 3" in your config.yml. This  
will prevent
old cssQuery code from being loaded, and the jquery branch already  
remove the other
framework in its Web.pm.

We will need some information from plugin developers to see if there's  
any
required modification to your plugins due to this big change. If your
plugin is based on prototype.js, we will ship prototype.js as a jifty  
plugin in
the future. It'll be a core plugin to provide maximum backward  
compatibility
to old jifty apps.

A few notice in detail for javascript programmers:

- Several Classes are inherited from prototype classes or  
scriptcaulous classes.
   Those inheritance are gone. But their names are kept. Which means  
we're still
   polluting global namespace at this moment. We should be able to  
localize
   the whole jifty.js in a lexical scope. But that feels too risky now.

- One Jifty.Effect() function to replace all Effect.* functions.
   It uses jQuery built-in effects to replace some basic scriptaculous  
effects.
   Not all effects are covered since jQuery built-in effects are  
pretty limited.

   However, this makes it possible for plugins to re-define one  
Jifty.Effect
   function to provide its fancy spiffy ones.

- A few new variables and functions are introduced under Jifty.*  
namespace.
   For either to make it more backward-compatible or they are used  
externally,
   outside jifty.js without polluting global namespace too much.


If you meet any problems, drop a mail in the list and let us know  
what's the issue,
and let us sort it out.

Cheers,
Kang-min LIu





More information about the jifty-devel mailing list