
Recently, as I stated before, I’ve signed up fro a new full time gig. This is a bit different than my usual roles in my career as a consultant, or in certain cases, “hired gun”. In the project we are working on, we have been using an in house JS framework called “mojo” that essentially adds a layer of modularity onto the top of the various JS solutions floating around out there.
As maybe not the most gifted javascripter (something I’m working to improve as I speak!) I usually rely on jQuery to add in any UI effects or ajax type functionality. But in this case, the underlying framework is the Dojo Library.
I’ve used mootools and prototype/scriptaculous in the past with mixed results. I found the proprietary (for lack of a better term) additions one needs to employ in order to attach events using Prototype/scriptaculous were pretty cumbersome and not very well documented. In order to remove inline even handles, the whole “Event.observe” notion just took me forever to pick up for some reason.
I think the thing that has made jQuery such a “hit”, and made it so widely adopted, is its fantastic documentation and the ease by which one can get up and running and start instantly producing results. I like the way it attaches events based on classes or IDs.
“Go find this element and add this to it.”
Prototype in some ways does this too, but the documentation was so lacking and the wiki full of examples of onClicks, it just made the whole process incredibly frustrating. I resorted to using some loops I had written from scratch, with the help of someone who actually knew what they were doing on an older project (!) and ended up skipping Proto/Scripty all together. Sucessful? Not really.
So we’ll see how Dojo with our layering of mojo likes to play. Right now, I’m finding it very modular to the point of verbose. We can’t quickly get up to speed with it due to the sheer amount of configurating it requires and large number of files it relies on. Also the framework seems to rely on being built via ant in order to be activated. I don’t know if this is all mojo/dojo dependent or just a feature that was developed on the project in order to compile quite a number of CSS pages (I thought we had alot on the nytimes site!..)
I will try to report back as we get more familiar with it and i get more up to speed with mojo/dojo in general. I wish we were simply using jQuery, but my bed has been made in this case!