Mithril نام یک فریم ورک جاوا اسکرپیت بر پایه ی معماری سه لایه MVC است که برای طراحی اپلیکیشن های سمت کاربر مورد استفاده قرار می گیرد.
یکی از برگ برنده های فریم ورک Mithril حجم بسیار پایین آن است -چیزیی در حدود ۱۲ کیلوبایت- که آن را به گزینه ی بسیار مناسبی برای توسعه دهندگانی که سرعت برایشان مهم است مبدل می سازد. علاوه بر این، فریم ورک میتریل از API بسیار کوچکی تشکیل شده که همین مسأله یادگیری آن را سرعت می بخشد.
در صورتی که بخواهیم این فریم ورک را با سایر رقبایش همچون جی کوئری، بکبون، آنگولار و ریکت مقایسه کنیم -به گفته ی سایت این فریم ورک- Mithril سریعترین نتایج را در رابـ ـطه با لود کردن و رندر کردن به خود اختصاص داده است و این در حالی است که جی کوئری با اختلاف نسبتاً زیادی، پس از این فریم ورک و در جایگاه دوم قرار گرفته است. آنچه در ادامه مشاهده می کنید، نمونه کدی از این فریم ورک است:
//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);
در ارتباط با مسأله ی امنیت هم بایستی گفت که تمپلیت های این فریم ورک به صورت پیشفرض ایمن شدهاند و همین ایمنی میتواند خیال توسعه دهندگان را راحت سازد که به صورت اتفاقی مشکل امنیتی ایجاد نکنند.
یکی از برگ برنده های فریم ورک Mithril حجم بسیار پایین آن است -چیزیی در حدود ۱۲ کیلوبایت- که آن را به گزینه ی بسیار مناسبی برای توسعه دهندگانی که سرعت برایشان مهم است مبدل می سازد. علاوه بر این، فریم ورک میتریل از API بسیار کوچکی تشکیل شده که همین مسأله یادگیری آن را سرعت می بخشد.
در صورتی که بخواهیم این فریم ورک را با سایر رقبایش همچون جی کوئری، بکبون، آنگولار و ریکت مقایسه کنیم -به گفته ی سایت این فریم ورک- Mithril سریعترین نتایج را در رابـ ـطه با لود کردن و رندر کردن به خود اختصاص داده است و این در حالی است که جی کوئری با اختلاف نسبتاً زیادی، پس از این فریم ورک و در جایگاه دوم قرار گرفته است. آنچه در ادامه مشاهده می کنید، نمونه کدی از این فریم ورک است:
//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);
در ارتباط با مسأله ی امنیت هم بایستی گفت که تمپلیت های این فریم ورک به صورت پیشفرض ایمن شدهاند و همین ایمنی میتواند خیال توسعه دهندگان را راحت سازد که به صورت اتفاقی مشکل امنیتی ایجاد نکنند.