İlerlemeli İyileştirme (Progressive Enhancement) Nedir?
İlerlemeli iyileştirme (progressive enhancement), temel içerik ve işlevi olabildiğince çok kullanıcıya sunup daha gelişmiş özellikleri yalnızca bunları destekleyen tarayıcı ve cihazlarda ekleyen tasarım yaklaşımıdır.
Diğer Adları: Progressive Enhancement
İlerlemeli İyileştirme Nasıl Uygulanır?
Önce her tarayıcıda çalışan bir temel kurulur: içerik HTML ile, bağlantı ve form gönderimi gibi temel işlevler tarayıcının kendi davranışıyla sağlanır. Görünüm CSS ile, etkileşim JavaScript ile bu temelin üstüne eklenir. MDN’ye göre tarayıcının daha yeni bir özelliği destekleyip desteklemediği genellikle özellik algılamayla (feature detection) anlaşılır; eksik özellikler çoğunlukla JavaScript ile yazılan tamamlayıcı kodlarla (polyfill) eklenir.
Adındaki ilerlemeli sözcüğü, eski tarayıcı ve sınırlı cihazlarda daha basit ama kullanılabilir bir deneyim sunup yeni tarayıcı ve güçlü cihazlarda deneyimi zenginleştirmeyi anlatır. MDN bu yaklaşımda erişilebilirliğe özellikle dikkat edilmesini ve mümkün olduğunda kabul edilebilir alternatifler sunulmasını belirtir.
İlerlemeli İyileştirme ile Zarif Bozulma Farkı
Zarif bozulma (graceful degradation), en gelişmiş deneyimi önce kurup eski tarayıcılarda da bozulmadan çalışmasını sağlamaya çalışır; ilerlemeli iyileştirme ise temelden başlayıp yukarı doğru ekler. MDN iki yaklaşımı ilişkili ama farklı sayar; ikisi de geçerlidir ve çoğu zaman birbirini tamamlar.
İlerlemeli İyileştirme Mağazada Neyi Korur?
Temel alışveriş adımları, yani ürünü görme, sepete ekleme ve siparişi tamamlama; bir betik yüklenemediğinde, bağlantı yavaş olduğunda ya da cihaz eski olduğunda da çalışmalıdır. Ürün galerisindeki kaydırma ya da filtrelerin sayfa yenilenmeden uygulanması gibi özellikler bu temelin üstüne eklenir.
Örnek: Bir mağazanın sepete ekle düğmesi yalnızca JavaScript ile çalışıyorsa, hatalı bir üçüncü taraf betik nedeniyle sayfadaki kod durduğunda düğme hiçbir şey yapmaz. Düğme önce sıradan bir form gönderimi olarak kurulup üstüne sepeti anında güncelleyen betik eklenirse, betik çalışmasa da ürün sepete eklenir.
İlerlemeli İyileştirme Hakkında Sık Sorulan Sorular
İlerlemeli iyileştirme JavaScript kullanmamak mı demektir?
Hayır. JavaScript kullanılır, ama temel işlev ona bağlı kalmaz; betik çalışmadığında da içerik okunur ve temel işlem tamamlanır.
İlerlemeli iyileştirme ile aşamalı web uygulaması aynı şey mi?
Aynı değildir. İlerlemeli iyileştirme bir tasarım yaklaşımıdır; aşamalı web uygulaması ise ana ekrana eklenebilen ve uygulama benzeri özellikler sunan bir web sitesi türüdür.