[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