An Open Letter to You and Alex Russell

by Brian Moschel

An Open Letter to You and Alex Russell

Brian Moschel This is a pipe-dream, random, 3 AM thought. Do not take seriously.

posted in Development on September 22, 2010 by Brian Moschel

DISCLAIMER: This is a pipe-dream, random, 3 AM thought. Do not take
seriously.

This is a two part letter to the Open Source JS authors of the world and
to Alex Russell of Dojo (now Google) fame. But first, a little
background.

JavaScriptMVC is over 2.5 years old. It’s first version included:

For the most part, I just took what other people’s projects and packaged
them up. Event delegation via controller was the exception.

Today, JavaScriptMVC has added a ton of polish, depth, and features. Yet
at it’s core, it’s still these components.

But in these 3 years, solid alternatives have developed. For example:

  • jQuery widgeting – $.widget
  • Model –
    js-model
  • Dependency Management –
    RequireJS,
    LabJS
  • Client Side Templates – JAML, Mustache, jquery-tmpl, etc
  • History –
    Sammy,
    jQueryBBQ

Recently, JavaScriptMVC added FuncUnit which is a decedent of Selenium
and qUnit.

With that, I begin my letters …

Dear Open Source Authors,

Can we start putting aside differences and collaborating? Yes, we might
disagree on a few design goals, but there are clear wins. For example:

  • $.widget is lightweight (and now broken into parts)
  • $.Controller can bind / unbind all event handlers automatically
  • LabJS is fast
  • RequireJS keeps namespaces ultra clean
  • StealJS can handle Less, CoffeeScript, and a ton of templates, and
    split builds across pages.
  • Sammy is elegant
  • BBQ is light weight (and lower level)
  • FuncUnit is … well, there is no comparison here, but I’ve asked
    for it to become part of Selenium and qUnit

Surely, we can figure out ways of working together to ‘solve’ these
problems that doesn’t involve building another tool from scratch? Today,
low-level libraries like jQuery, Dojo, and MooTools are extremely close
in what they provide. There’s no reason to write another offset method!

Imagine a world where you can build your own toolkit from parts of other
libraries with little or no waste. Want to use jQuery’s event system
with NWMatcher? Just require(‘jquery.event’,’nwmatcher’). Use the
perfect build tool to make your own perfect library.

JavaScript development needs to start conforming around the patterns we
now know are best-of-breed.

Unfortunately, I don’t how to make this happen or even where to start. I
certainly don’t have enough influence. I’d be interested in sponsoring a
collaboration meetup of sorts with some framework / library developers.
I really want to combine StealJS, RequireJS, and LabJS.

But, before I get ahead of myself, there is someone who already
accomplished this who might have some solid advice …

Dear Alex Russell,

First, I have a huge man crush on you. How can you blame me? Your beard
screams old-spice-guy manliness.

786 Russell<br />
Medium

Plus, you invited me out to dinner with the big Dojo guys (and Christian
Heilmann), before I knew anyone and I looked creepy, having shaved
JavaScriptMVC into my head:

Img<br />
0193

It’s my understanding that you started the collaboration of competing
toolkits that led to the creation of Dojo. How did you do it!?!? All I
found is this short
article
.
It doesn’t provide any suggestions on how someone without your charisma
or skill could accomplish this feat. Getting together a pool of talented
developers to unite under a single project must have taken a
considerable effort.

Unfortunately, the Dojo project missed an opportunity by not releasing
something that became jQuery. But …. I wonder … is it possible to
correct that so everyone can start moving forward together?

My pipe dreams are clogged. Sincerely,

\~Justin Meyer

blog comments powered by Disqus

Getting Started with Cordova

Brian Moschelposted in Development on March 26, 2015 by Brian MoschelAt Bitovi, we’re big fans of building applications with web technologies and using build tools to target other platforms like iOS, Android, and desktop. This article will provide a quick guide to getting up and running quickly with Cordova.

Web Application Theory

Justin Meyerposted in Development on June 27, 2014 by Justin MeyerUnderstand the technology and architecture choices Bitovi make and why we make them. What Bitovi does and why.

Contact Us
(312) 620-0386 | contact@bitovi.com
 or cancel