Mithril: فریمورک جاوااسکریپتی برای طراحی رابط کاربری

Mithril: فریمورک جاوااسکریپتی برای طراحی رابط کاربری

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);

در ارتباط با مسألهٔ امنیت هم بایستی گفت که تمپلیت‌های این فریمورک به صورت پیش‌فرض ایمن شده‌اند و همین ایمنی می‌تواند خیال توسعه‌دهندگان را راحت سازد که به صورت اتفاقی مشکل امنیتی ایجاد نکنند.