I decided to set up a blog to share my thoughts and experience with Ruby on Rails and the fantastic Dojo javascript toolkit.
In preface: I do not represent the Dojo Foundation nor am I affiliated with any of its partners.
I simply endorse and champion the integration of the library in the Rails community.
So without further adieu:
The reasons why you will be glad you invested your time learning Dojo:
- Modularization
The toolkit includes a modularization architecture that allows you to separate your scripts into modules and call the dependency like MyApp.models.person . This in turn would translate to /javascript root directory/MyApp/models/person.js. This comes in really handy when you are doing versioning. Pretty neat huh? - Compression System
The source download will include shrinksafe or you can download it separately. This compression utility is built on Mozillas Rhino Javascript engine. It interprets your script in order provide you with the best compression possible. - Psudo Classes
Now there exist many techniques out there to structure your scripts in an Object Oriented fashion. Dojo comes with the dojo.declare function to make this pretty simple and allow you to institute inheritance and inherit from the vast dojo library. - Publisher/Subscriber Event System
Yup. Wow, right? How neat is that? You can have a separate module onto itself organizing your whole event system into publisher subscriber listeners. All dojo widgets (dijits) include hooks to publish events. You can also natrually build your own as well. - Huge Widget assortment
Beautiful, mature looking controls with hooks for inheritance and event publishing. The library automatically includes keyboard control mappings (arrow keys, etc..). From their toolbar menus to tree controls to right click menus with checable items and submenus, you will easily be able to have a desktop looking application in no time. - Smart
Yeah, this is its own reason. Along with everything else that jQuery has, CSS slecotrs (sizzle), attribute and class modifiers, etc.. dojo has purely smart helpers like dojo.hitch that lets you run methodes as a parameter but within a context. And that is built into most of all the dojo core functionality. - Fast
Dojo's front page cites a comparison alongside jQuery. Check it out yourself.
Now I'm not here to dog jQuery. I love jQuery. I think jQuery is like Sinatra is to Rails. Small and easy to learn quickly.
One thing that I see that jQuery has Dojo beat by a mile is the community. I'm hoping that I can only help and not hurt it with my little blog here.