On Fri, Nov 30, 2012 at 7:41 PM, Caleb James DeLisle
<calebdelisle(a)lavabit.com> wrote:
Hi,
I'd like to add require.js to XWiki to be included in every page just before
prototype.js.
I would also like to add jQuery to our resources directory but only make it available to
scripts which "pull it in" using require().
I have come to the conclusion that jQuery is a de-facto standard and even if we don't
port
to it, we should make it available to our users. Require.js is an implementation of the
Asynchronous Module Definition standard which will allow us to use both jQuery and
prototype
relatively harmoniously.
I think it's obvious that if javascript rich webapps are going to scale, they need
modularity and I've reviewed AMD and the main competitor CommonJS and concluded that
AMD
will provide the user with better page load time by asynchronously loading modules
according
to a dependency tree while CommonJS blocks on each call to require().
I would like to see us move away from prototype but it provides more functionality than
jQuery including an OOP framework and while there are other libraries which show
promise,
I don't feel right proposing a best practice without first porting some code to it to
see
what issues arise so IMO we should begin using require.js but accept that prototype
still
has it's place.
About moving away from prototype, I stumbled upon a recent article on
its founder's blog:
http://sstephenson.us/posts/you-are-not-your-code
JV.