dojo dragon main logo

A Progressive Framework for Modern Web Apps

Build with Dojo


Dojo enables teams to build web applications with a deliberate approach to productivity, sustainability and code management.


Intent on not reinventing the wheel, Dojo allows for easy integration with the most powerful solutions available today on the open web.


Accessibility and internationalization are required for enterprise web applications. Dojo supports inclusivity and provides both.

Get Going Quickly

Getting started with Dojo is simple. You can use your command line of choice and npm to get going quickly.

npm i @dojo/cli @dojo/cli-create-app -g|
dojo create app --name hello-world|
import renderer, { create, tsx } from '@dojo/framework/core/vdom';
const factory = create();
const App = factory(function App() {
    return <div>Hello, Dojo World!</div>;
const r = renderer(() => <App/>);

A Complete Framework

  • Widgets

    Write reusable, reactive components for your page. Dojo allows composition of complex user interfaces via its widget system.
  • Routing

    Routing out-of-the-box for your application. Declare routes and create navigation flows for your web app.
  • State Management

    Managing state can be difficult. With built-in state management via the Dojo Stores system, you can track and update your application state efficiently.
  • Centering Modern Standards

    Dojo encourages the usage of Browser APIs like ResizeObserver and IntersectionObserver, rather than reinventing the wheel.
  • Dynamic Polyfills

    For older browsers Dojo will dynamically load Polyfills for users, just shipping them the things they need.
  • Compile to Web Components

    Allow your Widgets to work across other frameworks by compiling them to native Web Components.

Leverage the Platform

Build for Everyone

  • Internationalization

    Dojo provides the tools to allow you to internationalize your application with ease, serving your web app in the language of your users.
  • Accessibilility

    Dojo Widgets, the widget library provided alongside the Dojo framework, aims to be accessible out-of-the-box.
  • Lightweight by Default

    The core framework for Dojo comes in at 16kb. Dojo code splits on routes, so that code is only fetched, compiled, and executed when required.