Javascript Yükleyicileri

Javascript Yükleyicileri

Javascript Yükleyicileri

Web sayfalarında javascript ağırlığı gün geçtikçe artıyor. Dolayısıyla < script > etiketi kullanarak artık daha fazla javascript dosyası yükletiyoruz. Fakat bir zaman sonra bunları yönetmek, aralarındaki bağımlılıklara dikkat etmek zorlaşabiliyor. İşte bu noktada Javascript Yükleyicileri (js loaders) bir çözüm olarak karşımıza çıkıyorlar.

Kızılay Web Banner 728X090


Javascript Yükleyicisi kullanmanın avantajları


< script > etiketinin aslında bazı sorunları var. Öncelikle bu etiketi kullanarak çağırdığınız bir javascript dosyası yükleniyorken, sayfanın diğer yüklenen elemanları bloklanıyor. Örneğin alttaki ekran görüntüsünde görülebileceği üzere sayfadaki 1 tane resim dosyası, 6 tane javascript dosyasının yüklenmesini bekliyor. Non-blocking özellikli javascript yükleyicileri bu durumun oluşmasını önlemiş oluyorlar.




Javascript yükleyicisi kullanmanın diğer bir avantajı ise bağımlılık yönetimi. Bir javascript dosyasındaki (B.js) kodları çalıştırmanız için, ondan önce yüklenmesini beklediğiniz başka bir javascript dosyası (A.js) var diyelim. Dolayısıyla B.js dosyasını kullanabilmeniz için A.js dosyasının tamamen yüklenmiş olmasını beklersiniz. Fakat bu her zaman öyle olmayabilir. Bir nedenden dolayı A.js dosyası yüklenemeyebilir, böyle olunca da B.js dosyasındaki bağımlı kodlar hata üretebilir.



Bunlara ek olarak, javascript yükleyicileri sayesinde bir js dosyasını her sayfada tekrar tekrar çağırmanıza gerek kalmaz. Ne zaman ihtiyacınız varsa o zaman çağırabilirsiniz.


Belli başlı javascript yükleyicileri


İnternette biraz araştırdıktan sonra gerçekten çok fazla javascript yükleyicisi bulabiliyorsunuz. Bunlar arasından en iyisini seçmek için biraz karşılaştırma biraz test yapmak gerekiyor. Benim test yapmaya lâyık gördüğüm javascript yükleyicileri şunlar oldu:


  1. LABjs – labjs.com
  2. LazyLoad – github.com/rgrove/lazyload
  3. JLS – andresvidal.com/jsl
  4. Include.js – capmousse.github.com/include.js/
  5. loadrunner – github.com/danwrong/loadrunner