Progressive Web Application (PWA)

Orta Seviye

Akıllı telefonların ve mobil uygulamaların ortaya çıkışı ile birlikte insanoğlunun çevrimiçi alışveriş, fatura ödeme, otel rezervasyonu ve benzeri gibi herhangi bir sisteme anında erişmesi sağlanmıştır. Akıllı telefonların mobil olması, internete kolay erişim sağlaması, karmaşık donanım gerektirmemesi, kullanıcıları masaüstü ve iş istasyonlarından uzaklaşmaya zorlamıştır. 

Mobil uygulamalar, kullanıcılara dünyanın herhangi bir yerindeki herhangi bir hizmete kolay ve hızlı bağlantı, daha hızlı işlemler sunarak web uygulamalarını aşmalarına yardımcı olmaktadır. Ancak gözlemlendiği gibi, piyasada binlerce akıllı cihazlar olmasına rağmen, bu mobil uygulamaların indirme marjları çok daha azdır. Mobil uygulamaların geliştirme maliyeti oldukça yüksektir ancak web uygulamalarıyla karşılaştırıldığında bu durumun haklılık payı görülmemektedir. Bu nedenle daha küçük firmalar maliyet, geliştirme süresi, kaynaklar gibi çeşitli kısıtlamalar nedeniyle yerel bir mobil uygulamaya sahip olmayı göze alamamaktadırlar. Ek olarak, mobil uygulamalar yerine web uygulamalarını kullanmayı tercih eden bir kısım web kullanıcıları da mevcuttur.

Aşamalı Web Uygulamaları, mobil bir uygulama gibi görünen, hissettiren ve çalışan web siteleri olarak tanımlanmaktadır. Herhangi bir geleneksel web sitesi gibi, aşamalı web uygulamalarına belirli bir URL kullanılarak erişilir ve ardından kullanıcılar mobil bir uygulamaya benzer şekilde uygulamada gezinebilmektedirler.

Aşamalı Web Uygulamaları (PWA), yeni bir yazılım geliştirme metodolojisini belirtmek için kullanılan bir terim olarak tanımlanmaktadır. Geleneksel uygulamalardan farklı olarak, aşamalı web uygulamaları, normal web sayfalarının (veya web sitelerinin) ve mobil uygulamanın bir karışımıdır. Bu yeni uygulama modeli, çoğu modern tarayıcının sunduğu özellikleri mobil deneyimin avantajlarıyla birleştirmeye çalışmaktadır.

Aşamalı web uygulamaları, bir web sitesinde kullanıcılara mobil uygulama gibi bir deneyim sunma hizmetini vaat etmektedir. Yüklemek veya indirmek zorunda kalmadan bir uygulamaya sahip olmak gibi düşünülebilir. Bu uygulamalar için yaygın bazı örnekler Instagram, Pinterest, Uber olarak bilinmektedir.

Aşamalı Web Uygulaması (PWA) terimi, modern web teknolojileri kullanılarak oluşturulan ve temel web standartlarını takip eden özel bir uygulama türünü ifade eder. Esasen PWA, yerel bir uygulama gibi çalışan bir web uygulamasıdır. Ancak bu ifadeyi tam olarak anlayabilmek için web uygulamaları ve yerel uygulamalar arasındaki farkların bilinmesi gerekmektedir.

Web Uygulamaları ve Yerel Uygulamalar

Web uygulamaları herhangi bir internet tarayıcısı üzerinden kolayca erişilebilir olduklarından kullanıcı dostu uygulamalar olarak bilinmektedir. Web uygulamalarını kullanırken, kullanıcıların uygulamayı bilgisayarlarına veya mobil cihazlarına yüklemelerine gerek yoktur. Web uygulamaları bir web sunucusunda çevrimiçi olarak barındırılır, başka bir deyişle bu durum, web uygulamalarının her tür cihazda ve işletim sisteminde kolayca güncellenip kullanılabileceği anlamına gelmektedir. Güncellemeleri birden fazla uygulama mağazasına veya doğrudan kullanıcılara iletmeye gerek yoktur.

Öte yandan yerel uygulamalar, kullanıcıların cihazlarına yerel olarak indirip yüklemeleri gereken uygulamalardır. Bunlar, uygulama mağazaları (Google Play, AppStore gibi) aracılığıyla düzenli olarak indirdiğimiz uygulamalardır. Genel olarak yerel uygulamalar, cihazın donanımı ve yerel özellikleriyle (kamera, GPS ve mikrofon dahil) daha iyi senkronize çalışabildikleri için web uygulamalarından daha yüksek hız ve performansa sahiptir. Ancak yerel uygulamaların geliştirilmesi daha maliyetlidir ve her zaman tüm cihazlarla uyumlu değildir (her işletim sistemi uygulamanın kendi sürümüne ihtiyaç duyar).

Aşamalı Web Uygulamalarının Faydaları

Aşamalı web uygulaması geliştirmenin çeşitli avantajları vardır. Aşağıda, mobil uygulama benzeri özellikler sağlamanın yanı sıra, aşamalı web uygulamasının genişlettiği çok önemli avantajlar sıralanmıştır.

  1. Çevrimdışı Kullanılabilirlik: Ağın olmadığı bir bölgedeyken bile Whatsapp platformuna erişebilirlik gözlemlenebilir. Mesaj gönderme veya alma durumu mümkün değildir ancak yine de kullanıcı arayüzü görülebilir ve mesaj yazılabilmektedir. Akıllı telefon sinyal yakaladığında ve İnternet erişimi sağladığında, mesajlar otomatik olarak gönderilmektedir. Aşamalı web uygulamaları, web’de tam olarak aynı hizmeti sunmaktadır. Örnek olarak, İnternet bağlantısı olmayan bir web sitesi yüklenmeye çalışılırsa, çevrimdışı olunduğu söylenen bir mesaj alınır. Aşamalı web uygulamaları, (Aşamalı web uygulamalarının çevrimiçi modda en az bir kez daha önce ziyaret edilmiş olması şartıyla) çevrimdışı olunduğunda dahi web sitesine bağlanmayı sağlamaktadır.
  2. Sayfa Yükleme Hızı: Normal web sitelerine kıyasla, aşamalı web uygulamalarının anında yüklenme süresi mevcuttur. Akıllı önbelleğe alma yöntemine dayandığından, ilk yükleme ve sonraki yüklemeler daha hızlı olacaktır. Bu nedenle, aşamalı web uygulamaları için sekme oranı, mobil web sitelerine kıyasla daha düşüktür.
  3. Platform Bağımsızlığı: Yerel mobil uygulamalar platforma özeldir ve yalnızca Android veya iOS gibi ilgili işletim sistemlerinden erişilebilirken, aşamalı web uygulamaları platforma bağlı değildir ve tarayıcı tabanlı olduklarından herhangi bir işletim sisteminde çalışabilirler.
  4. Arka Planda Senkronizasyon: Mobil uygulamalar, uygulamaya yeni veya ek özellikleri entegre etmek için sık sık uygulamaları yeniden yüklemeyi veya güncellemeyi isterken, aşamalı web uygulamalarında içerik arka planda güncellenir ve yeni özellikler veya güncellemeler otomatik olarak web sitesine basit bir sayfa yenileme ile entegre edilmektedir.
  5. SEO (Arama Motoru Optimizasyonu) için Endekslenebilirlik: SEO, Google gibi bir arama motorunun ekleyebileceği herhangi bir web sitesine daha fazla görünürlük kazandırmaya yardımcı olmaktadır. Aşamalı web uygulamaları teknik olarak bir web sitesi olduğundan, dizine eklenebilir ve SEO tekniklerini uygulayarak daha geniş bir kitleye ulaşabilir.
  6. Açılır kutular olan anlık bildirimler, belirli bir özelliğe abone olmak için açılır pencere gibi, tıklamayla kullanıcı eylemini teşvik eder, aynı zamanda aşamalı web uygulamalarının sunduğu bir işlevdir (iOS haricinde). Bu özelliği kullanarak masaüstü ana ekranına bir web sitesine bağlanan aşamalı web uygulaması kısayol simgesi eklenebilmektedir.
  7. Aşamalı web uygulamaları geliştirme açısından düşük maliyetle çalışır ve daha hızlı bir şekilde geliştirilebilmektedir.
  8. Ayrıca herhangi bir işletim sisteminde çalışabildikleri için platforma özel yerel uygulama geliştirme teknik uzmanlığına ihtiyaç duyulmamaktadır.

Sonuç olarak, Aşamalı web uygulamaları (PWA’lar) güvenilir, hızlı ve ilgi çekicidir. Hem yerel hem de web uygulamalarının en iyi özelliklerini bir araya getirirler. Dolayısıyla, bir web uygulaması olmasına rağmen, aşamalı web uygulamaları neredeyse tüm cihazlar ile uyumludur ve pratikte bir web uygulamasından çok yerel bir uygulamaya benzemektedir. Aşamalı web uygulamaları, basit tarayıcı standartlarını yerine getiren herhangi bir tarayıcıda çalışabilir. PWA’lar, daha yüksek hızda ve çok daha fazla işlevle çalışmalarını sağlayan HTML, CSS ve JavaScript gibi teknolojileri kullanmaktadır. Adından da anlaşılacağı gibi, PWA’lar sürekli olarak aşamalı bir şekilde geliştirilmeye devam edilebilir. Yani bir PWA’nın sürekli olarak geliştirilebilmesi sayesinde kullanım ömrü yoktur şeklinde yorum yapılabilmektedir

Geleneksel web uygulamalarının aksine PWA’lar, çalışmak için kesinlikle bir internet bağlantısına ihtiyaç duymazlar, bu durum da kötü ağ koşullarında veya hatta çevrimdışı olarak çalışmaya devam edebilecekleri anlamına gelmektedir. Ayrıca PWA’lar, arka planda da çalışabilir, her zaman günceldir ve basit bir bağlantıyla kolayca paylaşılabilirdir.

Tüm bunların yanı sıra PWA’lar, web trafiğine dahildir, başka bir deyişle yerel uygulamalardan farklı olarak, bir web sayfasının görüntülenme sayısını artırabilirler, bu durum da reklamlar ve arama performansı için faydalı bir durumdur.