Project Description

jmvc is a javascript library to support the model view controller design pattern for building modular web applications.


The goals for this project are as follows:
  • To provide a library to help build Single Page web applications using a modular approach and allowing the modules to be dynamically loaded when required.
  • Allow for a separation of concerns (loose coupling) using the MVC design pattern.
    • The Models (data objects) should have no logic related to how they are rendered
  • The library should provide support for browser caching but allow this to be modified when required.
    • tend towards using browser caching of views and controllers
    • tend towards not using browser caching for models (data)
  • Provide extensibility points and guidelines for module development. The idea is that developers could create and publish reusable modules (e.g. menus, grids etc..) but allow users of the module to change the components (e.g. templates, and routing urls for the module) when desired.
  • Follow the convention over configuration design principle.


jmvc currently depends on the following javascript libraries:
  • jQuery
  • underscore.js

Last edited Jun 26, 2014 at 9:23 PM by dpembroke, version 14