Mithril
Цитата:
|
A client-side MVC framework - a tool to organize code in a way that is easy to think about and to maintain
|
- реализует паттерн MVC, императивный
- очень простой фреймворк
- размер mithril-0.2.0.min.js ~ 18kb
- использует виртуальный дум
- не из коробки, но поддерживает jsx-like syntax
- хвастается своей высокой производительностью в тестах
- есть роутинг из коробки
- апи помещается на ладони
- поддерживает концепцию компонент
Пример кода
//model
var Page = {
list: function() {
return m.request({method: "GET", url: "pages.json"});
}
};
var Demo = {
//controller
controller: function() {
var pages = Page.list();
return {
pages: pages,
rotate: function() {
pages().push(pages().shift());
}
}
},
//view
view: function(ctrl) {
return m("div", [
ctrl.pages().map(function(page) {
return m("a", {href: page.url}, page.title);
}),
m("button", {onclick: ctrl.rotate}, "Rotate links")
]);
};
};
//initialize
m.mount(document.getElementById("example"), Demo);