前端 框架
The MVC framework for JavaScript applications. The real MVC. The Smalltalk MVC. The Gang of Four MVC.


The MVC framework for JavaScript applications. The real MVC. The Smalltalk MVC. The Gang of Four MVC.

  • A model contains domain data. When a model changes, it informs its observers.

  • A view observes a model and represents its model's current state. A view has a controller. A view can have child views.

  • A controller decides what happens when a user interacts with the controller's view.

The three core design patterns of MVC (observer, composite, and strategy) are embedded in Maria's Model, View, and Controller objects. Other patterns traditionally included in MVC implementations (e.g. factory method and template) make appearances too.



There are several different built files from which to choose:

maria.js the main release of the framework. If in doubt, use this file.

maria-min.js contains the same code as maria.js but maria-min.js has been minified to remove whitespace and code comments. This is a good file to serve in production.

maria-debug.js contains additional code that is stripped when creating maria.js. This additional code points developers to potential problems with more informative console logging. maria-debug.js is a good file to use during development.

maria-amd.js contains the same code as maria.js but it is wrapped in an AMD module definition that returns the maria object.

maria-amd-debug.js similar to maria-debug.js but for developers in the AMD world.




The eg directory contains several example applications.

Maria is one of the frameworks included in the TodoMVC project.


You can report bugs, suggest features, or join general discussion at



Browser Support

Tested working in IE6 and newer browsers by a variety of manufacturers.


None. Maria combines several independent micro libraries which are all included.

Source Code



To build the production ready files, just type make at the command line and look in the build directory for the results. The first time you run make, it will download some libraries used during the build process and install them in the lib directory: Google's Closure Compiler and JSDoc3.


To run the automated tests, open tst/runner.html in a web browser.


Thanks to James Ladd for encouraging me to start this project. Check out his Redline Smalltalk if Smalltalk on the JVM seems like a good idea to you.

Thanks to the Buster.JS development team for providing a great, automated testing tool.

Thanks to the Git and GitHub teams for making it easy to collaborate with others on code projects.


Peter Michaux


Simplified BSD License. See the included LICENSE file for details.

maria 相关推荐