TodoMVC

A common learning application for popular JavaScript MVC frameworks

Download Version 0.2   Follow On GitHub

Screenshots

A preview of the Todo apps included in the download:

  • SproutCore
  • Backbone
  • YUILibrary

Introduction

Developers these days are spoiled with choice when it comes to selecting an MVC framework for structuring and organizing JavaScript web apps. Backbone, Spine, SproutCore, JavaScriptMVC..the list of new and stable solutions goes on and on, but just how do you decide on which to use in a sea of so many options?.

To help solve this problem, I created TodoMVC - a project which offers the same Todo application implemented using MVC concepts in most of the popular JavaScript MVC frameworks of today. Solutions look and feel the same, have a common simple feature-set and make it easy for you to compare the syntax and structure of different frameworks so you can select the one you feel the most comfortable with.


Getting Started

You can get setup with TodoMVC in just a few short steps:

  1. Download the latest release.
  2. Run TodoMVC on a local server (using MAMP, WAMP or another suitable setup). You can then select an app to run using the 'Live demos' link to the left.
  3. Browse through the Todo apps, examine their source and discover which framework you might feel the most comfortable working with.


Selecting A Framework

Once you've downloaded the latest release and played around with the apps, you'll want to decide on a specific framework to use.

Study the syntax required for defining models, views, controllers and classes (if supported) in the frameworks you're interested in and try your hand at editing the code to see how it feels using it first-hand.

Some developers have also found that creating derivative apps that take the basic list-editing concept further greatly helped them in their selection process, so you may find a similar exercise helpful.


Getting Involved

Is there a bug we haven't fixed or an MVC framework you feel would benefit from being included in TodoMVC? If so, feel free to submit a pull request and I'll be happy to review it for inclusion. A boilerplate for Todo apps will probably land in TodoMVC 0.3, but until then if you have any stylistic or app-specific questions you'd like to ask, feel free to ask on Twitter.

Submit Pull Request»