İletişim

PWA (Progressive Web App) Nedir?

Kısa tanım

PWA (Progressive Web App), standart web teknolojileriyle geliştirilen ancak cihaza yüklenebilen, kendi penceresinde açılabilen ve service worker sayesinde çevrimdışı çalışma gibi uygulama benzeri yetenekler kazanabilen web uygulamasıdır. Yüklenebilirliğin temel koşulları HTTPS üzerinden sunulmak ve bir web uygulaması manifest dosyasına sahip olmaktır. Tek kod tabanıyla hem tarayıcıda hem de ana ekranda veya masaüstünde çalışması en önemli avantajıdır.

Diğer adları: Progressive Web App, aşamalı web uygulaması, progresif web uygulaması, yüklenebilir web uygulaması

Manifest dosyası, service worker, HTTPS, çevrimdışı çalışma, ana ekrana kurulum ve bildirimlerle PWA bileşenlerini gösteren diyagram

Bir PWA'yı oluşturan parçalar

PWA ayrı bir teknoloji değil, mevcut web standartlarının bir kombinasyonudur. Üç yapı taşı vardır:

  • Web uygulaması manifest'i: Uygulamanın adını, simgelerini, başlangıç adresini ve hangi görünümde açılacağını tarif eden bir JSON dosyası.
  • Service worker: Sayfa ile ağ arasında çalışan, istekleri yakalayıp önbellekten yanıt verebilen betik. Çevrimdışı çalışma ve arka plan işleri buna dayanır.
  • HTTPS: Yükleme ve service worker gibi güçlü API'ler yalnızca güvenli bağlamda (HTTPS veya yerel geliştirmede localhost) çalışır.
<link rel="manifest" href="/manifest.webmanifest">

{
  "name": "Örnek Saha Uygulaması",
  "short_name": "Saha",
  "start_url": "/?kaynak=pwa",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#0f172a",
  "icons": [
    { "src": "/ikon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/ikon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Yüklenebilirlik koşulları ve tarayıcı desteği

Chrome, Edge ve Samsung Internet gibi Chromium tabanlı tarayıcılar yükleme önerisi için manifest'te name veya short_name, 192 ve 512 piksellik simgeler, start_url, uygun bir display değeri (fullscreen, standalone, minimal-ui veya window-controls-overlay) ister; prefer_related_applications ise ya olmamalı ya da false olmalıdır. Chrome ayrıca kullanıcının sayfayla en az bir kez etkileşime girmesini ve sayfada en az 30 saniye geçirmesini bekler. MDN'e göre service worker yüklenebilirlik için zorunlu değildir; ama çevrimdışı deneyim için çoğu PWA onu kullanır.

PlatformDurum (MDN, Ekim 2026)
Masaüstü Chromium tarayıcılarıManifest'i olan PWA'ları desteklenen tüm işletim sistemlerinde yükler
macOS SafariSafari 17 (macOS Sonoma) ve sonrasında, manifest olsun olmasın her web uygulaması için "Dock'a Ekle"
Masaüstü FirefoxManifest ile PWA yüklemeyi desteklemiyor
AndroidWebAPK olarak yalnızca Google Mobil Hizmetleri olan cihazlarda Chrome ve Samsung cihazlarda Samsung Internet yükler
iOS / iPadOSiOS 16.4 ve sonrasında Safari, Chrome, Edge, Firefox ve Orion'un Paylaş menüsünden

Tarayıcı desteği değişken bir alandır; yayına almadan önce MDN'in güncel tablosunu kontrol etmek gerekir.

Çevrimdışı çalışma ve önbellek stratejileri

Service worker, her kaynak türü için farklı bir strateji uygulamaya izin verir. Sürümlenmiş JavaScript, CSS ve font dosyaları için "önce önbellek" mantıklıdır; HTML sayfaları için genellikle "önce ağ, ağ yoksa önbellek" tercih edilir; sık değişen ama birkaç dakikalık gecikmenin sorun olmadığı veriler için "önbellekten sun, arkada güncelle" iyi bir dengedir. Bağlantı yokken gösterilecek bir çevrimdışı sayfası da hazırlanmalıdır.

En sık yapılan hata HTML'i agresif biçimde önbelleğe almaktır: kullanıcılar yayına alınan düzeltmeyi günlerce görmeyebilir. Service worker'ın kendi güncelleme yaşam döngüsü vardır; yeni sürüm, eski sürümü kullanan sekmeler kapanana kadar beklemede kalabilir. Bu katman, tarayıcının kendi HTTP önbelleğinden (tarayıcı önbelleği) ayrı çalışır ve ikisinin birlikte planlanması gerekir.

PWA mı, mağaza uygulaması mı?

PWA'nın güçlü yanları tek kod tabanı, mağaza onayı beklemeden anında güncelleme ve her ekranın paylaşılabilir, arama motorlarınca bulunabilir bir URL'ye sahip olmasıdır. Zayıf yanları ise platformdan platforma değişen API desteği, mağaza içi görünürlüğün olmaması ve bazı donanım özelliklerine erişimin sınırlı kalmasıdır. Kullanıcı tabanının ağırlıklı olarak hangi platformda olduğu ve uygulamanın hangi cihaz yeteneklerine ihtiyaç duyduğu, kararı çoğu zaman belirler.

SEO ile ilişkisi

Bir sitenin PWA olması veya yüklenebilmesi tek başına bir sıralama avantajı sağlamaz. PWA sonuçta bir web sitesidir ve arama açısından aynı kurallar geçerlidir: içerik taranabilir HTML'de bulunmalı, sayfalar mobil ekranlarda düzgün çalışmalı (responsive tasarım) ve hızlı yüklenmelidir. Uygulama kabuğu yalnızca istemci tarafında render ediliyorsa, PWA olmayan bir SPA'nın taşıdığı risklerin hepsi burada da geçerlidir.

İlgili terimler

← Sözlüğe dön