Great post. Now we just need a rebuttal from Steve Souders.
I wish some of these authors would start collaborating together though. The number of script loaders is getting ridiculous: LABjs, ControlJS, Head JS, and $script.js.
A funny difference with the other is about the way I deal with dependencies in the asynchronous/evented context of Javascript. Basically: active waits, specified programatically.
The other solutions either ignore the issue and fallback to synchronous like operations or provide some "declarative" ways of specifying the dependencies, but not flexible enough for my needs.
I'm happy with the result (on browsers that supports .async that is).
>But ControlJS, HeadJS, and many other script loaders like them are doing the same thing. They aren’t necessarily using the exact same trick as LABjs used, but they are pinning their entire loading functionality on hacky, non-standard behavior.
Well, yikes. I'm using head.js because I figured one loader was just as good as another, but now I'm having second thoughts. Dang, everything is complicated...
I wish some of these authors would start collaborating together though. The number of script loaders is getting ridiculous: LABjs, ControlJS, Head JS, and $script.js.
Am I missing any?