Mithril: İstemci Taraflı Yeni Bir MVC Kütüphanesi
İstemci taraflı JavaScript kütüphanelerinde son yıllardaki gelişmelerin hızını yakalamak gerçekten zor. Farklı amaçlar için hazırlanan bu kütüphanaler istemci tarafında yapısal, hızlı ve zengin uygulamalar hazırlamamızı oldukça kolaylaştırıyor. Bu kütüphanelerden biri de yakın zamanda duyurulmuş olan Mithril.
Mithril istemci taraflı JavaScript MVC framework’lerden biridir. Leo Horie tarafından geliştirilmiştir ve 2014 yılı Nisan ayında duyurulmuştur. Leo Mithril ismini verirken Lord of Rings’den esinlenerek mithril metalinin küçük ve güçlü olmasını kendi yeni framework’üne benzetmiştir. Hikayeyi tam olarak bilemeyenler için mithril metali ile cüceler dayanıklı ve hafif bir çok savaş aleti yaparlar, ayrıca bu metali satarak zengin olurlar. Metalin madeninde Balrogu uyandırılar, orclar ile birlikte Balrog cücelerin sonu olur. Mithril framework’ü küçük ve limitli bir fonksiyon seti olmasına rağmen performans açısından Angular, Durandal ve Backbone gibi framework’lere ciddi şekilde fark atmaktadır.
Hızlı bir şekilde büyüyen bir topluluğa sahip olan Mithril’i kısa sürede Github üzerinden 2000’den fazla kişi takip etmiştir. Github’daki commit frekansı 14 saattir, geliştirmesi sürekli devam etmektedir.
Peki Mithril’in temel özellikleri nelerdir? Diğer frameworklere göre üstün olduğu konular nelerdir? Madde madde sayacak olursak:
- Mithril’in sunduğu API’nın boyutu üretim ortamında gzip olarak 5KB seviyesindedir.
- Küçük bir fonksiyon seti olduğundan dolayı çok hızlı şekilde öğrenilebilir.
- Angular ve Knockout’da HTML içerisine non-HTML yazılması gerekirken, Mithril HTML ifadelerini kullanır.
- Oldukça iyi bir dokümantasyonu mevcuttur, öyleki doküman satır sayısı, kod satır sayısından oldukça fazladır.
- Eski web tarayıcılarını destekler.
- Typescript desteği mevcuttur.
- Perfomans açısından özellikle dizi işlemlerinde çok yüksek performans gösterir, http://jsperf.com/angular-vs-knockout-vs-ember/308 ile diğer framework’leri ve Mithril’in farkını görebilirsiniz. Angular ve Knockout’a göre aynı sürede yaklaşık 20 kat fazla işlem yapabilmektedir. Aşağıdaki tablo da bu durumu net şekilde göstermektedir.
Dezavantaj olarak neler söyleyebiliriz?
- Kod okunabilirliği(readability) oldukça düşüktür.
- Arkasında gelişimini destekleyen Google veya Facebook gibi büyük bir firma yoktur.
- Limitli bir fonksiyon setine sahiptir, dilenirse geliştiriciler tarafından yeni fonksiyonlar, özellikler üzerine eklenebilir.
Özellikle yüksek performans isteyen, çok karmaşık olmayan, hızlı öğrenilmek ve çabuk geliştirilmek istenen MVC web siteleri için Mithril kütüphanesinin değerli bir altyapı olabileceğini düşünüyorum. Denemek isteyenler başlangıç olarak http://lhorie.github.io/mithril/getting-started.html web sayfası baz alınabilir.
1 Comment
Ömer
10 Mayıs 2017 at 10:08Ölme yolunda can çekişen bir framework