Progressive Web Apps (PWA), kullanıcılara mobil uygulama benzeri bir deneyim sunmak için modern web yeteneklerini kullanan bir web uygulaması dır. Bu uygulamalar belirli gereksinimleri karşılar. Sunucular ile beraber, URL'ler aracılığıyla erişilebilir ve arama motorları tarafından dizine eklenir.
Güncellemenize gerek yok. PWA’leri güncelleme zorunluluğunuz da yok. PWA’ler aslında bir domaine bağlı olarak çalışan web siteleri olduğu için sitenizde yaptığınız herhangi bir güncelleme, doğrudan uygulamanıza da yansır.
Bağlantı durumunuz ne olursa olsun, kullanıcılarınızı kaybetmeyin. PWA’ler en düşük bağlantı hızında bile kullanıcı deneyimini kötü etkileyecek görüntülenme bozuklukları ve geç bağlantı problemleriyle karşılaşmanıza engel olur. “Cache” mekanizmaları ile uygulamanızın yavaş bağlantılardan etkilenmesine engel olursunuz.
İOS'ta PWA'ların yetenekleri
Yerel iOS uygulamalarıyla karşılaştırıldığında sınırlamalar
Android'de, PWA'ların neler yapabileceği
Peki PWA için neler gerekli:
SSL: PWA olarak hazırlayacağınız web sitenizin mutlaka SSL’e sahip olması gerekiyor. Bu uygulamanızın güvenilirliği açısından da çok önemli. Google geçtiğimiz aylarda SSL olmayan web sitelerini arama sonuçlarında güvenli olmayan siteler arasında listeleyeceğini duyurmuştu. Aslında artık SSL kullanımı neredeyse zorunlu hale geldi.
Web App Manifest: Manifest.json aslında uygulamanızın ayar dosyasıdır. Tarayıcıların tanıyabilmesi için dosyanın konumunu HTML içerisinde belirtmeniz gerekiyor. Manifest.json ile uygulamanızın, hangi cihazda hangi ikonu kullanacağını belirleyebilir, tarayıcı çerçevesi görüntülenmeden fullscreen modda gösterimini seçebilir, rengine karar verebilir, yatay ve dikey gösterim modunu düzenleyebilirsiniz. Manifest.json ile hangi ayarların yapılandırılabildiğini daha detaylı incelemek için Google ve MDN sayfalarını inceleyebilirsiniz.
Service Worker: Service worker ile PWA ile anlık bildirimler, seçilen dosyaların “cache”lenebilmesi, offline durumda uygulamanızı çalıştırabilme ve arkaplanda senkronizasyon (background sync) gibi özelliklerle ilgili ayarları yapabilirsiniz. Bunun için öncelikle bir Service worker Javascript dosyası oluşturmanız ve bunu index.html altında Service worker olarak tanımlamanız gerekiyor. Service worker ile ilgili debugging işlemlerini DevTools üzerinden Uygulamalar (Application) altından kontrol edebilirsiniz.
Özetle PWA:
Güvenilir: Hızlı yükleme ve çevrimdışı çalışabilir
Hızlı: Pürüzsüz Animasyonlar, internetsiz gezinti, takılmadan kaydırma(scrolling)
Ek özellik: Ana ekrandan başlatma ve push bildirimi