Dojo (original) (raw)

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(() => );

r.mount();

A Complete Framework

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

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

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

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

For older browsers Dojo will dynamically load Polyfills for users, just shipping them the things they need.

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

Leverage the Platform

Build for Everyone

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

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

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.