[dojo-contributors] what is the raison detre for dojo 2.0.
Pierre-Emmanuel Manteau - DoYouSoft
pemanteau at doyousoft.com
Thu Oct 11 04:49:56 EDT 2012
I do not know if what I will write here will be of any use but here are
First, I would like Dojo 2.0 to solve problems (big ones) I had with
Dojo 1.x. Before even going any further, I will talk a bit about my
encounter with Dojo and my experience with it...
I started really coding with Dojo about 2.5 years ago. Started from scratch.
The learning curve was steep, but we were still using Dojo 1.4 and I
could start with the great book Dojo the Definitive Guide (O'Reilly). It
helped a LOT !
I was, after one week, finally able to do a few things... and I thought
that, afterall, Dojo was not that hard to learn provided the a good
Then came Dojo 1.5
Then left the documentation.
Then I started lurking on irc :)
1.5 through 1.7 has been proving a more painful experience than learning
the basics. At first I thought it was due to the major updates, but when
looking back, I now think that the main reason of my struggles was to
become a more experimented user of Dojo.
Dojo was really easy to get accustomed to as a beginner, one week was
enough to use stores, grid, events, dnd, animations (I made a little
game in this one week and the game was pretty nice after 2). The
problems appear once you start digging... (and here i'll +1 the people
whom mentioned a clean up of low-level APIs).
You are a developer, your company hire you to make an awesome web app,
and of course your company has special needs... you don't "just need a
grid", you need a "special" one. You don't just use the stores as in the
examples, you have to extend them (whomever has already played with JRS
+ Caching will probably get what I mean)...
You don't need the dnd with avatar, your boss wants an html view of the
dnd moveable, the real representation... he also wants nested drop areas
(rings a bell?).
That is when my Dojo Hell started :) When I tried to use the low level,
sometimes uncommented, sometimes juste plein out weird logics, sometimes
overly separated concerns but with hard coded dependencies, APIs.
My feeling is that for any real web app dev, having to use the low level
APIs of Dojo 1.x is a pain in the ass most of the time. Whoever has
looked at the internal of old DataGrid and Selection system (for
example) will know what I'm referring to. Same for TableContainer, and
many more. You have shitload of hardcoded limitations.
As long as you use the top level APIs you are in a green, beautiful
garden playing with pink unicorns, but don't be tempted to use that
shiny shovel eyeing you...
Because under that garden of dev-love-(bacon!) you get back to the old
whipping boss asking you to poke your own eyes with spoons.
My wish, for Dojo 2.0, would be to have clear, clean low level code that
I could use as an advanced user without having to pull hair out for
months trying to understand "Y, O Y U HARDCODED LIKE THAT!!??!!"
realizing I cannot achieve what I want with the shining tool proposed,
because of some stuffs hiding deep inside.
I no longer wants to face that frustration of having to redo a complete
dijit, because the code (which in most case could have been done
otherwise) is limiting me.
I believe that low level APIs should not limit the dev (only top level
ones, since they are end user oriented anyway).
*Dojo 2.0 raison d'être* (for me) : Bring powerful, reliable and
flexible tools to devs that need to work on complex to very complex web
End user stuff will anyway be accomplished if the first statement is
Dojo 2.0 wishlist :
- Clean, Standards, Flexible low level APIs
- A set of basic layers I can pile up to the extend I want in order to
achieve the degree of functionality that helps me the most without
- FAST & LIGHT (yeah I know, we are talking about wishes here ^^, but
dgrid is fast and light for example so it should be possible).
- a more comprehensible build system (I know it's very powerful, I
know a huge effort has been made on docs, I also know it's been done by
clever people whom made it über powerful, fast and all), but I still
find it very hard to grasp and keep seeing people asking how to use it
on irc almost everyday.
- Faster unit testing :)
Sorry for that long and messy email, but I hope my feedback will,
somehow, help :)
Please people take no offense from my statements, I strongly believe
Dojo is an awesome framework, I like it a lot, and I wish the best for
its future :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the dojo-contributors