Dojo Architecture: The Essentials

| 8:00am - 12:00pm PT
This workshop is…
Sold out
Take this workshop in another city

About this workshop

In this four-day workshop, we’ll navigate through the challenges faced when trying to create fast and maintainable Web applications. Our hands-on approach mixes lecture from experienced Dojo committers, a library of reference material, live code examples, and activities to apply what you learn as we go.

By the end of this workshop, you will know how and when to apply certain architectural patterns, how to optimize for performance without sacrificing maintainability, and advanced debugging strategies that will help you improve your daily productivity.


We’ll discuss the following Dojo topics in four intense days of learning:

  • Building Packages. Learn the importance of builds and how to create one using the Dojo Toolkit.
  • AMD. Through a survey of plugins, review of require / define APIs and an explanation of require / module / exports, you will become comfortable with the AMD format.
  • App Structure. Outline best practices for establishing a solid baseline for building and structuring your applications on desktop and mobile platforms.
  • Router. Discover how to easily manipulate and react to hash changes in a Web application using the new dojo/router module.
  • Advanced Ajax. Review the standard dojo/request API, discuss modern advancements such as XHR2, and learn about registering custom content handlers and providers with dojo/request.
  • I/O Transport Options. Learn about IO transports, and alternatives for real-time and cross-domain requests such as WebSockets, FormData, and CORS, and when to use them.
  • Using Stores. Review the dojo/store API as well as the wrappers provided out of the box, and discuss more advanced uses.
  • Creating Stores. Learn about store implementation basics and best practices, and become comfortable creating a custom store implementation.
  • Scaling Large Data Sets. Understand considerations and practices to take into account when dealing with large sets of data, such as request/response size and caching.
  • Advanced Build Options and Built Target Optimizations. Become more familiar with the various options provided by the Dojo build system.
  • Debugging. Discover various options, loader features, and practices which can assist with debugging.
  • Best Practices. Summary of Dojo application architecture best practices.

Who will benefit from this workshop?

Developers who already know how to use Dojo but want to acquire advanced strategies and best practices to improve the overall performance and architecture of Dojo-based applications. Developers who have used earlier versions of Dojo and Dijit and want to learn the latest best practices will also find this workshop beneficial.

What our students say

In a @sitepen Dojo class this week drinking from the firehose; these guys are awesome. Jeff A.

An amazing way to learn JavaScript

Learn from committers

Our instructors aren’t simply professional speakers, they’re also real Dojo developers that can answer tough questions and provide you with in-depth knowledge that only comes from experience writing actual applications.

Code as you learn

Live code throughout each section provides insight into what actually happens when APIs are used, and activities at the end of each topic solidify your knowledge by letting you go hands-on with code.

Ask your questions

When you attend a SitePen workshop, you’ll be able to ask questions directly to the instructor or get help through our online chat during the training.

Keep the resource kit

After taking one of our workshops, we want to make sure you’re set up to succeed. That’s why you get to keep a copy of the slides, code samples, and activities from your training as reference for when you begin applying your new knowledge to real projects.

Prerequisites & FAQs

What you should know already

Before taking this workshop, we recommend that all attendees have taken our Dojo 201: Interfaces or Dojo WIdgets: The Essentials workshops. If you have not, you should instead feel comfortable with all the materials listed in the Dojo 101: Fundamentals and Dojo 201: Interfaces agendas through your experience working with Dojo.

Technical preparations

  • The latest Firefox or Google Chrome on your laptop
  • Your IDE or code editor of choice—whatever you're comfortable with, but something more than just Notepad, WordPad or TextEdit
  • The workshop materials, installed as per the instructions received after registration (7 days prior the workshop)

Who's the instructor?

We have a talented group of Dojo committers that teach our workshops. The actual instructor is determined based on our schedule of public and private workshops. Think of our planning process as something like air traffic control for a relatively small airport.

We’re all full for this one but we still want to see you!

Take this workshop in another city