Dylan Schiemann May 02, 2018, 05:00 PM

Intro As the earliest, most comprehensive JavaScript framework, the Dojo Toolkit offered up intelligent building blocks for serious web developers. For example, Dojo’s very early work on deferreds and async patterns, widgets, modules, i18n, and a11y led to the standardization of promises, fetch, web components, ES modules and other best practices and mainstays of modern web development. Dojo was the first open source JavaScript framework that treated JavaScript and the browser as a platform for building robust software applications. Its focus on pushing the limits of the open web with diligent consistency means that applications authored in 2007 with Dojo still work today! The web has come a long way, and with many Dojo solutions finding their way into the browser (success!) as well as inspiring even better tools, our team’s focus has moved beyond providing the building blocks and onto helping developers put it all together.

Dojo 2.0 Dojo 2 dedicates itself to creating an incredibly ergonomic and efficient way to build modern web apps. Leveraging ES2015+, TypeScript, and many modern and emerging standards, best practices, and quality open source dependencies, Dojo 2 focuses on interoperability preventing you from being locked into the specifics of any one framework. Dojo 2 gives you the flexibility to reap the benefits of choosing your preferred micro-libraries to create a custom framework but most notably gives you a robust set of out-of-the-box options, so you don’t need to decide everything up front before you can be productive.

Let’s hear more about what’s Out-of-the-Box Dojo 2 wants developers to be productive as quickly as possible -- like in under a minute! With an eye on creating the best out-of-the-box experience, Dojo 2 makes it easy to get started. Some of these out-of-the-box features include: Reactive, Virtual DOM-based widget system including meta providers to preserve reactivity for things like animations, focus, and resize events and an intuitive CSS.Next-based theming system

Streamlined support for Web Components including full support for importing and exporting Custom Elements for use within Dojo 2 and other frameworks

Application-level declarative routing system focused on patterns for building applications from UI widgets

A predictable, consistent state container for JavaScript applications, drawing inspiration from Redux and Flux architectures, with built-in support for common patterns, asynchronous behaviors, and undo.

CLI tooling to create optimized applications with code splitting and build time rendering provided automatically

An efficient test harness for efficiently testing your apps and widgets To be a modern framework, we want to make it easy to leverage features like web components, and emerging web standards such as Intersection Observers, Resize Observers and Web Animations while preserving an efficient, reactive architecture. Consistently aligning with modern standards is our best option for extending the longevity of applications you create.

For the enterprise With a long history of building mission-critical applications for Fortune 500 companies, Dojo 2 engineers know the pain felt by enterprise development organizations. Dedicated to solutions that promote scalability and complex application development, Dojo 2 adds to its out-of-the-box deliverables with features like accessibility and internationalization - because these should be part of the plan and not a clunky extension or costly afterthought. An efficient and intuitive framework is about doing a million things right in a consistent manner whenever possible and leveraging ES2015+, TypeScript, and other patterns allow Dojo 2 to deliver a consistently ergonomic approach.

See Dojo 2 Dojo 2 does not sacrifice performance to deliver solid ergonomics. See the RealWorld comparison to see how Dojo 2 measures up! View the Dojo 2 reference examples including RealWorld, HNPWA, and ToDoMVC, and check out the source code. To learn more about using Dojo 2, start with the Dojo 2 tutorial series.