Dojo 202: Architecture

Two day workshop

About this workshop

In this two-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 13 in-class 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 how to perform automated unit and functional testing with Intern. You will also learn advanced debugging strategies that will help you improve your daily productivity


Newly updated testing section now includes coverage of the Intern!

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

  • Building Packages. Recognize the importance of builds, and learn how to create one using the Dojo Toolkit.
  • AMD. Through a detailed survey of plugins, review of require / define APIs in detail and an explanation of require / module / exports, you will become very 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.
  • More Language Utilities. Additional information about Dojo’s language utilities.
  • 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 and dstore APIs and discuss more advanced uses such as real-time updates and hierarchical data.
  • 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, including tips on how to achieve the smallest possible layers. Learn how to use has-features to create build profiles targeting specific environments.
  • Going Native. Understand the basics of creating a native mobile application using Dojo and PhoneGap/Cordova.
  • Debugging. Discover various options, loader features, and practices which can assist with debugging.
  • Testing in Depth. Learn effective ways of creating Unit and functional tests, full test suites, and how to run tests in a variety of ways using Intern.
  • 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.

Other available workshops

Why a private workshop

  • We come to you!

    No travel time and a comfortable setting means your team stays maximally productive.

  • Saves you money!

    No travel costs and a reduced per-head rate make private workshops highly cost-effective.

  • Ask your questions in private

    Talk about your product without spilling any secrets with our standard non-disclosure.

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 either taken our Dojo 101: Fundamentals workshop or our previous jUMP into Dojo workshop. If you have not, you should instead feel comfortable with all the materials listed in the Dojo 101: Fundamentals agenda 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.

Where's the venue?

We confirm the venue, and the workshop itself, 30 days in advance. We will send this information to all registered attendees. We are open to suggestions, requests to host a public workshop at your location, etc. Sadly, if we do not have enough registered attendees 30 days in advance, we may cancel a workshop. In this case, you may either apply your payment to another workshop location, or receive a full refund.

Interested in scheduling a private workshop?

Contact sales