Skip to content

Other implementations

arendjr edited this page Feb 23, 2013 · 29 revisions

Due to the current number of MVC/MVVM/MV* frameworks in circulation at the moment, it's not always possible to include each one in TodoMVC, but we would still like to show some of them off here.

MV*

ClojureScript One

This submission [0] uses the ClojureScript One MVC framework.

ClojureScript One [1] is a "IDE in the browser" to develop/test/deploy web apps in Clojure/ClojureScript View part is done with Enfocus/Enlive [2]. A demo is in line [3]

Broke.js

The Broke Javascript Framework is a porting of the fantastic Django Web Framework on Javascript. It summarizes all the best concepts present in Django like url resolving, decoupling, DRY principle, project-specific settings and a pretty simple template engine. It could be put in the big Javascript MVC frameworks group outside there, but, as Django is, this is more a MTV (Model-Template-View) framework.

Non-MV*

ClojureScript + C2

Clojure is a lisp-dialect on the JVM, and ClojureScript is Clojure compiled to JavaScript. This particular submission uses the C2 Clojure library, which is (roughly) what would happen if Knockout.js and D3.js had a baby and raised it on a diet of 100% organic, free-range, immutable data structures.

abaaso

abaaso is a modern, lightweight Enterprise class RESTful JavaScript application framework. This version provides an alternative way to do the application with a focus on events & OOP, which create a reactive GUI. Sorting is implemented on the DataList with an SQL like syntax.

Laces.js

Laces.js provides you with a Model, but nothing more. It provides you with the laces to tie your model to whatever View or Controller you prefer. It consists of about 700 lines of JavaScript code, including whitespace and comments. Optionally, you can add one or more add-ons for extra features.

Combinations

Backbone with sorting

Backbone example with sorting of todos using jQuery UI.

Backbone.Marionette

Backbone.Marionette is a composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. It is a collection of common design and implementation patterns found in the applications that I (Derick Bailey) have been building with Backbone, and includes various pieces inspired by composite application architectures, such as Microsoft's "Prism" framework.

ExtJS using widgets

AngularJS + Persistence.js

Ember.js + Persistence.js

Meteor in CoffeeScript

Backbone.js + LMD

LMD: Lazy Module Declaration - powerful yet simple loader/builder. LMD is not yet another RequireJS - it is different.

Backbone.js + Socket.IO + Express.js + MongoDB

Realtime implementation by Ishuah Kariuki.

LibJS

LibJS - is a project with bunch of libraries:

  • MaskJS = brings syntax similar to zen coding and the fastest template engine.
  • CompoJS = brings OOP(Component Oriented Markup) to mask templates
  • IncludeJS = resource loader/builder (script, views, styles, images ... @also from external resources)
  • ... others

Harmony + jQuery BBQ