---
title: Dojo JavaScript framework
slug: cms-12/docs/introduction-to-dojo
docTags: 
createdAt: 2026-08-10T15:56:02.000Z
---

Optimizely Content Management System (CMS) uses the [Dojo Toolkit](http://dojotoolkit.org/) as the JavaScript framework on which client-side development is done.

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:

- **dojo** – The core API of the framework and contains features for DOM manipulation, class declaration, event listening, message publishing and subscription, and asynchronous requests and processing.
- **dijit** – The 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.
- **dojox** – A 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 features that will, in the future, be part of the Dojo or Dijit namespace.

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

- [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/) – Many blogs about Dojo features on the internet exist. 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 it, 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.
