Opened 11 years ago

Closed 6 years ago

#12742 closed enhancement (wontfix)

[FOUNDATION] Architectural Overview of the Dojo Foundation Projects

Reported by: lazaridis_com Owned by: dylan
Priority: low Milestone: 2.0
Component: Website Version:
Keywords: 1.9 Cc: itorrey
Blocked By: Blocking:


I tried to get an overview of the projects at

Possibly there should be an architectural overview (textual or graphical) about the Dojo Foundations Projects.

This would simplify the project entry for newcomers (users, developers, contributors, decision-takers, ...), especially the ones which do not have (or do not want to have) the complete domain-knowledge yet.

Below an example (compiled from own writings and from copies of answers given on the dojo-toolkit mailinglist topic )



(draft, contains most possibly false facts)

Projects of the Dojo Foundation are independent and equally weighted. As Dojo was the initial project, the interrelations of the projects are shown based on dojo, giving this way an architectural overview of the tools:

dojo.toolkit -

  • dojo.base - make your static website as dynamic as an desktop application, with a tiny < 40kB library.
  • Then you can add grids, trees, charting and advances UI to your website or application - and many more.
  • Finally you can go on with the other Dojo Foundation Tools to build UI's within IDE's and to add server-side functionality. You're not bound to those tools, but you can use them of course.

And remember: all of them are Real Open Source.

The following list shows how the Dojo Foundations Projects relate to Dojo and to each other.

UI Tools/Products? build with Dojo

  • Maqetta is an HTML5/JavaScript UI creation tool that's built with Dojo.
  • General Interface was started by TIBCO and has a lot of built-in support and/or extensions that use Dojo (particularly Dijit and DojoX).
  • Lucid Desktop is a web-based desktop package that uses Dojo.

Server-Side Tools/Products?, with special support for Dojo

  • Persevere is server-side JavaScript Middleware that works on top of Node.js or Narwhal+Jack. It shares share similar approaches to data with Dojo.
  • CometD is a Comet server (Jetty) with a general JavaScript client and Dojo and jQuery specific clients. It also hosts the Bayeux protocol.
  • OpenCoWeb builds on top of CometD (or Tornado for Python users) with Bayeux, and Dojo.
  • DWR is a Java framework and there's a Dojo data store for simplifying integrations. There's also a Bayeux adapter.

Derivatives (of Dojo or part's of it)

  • EmbedJS is a mobile toolkit that is a derivative work of Dojo.
  • RequireJS is a module loading framework that support CommonJS AMD. It's derivative work from the original Dojo module loading system.

Alternatives (for Dojo or part's of it)

  • Sizzle is a selector engine used in jQuery (and is a build option in Dojo, though Dojo has its own Acme selector engine that's the current default).

Stand-Alone Tools, independent of Dojo

  • AnimeJ is a stand-alone animation library.
  • Wink Toolkit is a mobile toolkit that has its own code base
  • Zazl provides a bunch of interesting server-side options (like DTL, but not in Django or Dojo).

Change History (8)

comment:1 Changed 11 years ago by dante

Owner: changed from Dustin Machi to dylans

comment:2 Changed 11 years ago by dante

Cc: itorrey added

comment:3 Changed 11 years ago by dylan

Owner: changed from dylans to dylan

comment:4 Changed 11 years ago by dylan

Milestone: 1.8
Status: newassigned

comment:5 Changed 10 years ago by dylan

Milestone: 1.81.9
Priority: highlow

Not a blocker for a Dojo release.

comment:6 Changed 10 years ago by Colin Snover

Milestone: 1.92.0

Current plan is that we are going from 1.8 to 2.0, so bulk reassigning and removing the 1.9 milestone so nobody tries to use it.

comment:7 Changed 10 years ago by Colin Snover

Keywords: 1.9 added

comment:8 Changed 6 years ago by dylan

Resolution: wontfix
Status: assignedclosed

This is being handled elsewhere as part of the merger of Dojo and jQuery Foundations.

Note: See TracTickets for help on using tickets.