[dojo-contributors] Prototype-al simplicity

Paul Sowden paul at idontsmoke.co.uk
Thu Apr 6 19:28:33 EDT 2006


On 6 Apr 2006, at 02:15, Bill Keese wrote:

> I'm hesitant to start on any new projects when 0.3 is already  
> months behind schedule.  Having said that...

Well 0.3 should be pushed.  If it gets to the point were we can't  
move forwards the release schedule is unrealistic and flawed.

Introducing these changes is something that I'm incredibly passionate  
about and I'm psyched that there's momentum to get there.  In my  
eyes, making Dojo distributions like this makes us relevant, if not  
to the whole Web then at least to me.

> I would make "dojo-lite" (a.k.a core) bigger.  Maybe this:
>
> bootstraps
> dojo.lang
> dojo.event
> dojo.io  (not sure about the multiple IO packages; seems like one  
> should be sufficient)
> dojo.json
> dojo.dom
> dojo.html
> dojo.style
>
> I imagine that's similar to what's in prototype but can someone  
> else comment?

I think this is as similar to Prototype as we can get.  Prototype is  
a pretty horrible library for shitting all over the environment.  I  
think we have enough in these libraries to have a killer core  
distribution.

The main stinging point is that Prototype is 48kB *uncompressed*.   
Building for us, we're 196kB uncompressed and it only shrinks to  
116kB compressed.  We're still well over twice the size, and that's  
not like for like.

The build file we're looking at is:

   var dependencies = [
     "dojo.io",
     "dojo.io.BrowserIO",
     "dojo.io.cookie",
     "dojo.event",
     "dojo.json",
     "dojo.dom",
     "dojo.style",
     "dojo.html"
   ];

Which causes these files to be included:

   ../src/bootstrap1.js
   ../src/bootstrap2.js
   ../src/hostenv_browser.js
   ../src/string.js
   ../src/string/common.js
   ../src/string/extras.js
   ../src/lang/common.js
   ../src/lang/type.js
   ../src/lang/extras.js
   ../src/lang/array.js
   ../src/lang/func.js
   ../src/lang/repr.js
   ../src/io.js
   ../src/io/BrowserIO.js
   ../src/io/cookie.js
   ../src/uri/Uri.js
   ../src/json.js
   ../src/undo/browser.js
   ../src/event.js
   ../src/AdapterRegistry.js
   ../src/graphics/color.js
   ../src/dom.js
   ../src/style.js
   ../src/html.js

Looking at this it seemed an utterly fruitless exercise fragmenting  
lang and string to the goal of including less and so overall a  
detrimental change.  I don't even know what an AdapterRegistry is...  
anyhow.

Overall I think this is a solid and noble set of modules to include  
as a dojo-lite and should make us very attractive, I know it will to me.

Basically I'd like opinions on this, is this what people were gunning  
for when we talked about the issue or am I on my own path?  I'd very  
much like to decide on this so we can move onto the next stage of  
getting us there with these modules.

Cheers.

-- 
Paul Sowden




More information about the dojo-contributors mailing list