Mobil Uygulamaların Geleceği: PWA

Selam,

Bugün sizlere PWA, Progressive Web App kavramından bahsetmek istiyorum.

Çok büyük bir ihtimalle akıllı telefona sahipsiniz ve telefonunuzda yüklü uygulamalar var.(Youtube, Snapchat, Whatsapp…) Bu uygulamaları geliştirmenin farklı yolları var:

  • Native Uygulama: iOS için Swift & Objective C ile yazılan, Android için Kotlin & Java ile yazılan uygulamalar.
  • Cross-Platform Uygulama: Her iki platform için farklı kod yazmak yerine, tek bir kod ile her iki platformda çalışan uygulamalar. React Native veya Flutter ile geliştirilir.
  • PWA: HTML & CSS & JS ile geliştirilen uygulamalar. Bunlar aslında Web App’ine eklenen özellikler ile, Native gibi gözüken uygulamalardır. Eklenen özelliklere örnek vermek gerekirse: Konum bilgisine erişebilmek, offline çalışabilmek, kameraya erişebilmek, arkaplanda veri senkronizasyonu yapmak…
Peki, neden PWA?

2015 yılında yapılan bir araştırmaya göre, akıllı telefon kullancıları vaktinin %87'sini Native uygulamarda geçirirken, %13'ünü ise browser’da bir web sayfasını ziyaret ederek geçiriyor. İnsanları Native uygulamalara çeken bazı özellikler olarak Push Notification, Ana ekrandan kolayca açılmaları, kamera ve konum gibi telefon özelliklerini kullanabilme, offline çalışabilme gibi örnekler verebiliriz.

Çok önemli başka bir istatistik ise, insanlar Native uygulamalarda geçirdiği zamanın %80'ini, sık kullandıkları 3 uygulamada geçiriyor. (Twitter, Instagram, Whatsapp olması çok muhtemel) Buna ek olarak, ortalama bir kullanıcının her ay yüklediği yeni uygulama sayısı ise 0. O zaman Store’a uygulama yüklemek, pek de iyi bir seçenek gibi durmuyor.

Verdiğim bu bilgiler doğrultusunda Native uygulamalar için iki farklı sonuca varabiliriz:

  1. Telefonun neredeyse bütün özelliklerini kullanabiliyoruz.
  2. Ama ulaştığı kitle olarak “Sık Kullanılan 3 Uygulama” kitlenin büyük kısmını kendine çekiyor.

Öte yandan bildiğimiz Web App adına konuşmak gerekirse:

  1. Cihaz özelliklerinden neredeyse hiç yararlanamıyoruz.
  2. Ulaştığı kitle ise bir kullanıcı ayda ortalama 100 farklı internet sitesini ziyaret ediyor. Native’e göre gayet iyi.

“O halde, neden iki tarafın da iyi özelliklerini almıyoruz?” sorusu sorulmuş olacak ki, bu soruya PWA ile cevap verilmiş:

  1. Native kadar olmasa bile önemli özellikleri kullanabiliyoruz.
  2. Ulaştığı kitle Native’den çok daha geniş.

Hadi diyelim PWA olmayan bir uygulama geliştirdiniz. Eğer iOS işletim sistemi kullanan telefona sahipseniz bu uygulamaları yüklemek için App Store’a girmek zorundasınız. Benzer şekilde Android işletim sistemi telefonunuz varsa, bu uygulamaları yüklemek için Google Play Store’u ziyaret etmeniz gerekiyor. Bu adımları Native ve Cross-Platform uygulamaları yüklemek için izlemek zorundayız. Öte yandan, uygulama geliştiricileri için ise, Google Play Store’a tek seferlik $25, App Store’a ise yıllık $99 ödeme yapılması gerekiyor.(Bu yazı yazılırken, $1 = ₺6.41)

Peki bunun App Store’daki uygulamalardan ne farkı var?
  • Yükleme süresi: Örnekte gördüğünüz gibi, yüklemesi çok kolay ve çok hızlıdır. Ortalama olarak 15 kat daha hızlıdır.

Bu tür uygulamaları nasıl yükleyeceğimiz konusunda canlı bir örneğe bakalım:

Sahip olduğunuz telefondaki internet tarayıcınızdan https://app.ft.com/ sitesine giriyoruz. Daha sonra Action(Share) tuşuna basıyoruz. (Alttaki kısımdaki en ortadaki tuş) Çıkan ekranda “Ana Ekrana Ekle” seçeneğine tıklayıp “Ekle” diyoruz.

Bu adımları izledikten sonra ana ekrana döndüğümüzde, uygulamanın yüklenmiş olduğunu göreceğiz. Uygulamayı açtığımızda ise App Store’dan indirilmiş bir uygulamadan farkı yok gibi durduğunu görüyoruz.

Uygulamayı açınca bizi bu manzara bekliyor.
  • Boyut: Pinterest’in Android uygulaması 9.6 MB, iOS uygulaması 56 MB iken, PWA sadece 150 KB yer kaplamaktadır. Ortalama olarak ise 25 kat daha az yer kaplar.
  • Uygulama hızı: Yapılan başka bir araştırmada ise, bir web sitesini ziyaret eden kullanıcılar eğer sitenin açılması 3 saniyeden uzun sürüyor ise, siteyi ziyaret etmekten vazgeçiyor. O halde PWA hızlı olmalıdır. Bunu da Service Worker ile sağlar. Önceden gelen veriyi cache’ler ve her seferinde network’e istek atmak yerine cache’lenen veriyi gösterir.

Google PWA konusunda çok ciddi çalışmalar yapıyor. Temmuz ayında “Payment API” çıkardıklarını duyurdular, böylece uygulama içi ödeme adına çok önemli bir adım atıldı.

Hangi şirketler bunu kullanıyor?
  1. Alibaba
  2. Forbes
  3. Pinterest
  4. Twitter Lite(Evet, Twitter da bunun için hazırlık yapıyor)

Sonuç olarak, PWA çok büyük bir potansiyele sahip ve en büyük destekçisi Google. Native uygulamaların yerini alır mı, bunu zaman gösterir. Ama mobile uygulamala geliştirme sürecine yeni bir soluk getireceği kesin.