Skip to main content
Yazılım Geliştirme

Progressive Web App (PWA) Geliştirme Rehberi

March 06, 2026 6 min read 29 views Raw
Also available in: en
Progressive Web App mobil uygulama geliştirme
Table of Contents

Progressive Web App Nedir?

Progressive Web App (PWA), modern web teknolojilerini kullanarak kullanıcılara yerel uygulama deneyimi sunan web uygulamalarıdır. PWA'lar tarayıcı üzerinden çalışır ancak ana ekrana eklenebilir, çevrimdışı çalışabilir ve push bildirimleri gönderebilir. Google tarafından 2015 yılında popülerleştirilen bu kavram, günümüzde web geliştirmenin en önemli trendlerinden biri haline gelmiştir.

Geleneksel web siteleri ile yerel uygulamalar arasındaki boşluğu dolduran PWA'lar, hem geliştiriciler hem de kullanıcılar için önemli avantajlar sunar. Tek bir kod tabanı ile tüm platformlarda çalışan, güncellemeleri anında uygulayan ve uygulama mağazasına ihtiyaç duymadan dağıtılabilen bu teknoloji, 2026 yılında her geliştirici için temel bir beceri haline gelmiştir.

PWA'nın Temel Bileşenleri

Bir web uygulamasının PWA olarak kabul edilebilmesi için üç temel bileşene sahip olması gerekir. Bu bileşenler birlikte çalışarak kullanıcıya sorunsuz bir deneyim sunar.

Web App Manifest

Web App Manifest, uygulamanızın meta verilerini içeren bir JSON dosyasıdır. Bu dosya tarayıcıya uygulamanızın adı, simgeleri, tema rengi, başlangıç URL'si ve görüntülenme modu gibi bilgileri sağlar. Manifest dosyası sayesinde kullanıcılar uygulamayı ana ekranlarına ekleyebilir ve tam ekran modunda çalıştırabilir.

Manifest dosyasında bulunması gereken temel alanlar şunlardır:

  • name ve short_name: Uygulamanın tam adı ve kısaltılmış adı
  • start_url: Uygulama başlatıldığında açılacak sayfa
  • display: Görüntülenme modu (standalone, fullscreen, minimal-ui)
  • icons: Farklı boyutlarda uygulama simgeleri
  • theme_color ve background_color: Tema ve arka plan renkleri
  • scope: Uygulamanın kapsadığı URL aralığı

Service Worker

Service Worker, PWA'nın kalbidir. Tarayıcı ile ağ arasında bir proxy gibi çalışan bu JavaScript dosyası, ağ isteklerini yakalayabilir, önbellekleme stratejileri uygulayabilir ve arka planda görevler yürütebilir. Service Worker sayesinde uygulamanız çevrimdışı çalışabilir ve ağ bağlantısı olmadan bile içerik sunabilir.

Service Worker yaşam döngüsü üç aşamadan oluşur:

  1. Kayıt (Registration): Service Worker dosyası tarayıcıya kaydedilir
  2. Kurulum (Installation): Gerekli kaynaklar önbelleğe alınır
  3. Etkinleştirme (Activation): Eski önbellek temizlenir ve yeni sürüm devreye girer

HTTPS Zorunluluğu

PWA'ların güvenli bir bağlantı üzerinden sunulması zorunludur. Service Worker gibi güçlü API'lere erişim sağlayan PWA'lar, kullanıcı verilerinin güvenliği için mutlaka HTTPS protokolü kullanmalıdır. Geliştirme ortamında localhost üzerinde HTTPS olmadan çalışabilirsiniz ancak üretim ortamında SSL sertifikası zorunludur.

Önbellekleme Stratejileri

Service Worker'ın en güçlü özelliklerinden biri, farklı önbellekleme stratejileri uygulayabilmesidir. Doğru stratejiyi seçmek, uygulamanızın performansını ve çevrimdışı deneyimini doğrudan etkiler.

Cache First (Önbellek Öncelikli)

Bu strateji önce önbellekteki kaynağı kontrol eder. Kaynak önbellekte varsa doğrudan döndürülür, yoksa ağdan istenir ve önbelleğe alınır. Statik kaynaklar için idealdir ve uygulamanın hızlı yüklenmesini sağlar.

Network First (Ağ Öncelikli)

Önce ağ isteği yapılır, başarısız olursa önbellekteki sürüm kullanılır. API yanıtları ve sık güncellenen içerikler için uygundur. Kullanıcıya her zaman en güncel veriyi sunmayı hedefler.

Stale While Revalidate

Önbellekteki kaynak anında döndürülürken arka planda ağdan güncelleme yapılır. Hem hız hem de güncellik açısından dengeli bir yaklaşımdır. Haber siteleri ve sosyal medya akışları için idealdir.

Cache Only ve Network Only

Cache Only stratejisi yalnızca önbellekten yanıt döndürür ve tamamen çevrimdışı senaryolar için uygundur. Network Only ise önbelleği hiç kullanmaz ve her zaman taze veri gerektiğinde tercih edilir. Bu iki strateji özel durumlar için kullanılır.

Çevrimdışı Çalışma

PWA'ların en dikkat çekici özelliklerinden biri çevrimdışı çalışma yeteneğidir. Service Worker ve Cache API kullanarak uygulamanız internet bağlantısı olmadan bile temel işlevlerini sürdürebilir.

Etkili bir çevrimdışı deneyim oluşturmak için şu adımları izlemelisiniz:

  • Uygulama kabuğunu (App Shell) önbelleğe alarak temel arayüzün her zaman yüklenmesini sağlayın
  • Kritik verileri IndexedDB kullanarak yerel olarak saklayın
  • Çevrimdışıyken yapılan işlemleri Background Sync ile senkronize edin
  • Kullanıcıya bağlantı durumu hakkında bilgi verin
  • Çevrimdışı bir yedek sayfa hazırlayarak kullanıcı deneyimini iyileştirin
Çevrimdışı çalışma yeteneği, özellikle internet bağlantısının kararsız olduğu bölgelerde ve mobil kullanıcılar için büyük bir avantaj sağlar. Kullanıcılar, bağlantı sorunu yaşadıklarında bile uygulamanızı kullanmaya devam edebilir.

Push Bildirimleri

Push bildirimleri, kullanıcılarla yeniden etkileşim kurmanın en etkili yollarından biridir. PWA'lar, Push API ve Notification API kullanarak kullanıcılara bildirim gönderebilir. Bu özellik, kullanıcı uygulamayı aktif olarak kullanmıyorken bile çalışır.

Push bildirim sistemi şu şekilde çalışır:

  1. Kullanıcıdan bildirim izni istenir
  2. Push aboneliği oluşturulur ve sunucuya kaydedilir
  3. Sunucu, push servisine bildirim isteği gönderir
  4. Push servisi bildirimi kullanıcının cihazına iletir
  5. Service Worker bildirimi yakalar ve kullanıcıya gösterir

Push bildirimlerini kullanırken dikkat edilmesi gereken en önemli nokta, kullanıcıyı rahatsız etmemektir. Bildirim sıklığını makul tutun, içeriği kişiselleştirin ve kullanıcıya bildirim tercihlerini yönetme imkanı sunun.

Performans Optimizasyonu

PWA'ların başarısı büyük ölçüde performanslarına bağlıdır. Hızlı yüklenen ve akıcı çalışan bir PWA, kullanıcı memnuniyetini artırır ve dönüşüm oranlarını yükseltir.

App Shell Mimarisi

App Shell modeli, uygulamanın temel arayüz bileşenlerini önbelleğe alarak anında yüklenmesini sağlar. Navigasyon çubuğu, alt menü ve sayfa düzeni gibi statik bileşenler ilk ziyarette önbelleğe alınır. Sonraki ziyaretlerde yalnızca dinamik içerik ağdan yüklenir ve bu sayede uygulama çok daha hızlı açılır.

Lazy Loading ve Code Splitting

Tüm kaynakları başlangıçta yüklemek yerine, kullanıcının ihtiyaç duyduğu anda yüklemek performansı önemli ölçüde artırır. Görüntüler için lazy loading, JavaScript modülleri için code splitting uygulayarak ilk yükleme süresini minimize edebilirsiniz.

Lighthouse ile Ölçüm

Google Lighthouse, PWA'nızın performansını, erişilebilirliğini ve en iyi uygulamalara uyumunu ölçen güçlü bir araçtır. Lighthouse raporlarını düzenli olarak kontrol ederek uygulamanızın kalitesini sürekli iyileştirebilirsiniz. 2026 itibarıyla Core Web Vitals metrikleri de PWA değerlendirmesinde kritik bir rol oynamaktadır.

Gelişmiş PWA Özellikleri

Modern tarayıcılar, PWA'lar için giderek daha fazla API desteği sunmaktadır. Bu gelişmiş özellikler sayesinde PWA'lar yerel uygulamalarla neredeyse aynı yeteneklere sahip olabilir.

  • Web Share API: İçerik paylaşımı için yerel paylaşım menüsünü kullanma
  • File System Access API: Yerel dosya sistemine erişim sağlama
  • Background Sync: Çevrimdışı işlemleri bağlantı geldiğinde senkronize etme
  • Periodic Background Sync: Periyodik arka plan senkronizasyonu yapma
  • Web Bluetooth ve Web USB: Donanım cihazlarıyla iletişim kurma
  • Badging API: Uygulama simgesine bildirim sayısı ekleme
  • Screen Wake Lock API: Ekranın kapanmasını engelleme

PWA ve SEO

PWA'lar, doğru uygulandığında SEO açısından da önemli avantajlar sunar. Hızlı yükleme süreleri, mobil uyumluluk ve HTTPS kullanımı, arama motoru sıralamalarını olumlu etkiler.

PWA'nızın SEO performansını artırmak için şu noktalara dikkat edin:

  • Sunucu tarafı render (SSR) veya ön render kullanarak içeriğin arama motorları tarafından indexlenmesini sağlayın
  • Dinamik içerik için yapılandırılmış veri (structured data) kullanın
  • Canonical URL'ler tanımlayarak yinelenen içerik sorunlarını önleyin
  • Sayfa başlıkları ve meta açıklamaları her rota için dinamik olarak güncelleyin
  • Sitemap dosyasını güncel tutun ve arama motorlarına bildirin

PWA Geliştirme Araçları ve Framework'ler

PWA geliştirmeyi kolaylaştıran birçok araç ve framework bulunmaktadır. Bu araçlar Service Worker yönetimi, önbellekleme stratejileri ve manifest oluşturma gibi görevleri otomatikleştirir.

Workbox

Google tarafından geliştirilen Workbox, Service Worker oluşturmayı ve yönetmeyi kolaylaştıran bir kütüphanedir. Hazır önbellekleme stratejileri, route yönetimi ve arka plan senkronizasyonu modülleri sunar. Workbox, PWA geliştirmede en yaygın kullanılan araçlardan biridir.

Framework Desteği

Modern JavaScript framework'leri PWA desteğini yerleşik olarak sunmaktadır. Next.js, Nuxt.js, Angular ve SvelteKit gibi popüler framework'ler, PWA özelliklerini birkaç yapılandırma adımıyla etkinleştirmenize olanak tanır. Bu framework'ler Service Worker kaydı, manifest oluşturma ve önbellekleme stratejilerini otomatik olarak yönetir.

2026'da PWA'nın Geleceği

PWA teknolojisi sürekli gelişmeye devam etmektedir. Tarayıcı desteğinin genişlemesi, yeni API'lerin eklenmesi ve uygulama mağazalarının PWA'ları kabul etmeye başlaması, bu teknolojinin geleceğini parlak kılmaktadır.

Öne çıkan trendler arasında yapay zeka destekli önbellekleme stratejileri, WebAssembly ile yüksek performanslı işlem kapasitesi ve AR/VR deneyimleri yer almaktadır. PWA'lar, platform bağımsız uygulama geliştirmenin standart yolu olmaya doğru ilerlemektedir.

PWA, web'in geleceğidir. Tek bir kod tabanıyla tüm platformlara ulaşmak, geliştiriciler için en verimli ve sürdürülebilir yaklaşımdır. Her web geliştiricinin PWA becerilerini geliştirmesi, kariyer yolculuğunda önemli bir adım olacaktır.

Share this post