dojox.app: A single-Page Application Framework

dojox.app is a small application framework providing a set of classes to manage the lifecycle and behavior of a single page application hosted on mobile or desktop platforms. The main class, Application, is responsible for managing the lifecycle of the application and is designed to be easily modified with additional custom behaviors. An Application instance contains Scene objects and View objects which provide the visible user interface. The available views, scenes, module dependencies, and other information about the application are all passed into the Application class using a JSON configuration file (by convention).

Continue reading

put-selector: CSS Selector-Based DOM Element Creation and Manipulation

This entry is part 4 of 4 in the series Dojo Foundation Packages

The put-selector package provides a small yet powerful function for creating and manipulating the DOM through brief, familiar CSS selector syntax. CSS selectors are well understood by most front-end developers, used both for CSS and element selection through query engines. This function leverages this syntax for creating and updating elements quickly and efficiently. For example, to use the provided put() function to create a div with a class name of “foo” and append it to a parent element, we could write:

put(parent, "div.foo");

We can also update existing elements, here we add the class “updated” to an element:

put(element, ".updated");

Continue reading

ComposeJS: Robust, Lightweight Object Composition

This entry is part 3 of 4 in the series Dojo Foundation Packages

ComposeJS is a JavaScript package/module for object-oriented programming available in the Dojo Foundation package repository. JavaScript itself is already a highly object-oriented programming language, and the prototype-based inheritance system is very powerful. Rather than simply porting a “class” system from another language, the core philosophy of ComposeJS is to leverage JavaScript paradigms and enhance it with clean, terse syntax and modern composition and resolution concepts for simple, high-performance, and robust object constructors. ComposeJS uses concepts from class inheritance, multiple inheritance, mixins, traits, and aspect-oriented programming to compose functionality in the most efficient manner possible.

Continue reading

Dojo Tutorial: Dijit Themes, Buttons, Textboxes, and Selects

DojoConf 2011 is under way, and we continue our Dojo enlightenment with a trifecta of tutorials!

Dijit Themes, Buttons, and Textboxes

In this tutorial, we will show you the basics of creating and using simple form elements using Dijit—including how to set up a Dijit theme for your web application.

Check out the tutorial.

Getting Selective with Dijit

In this tutorial, we will explore the widgets in the dijit.form namespace which enhance the user experience of HTML select elements: Select, FilteringSelect, and ComboBox.

Check out the tutorial.

Advanced Dijit Selects using Stores

In this tutorial, we will further explore Dijit’s select widgets—particularly how to create instances programmatically, populating their drop-down lists from dojo.data stores.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Configuring Dojo with dojoConfig

On the eve of DojoConf 2011, let the tutorials continue! Today’s topic is dojoConfig. Let’s dig in, shall we?

Configuring Dojo with dojoConfig

The dojoConfig object (formerly djConfig) allows you to set options and default behavior for various aspects of the toolkit. In this tutorial we’ll explore what’s possible and how you can put dojoConfig to use in your code.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Dijit Checkboxes

Just 2 days left until DojoConf 2011! If you’re in DC tonight (9/14) join us for a special dojo.beer. Now, on to today’s tutorial…

Dijit Checkboxes

Dijit’s collection of form widgets provides a convenient and flexible range of options for creating rich forms. In this tutorial we will look at the options available for checkbox-style interaction.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Using dojo.behavior

Just 3 days left until DojoConf 2011 and our series of tutorials leading up to it is almost complete! Here’s today’s tutorial…

Using dojo.behavior

It is frequently useful to isolate a page’s “behavior” from its style and its content. The collection of event handlers that comprises that behavior layer can be succinctly defined and applied with dojo.behavior.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Creating Dojo Stores

DojoConf 2011 is THIS WEEK! Let’s roll into the conference with our latest tutorial…

Creating Dojo Stores

In this tutorial, you’ll learn the basic APIs all dojo.stores follow and how to create your own store—including how to handle query results.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Real-time Stores

Closing in on DojoConf 2011 so let’s geek out on some more Dojo with another tutorial!

Real-time Stores

Web applications based on real-time stores give users a level of immediacy not possible with traditional web applications, allowing them to see data as it changes. The Dojo object store interface, which is the data model foundation of Dojo applications, was designed to support real-time data updates. In this tutorial we will see how to leverage the notification system to interact with real-time widgets.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.

Dojo Tutorial: Working with the Grid

Just about a week away from DojoConf 2011 and we are totally stoked! So much so we’re releasing yet another Dojo Tutorial….

Working with the Grid

In this tutorial, you’ll learn about the Grid’s event system, how to select rows, and how to set up your grid for editing.

Check out the tutorial.

Want to see a specific Tutorial? Want to Learn More?

Is there something you’d like to learn how to do with Dojo? Always wanted to know how something in Dojo works? Leave us a message in the blog comments and we’ll see about getting a tutorial created for you. Or sign-up for an upcoming SitePen Dojo Workshop to get a fully immersive hands-on experience with Dojo.