Command Palette

Search for a command to run...

Page Inspect

https://dojo.io/
Internal Links
16
External Links
24
Images
25
Headings
17

Page Content

Title:Dojo
Description:Dojo is a modern TypeScript framework for building scalable enterprise web applications
HTML Size:49 KB
Markdown Size:3 KB
Fetched At:November 17, 2025

Page Structure

h1A Progressive Framework for Modern Web Apps
h3Productive
h3Adaptable
h3Inclusive
h2Get Going Quickly
h1A Complete Framework
h3Widgets
h3Routing
h3State Management
h3Centering Modern Standards
h3Dynamic Polyfills
h3Compile to Web Components
h1Leverage the Platform
h1Build for Everyone
h3Internationalization
h3Accessibilility
h3Lightweight by Default

Markdown Content

Dojo

Menu

- Blog
- Learn
- Playground
- Roadmap
- Widgets

# A Progressive Framework for Modern Web Apps
Build with Dojo

### Productive

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

### Adaptable

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

### Inclusive

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/>);

r.mount();

✔

Success!

# 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.

© 2023 Open JS Foundation

docs

OverviewCreating WidgetsMiddlewareBuildingI18nStylingStoresResourcesRoutingTestingCustom Elements

community

Code of ConductGitHubDiscordTwitterDiscourseExamples

repositories

frameworkwidgetsthemesinteropclicli-create-appcli-build-appcli-build-widgetcli-create-themecli-build-themecli-upgrade-appcli-test-internwebpack-contribsite

versions

Latestv7.0v6.0v5.0

languages

EnglishSimplified Chinese (简体中文)