0%
Progressive Web App (PWA), native uygulama maliyetinin çok altında uygulama deneyimi sunan stratejik bir web teknolojisidir. Bu rehber, PWA'yı ciddi bir iş kararı olarak ele alıyor: ne kazanırsınız, nerede sınır var, ne zaman tercih edilmeli?

Progressive Web App (PWA), tarayıcı üzerinden çalışan ancak kullanıcıya yerel uygulama (native app) deneyimi sunan bir web teknolojisi mimarisidir. Kullanıcı uygulamayı App Store veya Google Play'den indirmez; tarayıcısında siteyi açar, ana ekrana ekler ve artık tam ekran, ikonlu, push bildirimli, hatta çevrimdışı çalışan bir uygulama gibi kullanır. Teknik açıdan üç temel bileşenden oluşur: Service Worker (arka plan önbellek ve offline mantığı), Web App Manifest (isim, ikon, başlangıç ekranı) ve HTTPS zorunluluğu.
İş açısından ise PWA şu soruyu yanıtlar: "Hem web trafiğini hem uygulama deneyimini aynı kod tabanıyla yönetebilir miyim?" Çoğu orta ölçekli işletme için yanıt evettir — ve bu, önemli maliyet ile zaman tasarrufu demektir.
PWA tercihinin arkasındaki iş gerekçesi soyut değildir. Her madde doğrudan bir maliyet kalemi, kullanıcı davranışı veya gelir etkisine karşılık gelir.
Karar verirken "PWA mi, native app mi?" sorusu yanlış çerçevelenirse yanlış karar çıkar. Doğru çerçeve şudur: hangi özellikler projeniz için vazgeçilmez, hangilerinden vazgeçilebilir?
Her proje PWA değil; ama aşağıdaki senaryolarda PWA standart seçenek olmalıdır.
PWA'nın performans kazanımı Service Worker mimarisiyle doğrudan bağlantılıdır. Service Worker, tarayıcı ile ağ arasına giren bir proxy görevi görür; gelen istekleri keser ve önbellek stratejisine göre yanıtlar.
Temel önbellek stratejileri şunlardır: Cache First (önce önbelleğe bak, sonra ağa git) statik varlıklar için idealdir — logo, stil dosyası, ikon. Network First (önce ağa git, başarısız olursa önbelleği kullan) gerçek zamanlı veri gerektiren ekranlar için uygundur. Stale While Revalidate ise önbellekteki sürümü hemen gösterir, arka planda ağdan yeni sürümü çeker; içerik siteleri için dengeli bir yaklaşımdır. Doğru strateji seçimi hem hız hem veri güncelliği dengesini kurar; hatalı strateji eski veri gösterir veya önbellek avantajını ortadan kaldırır.
Google'ın Core Web Vitals eşikleri (LCP < 2,5 sn, INP < 200 ms, CLS < 0,1) PWA'nın iyi yapılandırılmış Service Worker stratejisiyle karşılanması gereken hedeflerdir. Özellikle LCP'de kritik HTML ve above-the-fold görselinin Service Worker tarafından önbelleklenmesi, soğuk yükleme süresini dramatik biçimde kısaltır.
Push bildirimi PWA'nın en güçlü araçlarından biridir — ve en kolay kötüye kullanılanı. Kullanıcının izin vermesi için makul bir sebep olmalıdır; "web sitesini açar açmaz bildirim iste" akışı izin reddi oranını %90'ın üzerine taşır.
İşe yarayan push stratejisi şu ilkelere dayanır: İzin isteğini bağlama yerleştir (sepete ürün ekleyen kullanıcıya "kargo bilgisi almak ister misiniz?" sor). Bildirimin konu başlığı somut değer taşısın ("Kampanya var" değil, "Sepetindeki ürün %20 indirime girdi"). Bildirim sıklığı kontrol edilsin; aşırı bildirim uygulamadan kaldırılmayı hızlandırır. Segmente göre gönder: terk edilmiş sepet, kargo güncellemesi, kişiselleştirilmiş öneri, genel kampanya farklı zamanlama ve kopya gerektirir.
Apple App Store, uygulama içi satışlardan %15-30 komisyon keser. Bu oran, özellikle dijital ürün veya abonelik satan işletmeler için ciddi bir gelir sızıntısıdır. PWA, bu komisyon yapısının tamamen dışında kalır; ödeme işlemlerini doğrudan stripe, iyzico veya herhangi bir ödeme sağlayıcısı üzerinden yürütür.
Geliştirme maliyet kıyaslaması da çarpıcıdır. iOS ve Android için ayrı native uygulama geliştirmek, ortalama bir proje için iki ayrı ekip veya React Native/Flutter gibi çapraz platform araçlar gerektirir. İyi yapılandırılmış bir PWA, tek bir web teknolojisi ekibi tarafından üretilebilir ve her iki platformda çalışır. Bakım, güncelleme ve test döngüleri tek kod tabanında yönetilir.
App Store onay süreci de hesaba katılmalıdır. Apple'ın inceleme süreci 1-7 gün sürebilir; kırmızı çizgi giren güncellemeler reddedilebilir. Bir hata düzeltmesi veya özellik eklemesi için haftalarca bekleme, çevik geliştirme modeliyle bağdaşmaz. PWA'da güncelleme sunucuya deploy edilir, bir sonraki Service Worker güncelleme döngüsünde tüm kullanıcılara ulaşır.
Kurumsal bir proje için PWA tercihini değerlendirirken aşağıdaki sorular rehber olarak kullanılabilir.
Bu soruların çoğuna "evet" yanıtı veren bir proje için PWA, native app yerine birincil seçenek olmalıdır. Karma senaryo — hem web trafiği hem app store varlığı hem de özel donanım erişimi — gerektiğinde PWA + native wrapper (örneğin Capacitor ile) yaklaşımı değerlendirilebilir.
Bir PWA projesinin kalitesini değerlendirmek için Google Lighthouse, endüstri standardı araçtır. Lighthouse, PWA denetiminde şu kriterleri ölçer: HTTPS zorunluluğu, Service Worker kaydı, Web App Manifest geçerliliği, çevrimdışı yanıt verme, başlangıç ekranı ve ikon yapılandırması, ana ekrana ekleme kriterleri. Bir PWA'nın Lighthouse PWA skorunda 100 alması, teknik gereksinimlerin karşılandığının nesnel kanıtıdır.
Buna ek olarak Core Web Vitals skorları (Chrome User Experience Report — CrUX verileriyle) gerçek kullanıcı deneyimini yansıtır. Laboratuvar skoru iyi olup gerçek kullanıcı skoru kötü olan PWA'lar, genellikle Service Worker yapılandırmasında veya üçüncü taraf script yüklemesinde sorun barındırır.
PWA'nın SEO açısından en büyük avantajı, native uygulamanın dezavantajının tam tersidir: içerik web URL'lerinde yaşar ve Google tarafından dizinlenebilir. Ancak PWA geliştirmede yapılan bazı mimari hatalar SEO'yu zedeleyebilir.
Dikkat edilmesi gereken başlıca noktalar şunlardır: App Shell mimarisinde critical content sunucu taraflı render (SSR) veya statik ön-render ile sunulmalıdır; saf istemci taraflı render (CSR) ile sunulan içerik Googlebot tarafından gecikmeyle veya hiç indekslenemeyebilir. URL yapısı tutarlı olmalıdır; hash-based yönlendirme (#/) yerine history API ile temiz URL'ler kullanılmalıdır. Service Worker, Googlebot'u önbelleklenmiş eski sürüme yönlendirmemelidir; bots için cache stratejisi dikkatli yapılandırılmalıdır.
PWA projesi, standart kurumsal web sitesinden farklı uzmanlık gerektirir. Service Worker yaşam döngüsü, önbellek stratejisi, push notification altyapısı ve Lighthouse optimizasyonu — bunların tamamına hakim bir ekip, yüzeysel PWA etiketli bir projeden çok farklı sonuçlar üretir.
Bir ajansı değerlendirirken şu sorular sorulmalıdır: Daha önce teslim ettikleri PWA'nın Lighthouse skoru nedir? Service Worker stratejisi nasıl belgelenmiş? SEO uyumluluğu için SSR veya statik ön-render kullanılmış mı? Push bildirim altyapısı dahil mi, yoksa kurulum sonrası müşteriye bırakılıyor mu? Uygulama yayına girdikten sonra Web App Manifest ve Service Worker güncellemeleri nasıl yönetiliyor?
ADWEBX olarak web uygulama ve SaaS projelerinde PWA mimarisini React tabanlı modern stack ile birleştiriyoruz. Service Worker yapılandırması, önbellek stratejisi, push bildirim entegrasyonu ve Lighthouse optimizasyonu dahil olmak üzere uçtan uca teslim yapıyoruz. Projeniz için hangi mimarinin doğru olduğunu birlikte değerlendirmek isterseniz analiz görüşmesi başlatabilirsiniz.
Native uygulama App Store veya Google Play üzerinden dağıtılır, platform SDK'larıyla donanıma doğrudan erişir. PWA ise tarayıcı üzerinden çalışır, App Store gerektirmez ve tek kod tabanıyla iOS ile Android'i karşılar. Temel sınır: NFC, arka plan Bluetooth, ARKit/ARCore gibi derinlemesine donanım erişimi hâlâ native avantajındadır. Çoğu iş uygulaması için bu sınır belirleyici değildir.
Google Play'de evet: Trusted Web Activity (TWA) mekanizmasıyla PWA doğrudan Google Play'e yüklenebilir. Apple App Store'da ise durum farklıdır; Apple'ın WebKit politikaları PWA'yı App Store listesi olarak sunmayı kısıtlar. Hem web hem App Store varlığı gerekiyorsa Capacitor gibi araçlarla PWA üzerine minimal native wrapper eklenmesi düşünülebilir.
iOS 16.4 ve sonrasında, yalnızca kullanıcının ana ekrana eklediği PWA'larda push bildirimi desteği geldi. Bu koşullu destek, Safari'nin önceki versiyonlarındaki tam yokluğa kıyasla önemli bir gelişmedir. Ancak kullanıcının PWA'yı ana ekrana eklemesi ve bildirim iznini onaylaması gerektiğinden, geniş iOS kitlesine push ulaştırmak native uygulamaya göre daha düşük erişim oranı üretebilir. Proje tasarımında bu gerçekçi bir beklenti olarak ele alınmalıdır.
Büyük çoğunluğu mobil web üzerinden gelen e-ticaret trafiği için PWA daha hızlı yayına alınabilir, daha düşük maliyetlidir ve SEO'yu korur. Native uygulama, güçlü bir bağlılık topluluğu (loyalty) hedefleniyor ve App Store varlığı satın alma kararını etkiliyor ise ek olarak değerlendirilebilir. İki yaklaşım birbirini dışlamaz: önce PWA ile mükemmel mobil web deneyimi kur, kullanıcı bazı büyüdükçe native uygulama katmanı ekle.
Kapsam belirleyicidir. Mevcut bir React veya Next.js web uygulamasına PWA katmanı (Service Worker, manifest, Lighthouse optimizasyonu) eklemek 2-4 haftalık bir iş olabilir. Sıfırdan PWA ürünü geliştirmek — UX tasarım, frontend, backend API, push bildirim altyapısı, test dahil — genellikle 3-6 ay ve 50.000-200.000 TL+ arasında değişen bütçelerle planlanır; ancak kapsam ve ekip yapısına göre bu aralık yukarı veya aşağı önemli ölçüde kayabilir. Doğru zaman ve maliyet tahmini için kapsamın netleştirilmesi gerekir.
PWA avantajlarından gerçekten yararlanmak için iş süreçlerinize özel geliştirilmiş bir web uygulaması şart.
Web uygulama geliştirme hizmetimize göz atın.Bir web projesinin size ne kadara mal olacağını önceden bilmek ister misiniz?
Ücretsiz Web Sitesi Maliyet Hesaplayıcı ile bütçenizi anında tahmin edinSSS
PWA mantıklı seçimdir: hedef kitleniz uygulama indirme eşiğini aşmıyorsa, bütçe tek bir kod tabanını (web) destekliyorsa ve temel özellikleriniz (offline erişim, push bildirim, ana ekrana ekleme) web API'larıyla karşılanabiliyorsa. Donanım erişimi (kamera, NFC, Bluetooth) veya uygulama mağazası görünürlüğü birincil öncelikse native daha güçlü olabilir.
iOS App Store doğrudan PWA listelemeyi desteklemez; ancak Trusted Web Activity (TWA) aracılığıyla PWA'nızı bir Android uygulaması olarak Google Play'e göndermek mümkündür. Apple platfomlarında Safari'nin PWA desteği (servis worker, Web App Manifest) gelişmekte olup bazı kısıtlamalar devam etmektedir. Bu nedenle iOS kullanıcı deneyimi gözetildiğinde PWA ile native'i birlikte çalıştırmayı değerlendirin.
Evet. Offline çalışma, Service Worker aracılığıyla sağlanır: tarayıcı arka planda çalışan bu script sayesinde belirlediğiniz kaynakları (HTML, CSS, JS, görsel) Cache API'da önbelleğe alır. Ağ bağlantısı olmadığında uygulama bu önbellekten çalışır. Strateji seçimi önemli: cache-first, network-first veya stale-while-revalidate senaryoya göre seçilmelidir.
Mevcut bir web sitesini temel PWA özelliklerine (servis worker, manifest, HTTPS) kavuşturmak deneyimli bir geliştirici için birkaç günü bulur. Sıfırdan, kapsamlı offline deneyim ve push bildirim altyapısıyla tam bir PWA geliştirmek ise proje kapsamına göre birkaç haftadan birkaç aya uzanabilir. Maliyet, karmaşıklık ve entegrasyon ihtiyaçlarına göre değiştiğinden detaylı bir teknik keşif aşaması sonrası net bir rakam vermek daha doğru olur.
İlgili Hizmetler
Bu konuda profesyonel destek alın:
Ücretsiz ön analiz görüşmesiyle başlayın.