Posted in November, 2008

Effective use of JsonRestStore: Referencing, Lazy Loading, and more November 21st, 2008 at 2:27 pm by Kris Zyp

The JsonRestStore is a Dojo Data store that provides a JSON-based RESTful interface to servers and implements the Dojo Data read, write, notification, and identity APIs.

One of the core concepts of a REST architecture is hyperlinking, and this is available in the JsonRestStore through it’s referencing support. This concept enables powerful features like lazy loading and cross-store referencing that greatly improve the effectiveness and usability of the JsonRestStore. All of the features described in this article are available with Dojo Toolkit version 1.2 and later.

(more…)

Affordable Dojo Workshop Open to All! November 19th, 2008 at 4:58 pm by Carrie Sackett

Is it time to bring your team up to speed with Ajax, Open Source, and the real technologies of the web? Or perhaps you want to increase your marketability in a tough economy. Or maybe you’re looking to allocate a small portion of your company budget to continuing education. Whatever the reason, SitePen’s Getting Started With Dojo workshop may be just what you’re looking for!

We’re planning to hold an open Dojo workshop in January. Here’s the tentative information:

Course: Getting Started with Dojo!
Date: January 26-29, 2009
Time: 9:00 AM - 1:00 PM PT daily
Location: Online
Price: $499 (USD)
Skill Level: Background in Programming

Course Description
Ajax and Web 2.0 development are easy to learn but take significant effort to master. SitePen’s workshop accelerates the process by teaching you the essential knowledge and best practices needed to quickly become more productive with Dojo, the most widely used Ajax toolkit in enterprise application development.

From the outset, you will receive a plethora of information starting with an introduction to JavaScript and Dojo fundamentals, taking novice JavaScript developers and exposing them to the concepts and practices used by expert web developers throughout the technical community.

Next, we tackle Dojo in more depth, covering a wide range of popular and advanced Dojo techniques for building great web applications. We’ll focus in detail on techniques that are core to all developers (Ajax, Events, DOM, Widgets, Performance) and immerse you in the latest and greatest of web application development.

Though 16 hours isn’t enough time to cover every feature in the Dojo Toolkit, we will show you all of the great extras that Dojo has to offer. At the end of the course, armed with your knowledge of the core Dojo features and all of the extras, you’ll know how to best leverage Dojo on your project.

Throughout the workshop you will be guided through best practices and approaches for using Dojo, offering insight gained through years of building web apps and creating the Dojo Toolkit. Our activities revolve around Sensei, a beautiful RSS reader application created by SitePen exclusively for our training. Sensei offers students the chance to hack on a well-designed, feature-rich application to help them learn much more than they could with non-linear examples.

By the end of this comprehensive workshop, you will have experienced and learned:

• How to set up a Dojo application and use the Dojo Toolkit
• The Core Dojo APIs and proper selection of APIs essential to development goals
• Performance optimization and efficient debugging techniques
• Secrets of expert developers in pragmatic and effective web development

View Workshop Itinerary

Bonus! Immediately following the workshop, you will receive a complimentary 1-week pass to Ask the Experts by SitePen Support to insure that none of your questions go unanswered!

If you’re interested, please sign up now!

When to Use Persevere: a Comparison with CouchDB and Others November 18th, 2008 at 10:24 am by Kris Zyp

Persevere and CouchDB are both new JSON-based storage systems, and have been receiving increasing focus. It may be informative to those interested in these new technologies to discuss the differences between these new database systems and what types of applications each is best suited for. While Persevere and CouchDB share an extremely similar JSON HTTP/REST interface and object structured data storage, there are important distinctions. Each of these different tools has a different target audience, and despite my obvious bias being the developer of Persevere, I hope to give at least some semi-objective differentiations between these tools.

(more…)

Evolving Schemas with Persevere November 17th, 2008 at 7:27 am by Kris Zyp

Traditional relational databases have strict data schemas; all records in a table must be of the same type. With new non-relational database technologies, some databases feature schema-free tables, each record is free to have any structure desired. This fundamentally different approach to the structure of persisted data is one of the core differences between relational and non-relational databases. However, is strict-schema or schema-free always the best approach for all the components in an application, throughout the entire life cycle of the application? Persevere provides a more flexible approach, allowing tables to start schema-free, and type constraints can be gradually added as desired or needed, with the freedom to partially constrain, defining types for some properties and not for others.

(more…)

Announcing Dojo Extensions for Adobe AIR November 12th, 2008 at 8:58 am by Dylan Schiemann

I’m excited to announce a new BSD-licensed project created by SitePen and co-sponsored by Adobe: Dojo Extensions for Adobe AIR.

This new effort creates a new namespace, dair, making it even easier to create rich desktop apps, such as the Dojo Toolbox, using the Dojo Toolkit and Adobe AIR.

The extensions offer convenience methods for your application, wrapping many common AIR Patterns in Dojo-like constructors and providing an entire framework from which to grow. Built-in persistent storage, granular window control from creation to destruction, Window FX, Audio/Video helpers, and extra console debugging facilities are just the beginning.

This work was greatly inspired by our creation of the Dojo Toolbox. It simplifies Ajax application development on the AIR platform for not only Dojo users, but also anyone creating an Ajax application inside AIR. Thanks again to Adobe for helping make this possible.

I’ll be speaking in more detail about this on the afternoon of Monday, November 17th at Adobe MAX in San Francisco.

Visit the Dojo Extensions for Adobe AIR project page for full details, including a screencast, downloads, examples, documentation, and of course the source code and information on getting involved. Of course, if you need help creating a great AIR-based desktop app, contact us for more information on how we can assist you.

Dojo and Firebug Tricks for Development November 10th, 2008 at 12:01 am by Tom Trenka

As an Ajax developer, I’m always looking for easy ways of helping my development process—things to make development faster, easier ways of checking things, etc. Today I’ll share two quick and easy tricks I use all the time when developing web applications using the Dojo Toolkit.

(more…)

Dijit Diamonds: Focus November 6th, 2008 at 10:59 pm by Mike Wilcox

Lately, a lot has been made of the small and powerful Dojo Base, as a stand-alone JavaScript library that handles the basic needs of most Ajax developers. But recently I’ve been working on a difficult project, and was saved by some brilliant work done in Dijit.

(more…)

The Interactive Prototyping Dilemma - A Review of Software Options, Part II: Balsamiq Mockups November 4th, 2008 at 3:52 pm by Damon Dimmick

Today we’re continuing our series on finding the best tool for creating wireframes, mockups, and designing interaction in a collaborative development environment. Since we’re primarily interested in solutions that fit the kind of fast and lean development environment we have at SitePen, we’re skipping some of the established solutions in favor of more down-to-earth software tools that are suitable for smaller teams and organizations.

Last time we reviewed OmniGraffle from the OmniGroup, which is SitePen’s swiss-army knife, the go-to application that we use for most of our initial wireframing and interaction design.

(more…)

Using the Persistent Object Model in Persevere November 2nd, 2008 at 9:09 pm by Kris Zyp

Persevere uses a storage structure that closely follows the semantics of JavaScript’s class system. Persevere stores objects in tables that each have a corresponding class/constructor and schema of properties. Every object in a Persevere table is an instance of the table’s class. This provides a very natural clean integration between Persevere’s persisted data and JavaScript environment, and an intuitive class-based object model for building applications. We can see this relationship by creating some classes and interacting with it at in the Persevere Server-Side JavaScript (SSJS) environment.

(more…)