[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


Hello everybody,

I do not know if what I will write here will be of any use but here are 
my thoughts...

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 
guidance.
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 
applications.
End user stuff will anyway be accomplished if the first statement is 
verified.


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 
limiting me.
  - 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 :)

PEM-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20121011/cba734b6/attachment-0001.htm 


More information about the dojo-contributors mailing list