Backbone.js 2 votes

Give your JS App some Backbone with Models, Views, Collections, and Events

Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

Author: Jeremy Ashkenas, and DocumentCloud
Repository: https://github.com/documentcloud/backbone/
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin: United States

Knockout.js 0 votes

Simplify dynamic JavaScript UIs by applying the model-view-view Model (MVVM) pattern

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.

Headline features:

  1. Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes
  2. Declarative bindings - a simple and obvious way to connect parts of your UI to your data model
  3. Flexible and sophisticated templating - construct a complex dynamic UI easily using arbitrarily nested templates
  4. Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code

Additional benefits:

  1. Pure JavaScript library - works with any server or client-side technology
  2. Can be added on top of your existing web application without requiring major architectural changes
  3. Compact - around 25kb before gzipping
  4. Works on any mainstream browser (IE 6+, Firefox 2+, Chrome, Safari, others)
  5. Comprehensive suite of specifications (developed BDD-style) means its correct functioning can easily be verified on new browsers and platforms

Developers who’ve used Silverlight or WPF may recognize KO as an example of the MVVM pattern; developers more familiar with Ruby on Rails or other MVC technologies may see it as a real-time form of MVC with declarative syntax. In another sense, you can think of KO as a general way to make UIs for editing JSON data… whatever works for you :)

Author: Steven Sanderson
Repository: https://github.com/SteveSanderson/knockout
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin:

Batman.js 1 vote

Build web apps beautifully and quickly

Batman.js is a framework for building rich web applications with CoffeeScript or JavaScript. App code is concise and declarative, thanks to a powerful system of view bindings and observable properties. The API is designed with developer and designer happiness as its first priority.

Author: Shopify
Repository: https://github.com/Shopify/batman
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin:

Sammy.js 1 vote

A small web-framework with class

Sammy.js is a tiny JavaScript framework developed to ease the pain and provide a basic structure for developing JavaScript applications.

Sammy tries to achieve this by providing a small ‘core’ framework and an ever-growing list of plugins for specific functionality. The core includes a simple API for defining applications which are made up primarily of routes and events. By driving application development around a small and specific API, Sammy attempts to keep your code organized while still allowing a lot of breathing room to define your own style and structure.

Sammy is not a solution for every JavaScript application or problematic situation. It is a single and rather opinionated method for building applications that tries to lend itself to best practices and maintainable development. It does this without the overhead of a large base framework or a single method or system for building models or views. If you want something more fully featured I highly suggest checking out SproutCore or Cappucino.

Why

In the modern age of super-fast browsers and user expectations about the responsiveness and perceived speed of web applications – single page AJAX applications have become the rage (GMail, etc.) Furthermore, instead of just fetching full HTML and rendering it asynchronously, fetching raw data (JSON) and rendering on the client side has not only become possible – it’s actually very common.

Sammy.js was originally built as an experiment in designing APIs in JavaScript and was heavily inspired by Sinatra.rb. As Sammy evolved it aimed to solve the common problems associated with writing this new style of application. It became clear early on that Sammy was well suited for building simple applications on top of RESTful JSON data stores (See CouchDB).

Sammy continues to be fueled by the community and real-world production applications. It’s small enough that it can stay out of your way, and soon it will integrate with the DOM/AJAX Framework of your choice.

Spine.js 0 votes

Build Awesome JavaScript MVC Applications

Spine is a lightweight framework for building JavaScript web applications. Spine gives you an MVC structure and then gets out of your way, allowing you to concentrate on the fun stuff, building awesome web applications.

Spine is opinionated in its approach to web application architecture and design. Spine's architecture complements patterns such as de-coupled components and CommonJS modules, markedly helping with code quality and maintainability.

The library is written in CoffeeScript, but doesn't necessarily require CoffeeScript to develop applications. You can use CoffeeScript or JavaScript, whichever language you're most familiar with.

Spine is tiny, the library comes in at around 500 lines of CoffeeScript, that's about 2K minified & compressed. Being lightweight and simple is fundamental to Spine.

Author: Alex MacCaw
Repository: https://github.com/maccman/spine
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin: United Kingdom

JavaScriptMVC 0 votes

Let JavaScriptMVC do the heavy lifting

JavaScriptMVC is an open-source framework containing the best ideas in jQuery development.

It guides you to successfully completed projects by promoting best practices, maintainability, and convention over configuration.

Author: Jupiter JavaScript Consulting
Repository: https://github.com/jupiterjs/javascriptmvc
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin: United States

YUI Library 0 votes

The YUI Library is a set of utilities and controls, written with JavaScript and CSS, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. YUI is available under a BSD license and is free for all uses.

YUI is proven, scalable, fast, and robust. Built by frontend engineers at Yahoo! and contributors from around the world, it's an industrial-strength JavaScript library for professionals who love JavaScript.

Author: Yahoo Inc.
Repository: https://github.com/yui/yui3
Revision Control: Git
Licence: BSD Licence
Country of Origin: United States

Broke.js 1 vote

A porting to Javascript of the Django Web Framework

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. Yet another Javascript MVC framework.

Author: Davide Callegari
Repository: https://github.com/brokenseal/broke
Revision Control: Git
Licence: BSD Licence
Country of Origin: Italy

AFrameJS 0 votes

Javascript MVC Library

AFrameJS is an MVC application development library, not a DOM manipulation library! AFrameJS leaves the DOM manipulation to jQuery, MooTools, or Prototype, instead providing the parts necessary to create MVC applications.

MVC is a programming paradigm that has been common in other languages for many years. In MVC, Models represent data and its operations. Views are the presentation of the data contained in a model. Controllers are the glue that bind the two together. MVC separates these three concepts, there is no mixing as is commonly found in web apps today. The benefits of MVC are numerous, but the main goal is to reduce the mental load for the developer. Modules focus on one goal at a time. This allows for smaller modules, easier testing, a higher chance of code re-use.

As web development matures, MVC based applications are becoming increasingly common. AFrameJS is being developed to fill the need of having a true MVC framework to develop applications with. Backbone and Knockout-JS are two similar libraries that address this need, now AFrameJS does too.

Author: Shane Tomlinson
Repository: https://github.com/stomlinson/AFrame-JS
Revision Control: Git
Licence: Creative Commons Attribution 3.0 Licence
Country of Origin: United Kingdom

Sproutcore 0 votes

SproutCore is an open-source framework for building blazingly fast, innovative user experiences on the web.

SproutCore applications move business logic to the browser so they can respond to your users' taps and clicks immediately, avoiding an agonizing roundtrip across often intermittent network connections.

Jamal 0 votes

Javascript MVC Library based on jQuery

Jamal is a set of conventions and small javascript libraries to archieve a complete separation of html, css and javascript in your web application. Jamal is built on jQuery and inspired by MVC frameworks like Ruby on Rails, CakePHP and its derivatives.

So Jamal tries not to stand in your way and helps you to organize your javascript code. Javascript code is likely held in functions and used to end up in spaghetti.

Eyeballs 0 votes

A lightweight MVC framework for building fast, tidy javascript web apps

eyeballs.js is a slim javascript library designed to sit on top of a javascript framework, such as jQuery or Prototype.

The goals are:

  1. Organisation of client-side web app code using the Model-View-Controller pattern.
  2. Simple model implementation for handling non event-related concerns.
  3. Simple routing layer for hash-tag change based navigation, preserving the back-button
  4. Rapid development of javascript apps using strong conventions.
  5. Easing the pain of building fast, responsive interfaces.
  6. Exploring the possibilities of offline web apps.

The implementation is owes a lot to Ruby on Rails, but also attempts to be idiomatic javascript.

Choco 0 votes

A delicious Javascript web framework made in Belgium!

Choco brings the MVC to the client side!

You like Javascript and you want to develop rich internet applications? You also know that HTML & CSS are powerful? Cappuccino & Sproutcore don’t feel like web development anymore?

Thanks to Choco, you’ll be able to easily develop maintainable web applications. A Choco app consists of only one HTML page, all the interactions are managed by Javascript. Your UI only uses HTML and CSS!

Author: Anthony Heukmes
Repository: https://github.com/ahe/choco
Revision Control: Git
Licence: MIT/X11 Licence
Country of Origin: Belgium

Agility.js 0 votes

Ship more. Code and maintain less.

Agility.js is an MVC library for Javascript that lets you write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries. The goal is to enable developers to write web apps at least as quickly as with jQuery, while simplifying long-term maintainability through MVC objects.

Composer.js 0 votes

An MVC framework on top of MooTools that provides the functionality of backbone and spine

Composer.js is an MVC framework for MooTools >= 1.3. While there are some very
good MVC frameworks out there (backbone.js and Spine, which composer.js pulls a
lot of functionality from), the options for MooTools are lacking. We needed
something as good as the jQuery MVC frameworks but for MooTools.

The framework is now in beta, and is being used to power two projects we're
actively working on. The more we use it, the more bugs we fix and the more we
find what belongs and what doesn't. In other words, it works great, but it's
still growing and changing slowly.

Claypool 0 votes

Claypool is a small, fast, railable Javascript Application Framework , built on jQuery that provides all the usual important patterns for large, long-lived client-side apps, server-side apps, or something strangely, beautifully in the middle.

Maverick 0 votes

JavaScript MVC framework

Maverick is a lightweight open-source framework that enables the MVC pattern in JavaScript in a smart way.

Maverick lets you

  1. separate application logic (controller) from views and data gathering (models)
  2. create views and instantiate them with different context
  3. route URIs to controllers using regular expressions
  4. use centralized event handling
  5. change URI on browser address bar without refreshing the page (fallback to updating the hash)
  6. execute multiple model calls at a time and provide a single callback function
  7. organize file structure the way you want (so that later you can combine all views, models and controllers into a single .js file in production for better page speed) and much more.