İçeriğe geç
parazade

Minification Nedir?

Yayın: · Son güncelleme:

Minification Nedir? Kısaca

Minification (küçültme), CSS, JavaScript ve HTML dosyalarından boşluk, satır sonu ve yorum gibi çalışmak için gerekmeyen karakterlerin atılarak dosya boyutunun azaltılmasıdır.

Minification nedir?
İçindekiler
  1. Minification nedir?
  2. Gzip ve Brotli ile farkı
  3. Nasıl yapılır, nelere dikkat etmeli?

Minification, kodun işlevini değiştirmeden gereksiz karakterlerini temizleyip dosyayı küçültme işlemidir. Ortaya çıkan dosyalar genellikle stil.min.css ya da uygulama.min.js gibi adlarla anılır.

Minification nedir?

Geliştiriciler kodu okunabilir yazmak için girinti, boşluk ve açıklama satırları kullanır. Tarayıcının ise bunlara ihtiyacı yoktur. Küçültme araçları bu karakterleri atar, JavaScript'te ayrıca uzun değişken adlarını kısaltabilir.

Basit bir CSS örneği:

/* Ana buton */
.buton {
    color: #ffffff;
    padding: 10px;
}

Küçültülmüş hâli: .buton{color:#fff;padding:10px}

Sonuç aynı görünür, ama dosya belirgin biçimde kısalır.

Gzip ve Brotli ile farkı

Minification dosyanın kendisini kalıcı olarak küçültür. Gzip ve Brotli gibi sıkıştırma yöntemleri ise dosyayı aktarım sırasında paketler, tarayıcı da açar. İkisi birbirinin alternatifi değildir; en iyi sonuç birlikte kullanıldığında alınır.

Nasıl yapılır, nelere dikkat etmeli?

Modern derleme araçları (Vite, webpack, esbuild) yayına hazırlık sırasında küçültmeyi otomatik yapar. WordPress sitelerinde önbellek ve performans eklentileri aynı işi bir ayarla üstlenir.

Kaynak dosyaları her zaman ayrı saklayın ve yalnızca küçültülmüş kopyayı yayına gönderin. Küçültülmüş kod üzerinde doğrudan düzenleme yapmak neredeyse imkânsızdır. Hata ayıklama için kaynak haritası (source map) dosyaları üretmek, tarayıcıda hatanın asıl satırını görmenizi sağlar. Ayarı açtıktan sonra sitenin her bölümünü test edin, çünkü bazı eski betikler agresif küçültmede bozulabilir.

Sıkça Sorulan Sorular

Minification ne kadar kazanç sağlar?

Kazanç dosyanın yazılış biçimine bağlıdır; çok yorum ve boşluk içeren dosyalarda fark büyüktür. Sıkıştırma ile birlikte kullanıldığında sayfa yükleme süresine katkısı daha belirgin olur.

Minification ile obfuscation aynı şey mi?

Hayır, minification boyutu küçültmeyi amaçlar. Obfuscation ise kodu bilerek anlaşılmaz hâle getirmeyi hedefler; küçültme yan etki olarak kodu okumayı zorlaştırsa da güvenlik önlemi sayılmaz.

İlgili terimler

Lazy LoadingLazy loading (tembel yükleme), bir sayfadaki görsel, video gibi içeriklerin hepsini baştan yüklemek yerine yalnızca kullanıcı onlara yaklaştığında yükleyen performans tekniğidir.Önbellekleme(Caching)Önbellekleme (caching), sık kullanılan verilerin bir kopyasını daha hızlı erişilen bir yerde saklayarak aynı isteğe tekrar tekrar baştan hesaplama yapmadan cevap verme yöntemidir.JavaScriptJavaScript, web sayfalarına buton tıklaması, form doğrulama ve anlık güncelleme gibi etkileşimler kazandıran, tarayıcıların yanı sıra Node.js ile sunucuda da çalışabilen yaygın bir programlama dilidir.CSSCSS (Cascading Style Sheets, basamaklı stil şablonları), HTML ile oluşturulan web sayfalarının renk, yazı tipi, boşluk, yerleşim ve animasyon gibi görsel özelliklerini tanımlayan stil dilidir.Tarayıcı(Web Browser)Tarayıcı (web browser), internetteki web sayfalarını açmak, görüntülemek ve sayfalar arasında gezinmek için kullanılan yazılımdır. Chrome, Safari, Firefox ve Edge en yaygın tarayıcılardandır.Derleme(Compilation)Derleme (compilation), kaynak kodun bir derleyici tarafından makine koduna ya da ara koda çevrilerek çalıştırılabilir hâle getirilmesi işlemidir. Bu sırada sözdizimi ve tür hataları da denetlenir.Hata Ayıklama(Debugging)Hata ayıklama (debugging), bir yazılımdaki hatanın nedenini bulma, anlama ve düzeltme sürecidir. Hatayı yeniden üretmek, kaynağını daraltmak ve düzeltmeyi test etmek bu sürecin temel adımlarıdır.