I have developed one of my modules using Dojo. Its gone really well and I have done a lot of custom plugins and server support in Dojo to allow AJAX calls, RPC + SMD communication with my server.
However, now that I am getting onto the user side of things, I am seeing that jQuery has some really nice already built plugins. Do you think it is possible to support both JS libraries realistically without it being a massive problem?
What kind of integration can I achieve? Does anyone have experience in this?
I have probably written somewhere in the region of 30k lines in Dojo for my Administration panel…
jQuery is very good about not messing with the prototypes of built in javascript objects (unlike Prototype), this allows it to be used with other libraries quite easily.
A source of potential conflict is jQuery’s use of
$as a shortcut forjQuery. I’m not a dojo user, but if this conflicts with dojo in some way, there are instructions addressing this.That said, I think you’d be better off looking at these jquery plugins and rewriting them and porting them to dojo. I’m sure the dojo community would appreciate it, and it would give you experience. It’d also make your application a little slimmer in the waist area.
Edit: I’ve noticed a couple answers trivializing the download speed of adding an additional library. I’d take this with a grain of salt.
As developers we tend to see only the extra 10ms it takes to download the library over localhost, or from our development server on a 100 Mbit LAN. The download speed is not so trivial from California to Virginia, or especially from USA to Europe. Additionally, it adds further burden on your client’s javascript engine. If they are using a 1-2 year old good computer with Safari or Chrome, this would be negligible, but if they’re on IE, FF2, or some versions of FF3 the difference can be severe, or at least measurable.