5 ms·
What is the fundamental difference between this and jQuery? And why some random pre-beta MVC javascript frameworks are more popular than Dojo?
by sahat 14y ago
What is the fundamental difference between this and jQuery? And why some random pre-beta MVC javascript frameworks are more popular than Dojo?
- moondowner 14y agoThe second question is something I also can't find an answer to.
- dylanks2 14y agoPopularity is fickle... things that are new and sexy get more buzz, things that are solid and reliable and powerful get used a lot, but don't receive as much hype.
- sswezey 14y agoI recently did a project using Dojo (1.7) and my coworker told me that it 'lost the war' against jQuery. Having worked with it, the documentation was absolutely horrid (which they no claim to have somewhat resolved). As for popularity, it is a Catch-22 - it's not used very often and so no one is willing to learn it and people don't learn it, so it's not used very often. From the same website showing jQuery is on 50% of websites now, you can see that Dojo is absolutely abysmal in popularity and usage: http://w3techs.com/technologies/overview/javascript_library/all http://w3techs.com/technologies/overview/javascript_library/...
- dylanks2 14y agoDojo is used in more than 80% of the world's 2000 largest companies. Yes, it's not the default toolkit for WordPress or other large blogging and microsite platforms (which dominate the number of sites on the web), but Dojo is used far more than the numbers indicate. For every 10,000 basic sites, there's an impressive app out there that makes use of it. As I've argued before, if Apple had given up to Microsoft because everyone used Windows, or if Firefox had given up because everyone used IE, the world would be a boring place. With AMD, it's less about Dojo vs. other toolkits, and more about how to use toolkits together in an efficient modular manner to build the app you need.
- sswezey 14y agoUnfortunately, you cannot load Dojo with other AMD loaders. It has shims and features within its dojo.js that prevent's other loaders from being able to use it; dojo can load other AMD modules but not vice-versa. Also, the comparison of FF/IE and Windows/Mac, the argument is flawed - the underdogs came out to fix problems with the status quo. Dojo does not provide significant benefit over jQuery or similar tools to warrant switching frameworks.
- dylanks2 14y agoThe latter point is your opinion, but certainly many developers actually believe it does. Dojo has plugins for localization and text loading that are needed for certain features. You would need similar capabilities in other AMD loaders for them to work. I believe it's simple enough to get most of Dojo working with RequireJS, or with Curl.
- amitu 14y ago"Dojo does not provide significant benefit over jQuery or similar tools to warrant switching frameworks." This is not correct at all. Compared to jquery, dojo is significantly better option for large projects. Dojo has a very rich unified set of widgets, jQuery has plugins, but they do not play well with each other. Each jQuery plugin is unique, with no standard way to extend them. I can extend any dojo class and in a very uniform fashion. It is possible to do write good code in jQuery, but a vast majority of them are not, jQuery is like PHP, a haphazard mix of functions that do something. Dojo is like Django etc, with everything thought out from start to end, everything gels together. Or at least that is my initial impression, would love to know why you believe the class system, the AMD modules, the rich widget library, storage framework, MVC framework, i18n, etc offered by dojo is no benefit to you?
- larrymyers 14y agoI'd say Dojo is much closer to YUI in scope and purpose. As to why it's not more popular? Likely marketing. Dojo isn't sexy. It's been around for a very long time. You'll notice that a lot of discussions around things like module loading reference Dojo as an inspiration.
- Leftium 14y ago"jQuery is primarily a JavaScript library for doing DOM manipulation, Ajax, events, and effects. Dojo is a more comprehensive toolkit that offers those same features, but also includes many other pieces that facilitate building rich web applications, such as patterns for code organization, tools for abstracting data syncing between server and browser, internationalization, accessibility, templated widgets, graphing and charting, rich UI widgets, and much more. Dojo also provides dependency management and build/optimization tools for creating a production-ready JavaScript application." Rebecca Murphey [1] Rebecca also gives a detailed description of her first foray into Dojo coming from jQuery. [2] Personally, I think Dojo's lack of good documentation/reference code, lack of 'marketing', and relative complexity keep it from becoming popular. It's much easier to get started with another library like jQuery because of all these factors. However, once you get over that initial steep learning curve, Dojo is great! [1] http://www.quora.com/Rebecca-Murphey/answers/Dojo-JavaScript-toolkit http://www.quora.com/Rebecca-Murphey/answers/Dojo-JavaScript... [2] http://rmurphey.com/blog/2009/11/12/dojo-confessions-or-how-i-gave-up-my-jquery-security-blanket-and-lived-to-tell-the-tale/ http://rmurphey.com/blog/2009/11/12/dojo-confessions-or-how-... edit: corrected name to Rebecca
- dylanks2 14y agoCheck out the new docs. I think it's no longer reasonable to say Dojo lacks good docs or reference code. Marketing is challenging for engineers. We tend to not go crazy over every small feature, but focus on the big stuff. That said, we're improving our approach.
- mgkimsal 14y agoThe tutorial section looks much improved over previous visits - good job. Two points: 1. The tutorial shows using the CDN, then there's big warnings saying "don't do this in production". Give another demonstration of the "highly recommended" approach vs leaving people to piece that together themselves. 2. "we tend to not go crazy over every small feature". What's a small feature to you may just be something that 80 people have been waiting patiently for. While you can often judge what a 'big' feature is by your standards, dismissing many other things as 'small' probably misses a lot of people.
- elchief 14y agoDojo is integrated. JQuery has 1000 different plugins and therefore 1000 different APIs to learn