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.


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

Get Going Quickly

Getting started with Dojo is simple.

1 npm i @dojo/cli @dojo/cli-create-app -g
2 dojo create app --name hello-world
3 Go!
import WidgetBase from '@dojo/framework/widget-core/WidgetBase';
import ProjectorMixin from '@dojo/framework/widget-core/Projector';
import { v } from '@dojo/framework/widget-core/d';

Embracing the Web Platform

Dojo strives for maximum interoperability. Web components provide a mechanism to leverage non-Dojo components within a Dojo application, and to effortlessly use your Dojo-based widgets in non-Dojo applications. Dojo provides first class support for web components. The decisions you make today should not lock you into decisions for the future.


Hello Meta!

widget-core’s meta mechanism provides reactive abstractions on cutting edge dom proposals like the web animation api and intersection observers in addition to allowing for abstractions on other higher level concepts like dragging. This allows you to focus on writing familiar, reactive code and not on complications with the dom.

See the Tutorial
Hello, World!
Bonjour le monde
Hola Mundo
Hallo, Welt
Привет мир

A11y and i18n
Out of the Box

Dojo widgets offer full accessibility and internationalization support while providing tools and guidelines to develop applications that provide inclusive experiences for everyone.



TypeScript’s type system, interfaces, and transpiler facilitate more efficient engineering for enterprise development.

widget authoring

Easy Widget Authoring

Via CSS Modules, the virtual DOM, strong typing, good theming tools and web components, Dojo provides a powerful approach to widget authoring.


Routing & SPAs

Modern routing, history, and state management provide the foundation for robust single page application development.