Ryan Ricard

www topics worth sharing.

Ember.js: How Route Transitions Affect Application State

Below are demonstrations of how transitioning affects the application state of an Ember application. Each demonstration renders large numbers to help indicate state change in each template context. When a template’s number changes, it means the most recent transition was routed through the template’s route.

In the first example, transitioning only occurs between sub routes of the resource route ‘dogs’. Notice the numbers in the application and dogs template contexts do not change. This is because transitioning between sub routes does not reroute through their parent.

In the next example, transitioning occurs across resource routes ‘dogs’ and ‘cats’. Notice the number in the application template context does not change; while the numbers in the dogs and cats template contexts now differ with each transition.

Economically Motivated Software Quality

“There is no single development, in either technology or management techniques, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.” –Frederick P. Brooks, Jr.

Fact, building software is highly complex and very expensive. There is “no silver bullet” for how to effectively proceed through the software engineering and development process (Frederick P. Brooks). Yet, this widely agreed upon assumption is no excuse for not striving to better our software engineering practices. Just as with any other engineering discipline, software engineering will continue to mature and there will be continuous opportunities for improvement. In this post I will be making a case for developing higher quality software. I will outline some of the benefits of developing high quality software; I will describe what it means for software to be of “high quality”; and I will explain how the Scrum development methodology can be used as a framework to increase software quality.

Backbone.js/RequireJS Contact Manager Example

A while back while I was learning Backbone.js, I wanted to learn how to implement a Backbone.js application using the module loader RequireJS. At the time, I was unable to find any information on the subject. So to help me understand how a modularized Backbone.js application may be implemented, I built a small Contact Manager application using local storage.

Here is the application I built: http://code.ryanricard.com/backbone-requirejs-contactmanager-example/

Backbone.js Routes Example

Lately I have been working to become more familiar with Backbone.js (if you’re not sure what I’m talking about? go here: http://documentcloud.github.com/backbone/) Backbone is a JavaScript MVC framework that is very useful in building single page bookmarkable state-aware JavaScript applications. Below you will find an example of how easy it is to leverage Backbone ‘Routes’ to achieve a state-aware application.