HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Introduction to Dojo

This topic introduces the Dojo JavaScript framework used for the user interface in Optimizely.

Optimizely uses the Dojo Toolkit as the JavaScript framework on which client-side development is done.

About Dojo

The Dojo toolkit is a client-side framework for building rich internet applications hosted in a web browser. Dojo is an open-source framework that helps speed up the development of cross-platform rich internet applications by giving you a lot of features. Some key features include:

  • Rich UI widgets using the Dijit widget system
  • Asynchronous communication
  • Class declaration and modular development
  • Desktop and mobile support

The Dojo Toolkit consists of three main components:

ComponentDescription
dojoThe core API of the framework and contains features for DOM manipulation, class declaration, event listening, message publishing and subscription, and asynchronous requests and processing.
dijitThe user interface system built on top of the Dojo core. Its primary feature is the widget system which is used to manage and manipulate visual elements in a modular manner.
dojoxA collection of sub-projects built on top of the Dojo core. This can be considered a repository of Dojo plugins or a testing ground for new features that will in future be part of the Dojo or Dijit namespace.

Resources

Dojo has a selection of tutorials, blogs and other resources that help new developers come up-to-speed with the framework.

DocumentationDescription
TutorialsDojo tutorials are separated into several topics and each tutorial has a clearly labeled difficulty level and the version of Dojo for which it was written.
  • Creating a custom widget
  • Events with Dojo
  • Getting Started with Deferreds
  • Classy JavaScript with dojo.declare
  • | | [API](http://dojotoolkit.org/api/) | The Dojo API documentation is generated from the code and lets you navigate the objects within the framework. | | [Blog Posts](http://www.sitepen.com/blog/) | There are many blogs about Dojo features on the internet. Search for a topic that interests you. Sitepen is dedicated to Dojo development and has an excellent series of blog posts for anyone new to Dojo development, called their [quick start guide](http://www.sitepen.com/blog/series/dojo-quick-start-guide/). | | [Bug Tracking](http://bugs.dojotoolkit.org/) | The bug tracking system helps you when you discover some strange behavior because there may already be a patch for the issue. |

    Did this page help you?