PWA’ları Farklı Görüntüleme Modları için Optimize Etmek
(smashingmagazine.com)- Progressive Web App’ler (PWA), web uygulamalarını yerel uygulama gibi hissettiren güçlü araçlardır ve çeşitli görüntüleme modlarıyla kullanıcı deneyimini optimize edebilir
- PWA’nin manifest dosyasında ayarlanan görüntüleme modları, tarayıcı arayüzünün görünürlüğünü düzenler; her moda göre kullanıcı arayüzü uyarlanarak web ve uygulama deneyimi arasındaki fark azaltılır
- CSS media query’leri ve JavaScript kullanılarak görüntüleme moduna göre içerik ve işlevler ayarlanabilir, böylece kullanıcı ihtiyaçlarını karşılayan özelleştirilmiş deneyimler sunulabilir
- PWA kullanıcıları ile sıradan web sitesi ziyaretçileri farklı beklentilere sahip olduğundan, gezinme, kurulum istemleri ve içerik görüntüleme moduna göre optimize edilmelidir
- Görüntüleme moduna göre optimizasyon, PWA’ların daha rafine ve uygulama benzeri hissettirmesini sağlar ve web üzerindeki uygulama deneyimini geliştiren önemli bir tekniktir
PWA görüntüleme modları ve optimizasyon ihtiyacı
- PWA, web uygulamalarını yerel uygulama gibi sunan bir teknolojidir; tarayıcı ortamının dışına çıkıldığında kullanılabilirlik sorunları ortaya çıkabilir
- Tarayıcının sunduğu geri gitme, yenileme, URL kopyalama gibi işlevler kaybolabilir
- Web siteleri için uygun olan bazı öğeler uygulama ortamında doğal durmayabilir
manifestdosyasında ayarlanabilen görüntüleme modları şunlardırfullscreen: Tüm tarayıcı arayüzünü gizler ve tam ekran kullanırstandalone: Tarayıcı denetimlerini gizler ve yerel uygulama gibi görünürminimal-ui: En az düzeyde tarayıcı arayüzü öğesi gösterirbrowser: Standart tarayıcı arayüzünü sunar
- Tarayıcı arayüzü gizlendiğinde kullanıcı deneyimi etkilenebileceğinden, görüntüleme moduna göre optimizasyon zorunludur
Görüntüleme modu media query’lerini kullanmak
- Media query kullanarak görüntüleme moduna göre stil ve işlevler ayarlanabilir
- Örnek:
@media (display-mode: standalone)yalnızca standalone modunda uygulanır fullscreen,minimal-ui,browsermodlarının her biri için karşılık gelen query desteği vardır
- Örnek:
- Deneysel modlar olan
window-controls-overlayvetabbed, display_override aracılığıyla özel bir sırayla ayarlanabilirwindow-controls-overlay: Masaüstünde pencere denetim düğmelerini katman olarak gösterirtabbed: Tek bir pencere içinde birden çok uygulama ortamını destekler
- JavaScript ile görüntüleme modu kontrol edilebilir ve dinamik ayarlamalar yapılabilir
- Örnek:
window.matchMedia("(display-mode: standalone)").matchesile mevcut mod kontrol edilir - Mod değiştiğinde olay algılanarak arayüz dinamik biçimde uyarlanabilir
- Örnek:
Pratik uygulama örnekleri
- PWA kullanıcılarına özel içerik: PWA’yı kurmuş kullanıcılar zaten dönüşmüş kullanıcılardır; bu nedenle pazarlama içeriği azaltılıp kullanıcı deneyimine odaklanılabilir
- Kurulum istemi gibi gereksiz öğeler gizlenebilir
- Ek seçenekler sunmak: Tarayıcı arayüzü yoksa yazı tipi boyutu ayarlama, açık/koyu mod geçişi, paylaşım işlevi gibi uygulama içi alternatifler gerekir
- Platforma uygun işlevler: Mobil yerel uygulamalarda yaygın olan alt gezinme çubuğu, PWA için uygun olabilirken web sitesinde doğal durmayabilir
- Yazdır düğmesi gibi işlevlerin PWA modunda gizlenmesi uygun olabilir
- Kurulum istemlerini yönetmek: Zaten kurulmuş bir PWA’da kurulum isteminin görünmemesi için media query veya JavaScript ile kontrol sağlanabilir
- Örnek:
.hide-in-pwayardımcı sınıfıyla PWA modunda öğe gizlemek
- Örnek:
- Scope ve başlangıç URL’si stratejisi:
scopevestart_urlile PWA ve web ortamı arasında içerik farklılaştırması yapılabilirscope: PWA’nın en üst yolunu tanımlar; kapsam dışına çıkıldığında tarayıcı arayüzü gösterilirstart_url: Uygulama açıldığında gösterilecek sayfayı belirler; örneğin doğrudan panoya gitmek gibi
- Görünüm geçişlerini güçlendirmek: Yerel uygulamalarda yaygın olan görünüm geçişi efektleri yalnızca PWA’ya özel uygulanabilir
- Örnek:
@media (display-mode: standalone)içinde görünüm geçişi CSS’i tanımlamak
- Örnek:
Tarayıcı desteği ve test
- Görüntüleme modu media query’leri çoğu tarayıcıda geniş destek görür
- Firefox PWA’yı desteklemez; Android Firefox ise yalnızca
browsermodunda gösterir - Kademeli iyileştirme ile desteklenmeyen tarayıcılarda doğal bir gerileme sağlanabilir
- Firefox PWA’yı desteklemez; Android Firefox ise yalnızca
- Testler cihaz ve tarayıcıya göre farklı davrandığından çeşitli ortamlarda yapılmalıdır
- Tarayıcılar görüntüleme modu simülasyonu sunmadığı için gerçek cihaz ve OS kombinasyonlarıyla test gerekir
Özet ve çıkarımlar
display-modemedia query’si kullanılarak PWA’lar kurulum ve görüntüleme bağlamına göre uyarlanabilir deneyimler sunabilir- Kurulum istemini gizleme, gezinme desteği, içerik özelleştirme, yerel his güçlendirme ve kademeli iyileştirme mümkündür
- PWA kullanıcıları, sıradan web ziyaretçilerinden farklı ihtiyaç ve beklentilere sahiptir; bu nedenle görüntüleme moduna göre dikkatli ayarlamalar gerekir
- PWA’ların olgunluğu arttıkça, özenli uygulama ve optimizasyon çekici bir uygulama deneyimi oluşturmanın anahtarı haline gelir
- Ek bilgi için Smashing Magazine’in “Extensive Guide To Progressive Web Applications” yazısına bakılması önerilir
2 yorum
Firefox da nightly sürümünde yeniden PWA desteği sunmaya başladı. Yakında stable sürüme de eklenecek.
Tarayıcı denen aracı katman üzerinden kullanılması gerektiği için... ben her zaman native'i tercih ederim ama PWA konusu olunca hep ilginç geliyor.
Aynı optimizasyonu hedefliyorlar ama yönleri farklı...