PWA vs SPA: Benzer ama Farklı
Yayınlanan: 2019-09-18İçindekiler
Standart web sitelerinin çekiciliği cazibesini kaybetmeye başlıyor ve yerini web uygulamalarına bırakıyor. Her geçen gün web uygulamaları, ilgi çekici ve şaşırtıcı derecede hızlı deneyimi nedeniyle giderek daha popüler hale geliyor.
Bu teknolojik başarının çoğu, yalnızca belirli mimarileri web sitenizin yapısına uygulayarak, web sitenizin istikrarını, performansını ve katılımını sağlayarak elde edilebilir.
Şu anda web uygulamanızı yapılandırmak için iki popüler yaklaşım PWA'lar ve SPA'lardır. Bu iki yaklaşımla ilgili ortak anlayışa göre, bunlar aynı değildir. Gözden kaçan farklılıkları genellikle maliyetli hatalara ve fırsatların kaçırılmasına yol açtığı için bu çok önemlidir ; şüphesiz siz -muhtemelen her milisaniyenin önemli olduğu bir site sahibi- web uygulamanızın dünyanın geri kalanının gerisinde kalmasını istemezsiniz.
Nasıl Çalışırlar?
Tek Sayfa Uygulamaları (SPA)
SPA (Tek Sayfa Uygulaması) , bir sunucudan tamamen indirilmek yerine mevcut sayfası dinamik olarak güncellenen bir web sitesidir. Başka bir deyişle, web uygulamanız için gerekli tüm uygulama kodunun (HTML, CSS, JavaScript) yalnızca bir kez yüklenmesi yeterlidir. Kullanıcı web uygulamasında gezinirken, güncellenmesi gereken tüm içerik ve öğeler, kullanıcının tarayıcıyı yeniden yüklemesine gerek kalmadan getirilir ve yeniden oluşturulur.
Bu, tarayıcı ve sunucu arasındaki geleneksel gidiş-dönüşten tasarruf sağlar, böylece daha hızlı etkileşimler ve daha iyi kullanıcı memnuniyeti sağlar.

Muhtemelen SPA'yı her zaman farkında bile olmadan kullanıyorsunuz. Çoğu sosyal medya web sitesinin nasıl aynı şekilde hissettiğine dikkat edin? Bunun nedeni, hepsinin kullanıcı deneyimini kolaylaştırmak ve sürekli bir haber güncelleme beslemesi oluşturmak için SPA'ları kullanmasıdır.
Muhtemelen düzenli olarak kullandığınız önemli SPA'lardan bazıları şunlardır:
- Gmail
- Netflix
- Google Haritalar
Aşamalı Web Uygulamaları (PWA'lar)
SPA'dan farklı olarak, Aşamalı Web Uygulaması (PWA), belirli bir mimariden çok bir dizi yönerge ve kontrol listesi gibidir. PWA'lar bilinmektedir ve aşağıdakiler gibi çeşitli özelliklerle SPA'lardan farklıdır:
- Hizmet Çalışanları: Hizmet çalışanları, çevrimdışı kullanılabilirlik ve anında iletme bildirimleri gibi PWA'nın öne çıkan özelliklerinin çoğu için teknik temeli sağlar.
- Web Uygulaması Bildirimi: PWA'nız için gerekli meta verileri içeren bir JSON dosyası. Web uygulaması bildirimleri, PWA bildirim oluşturucu kullanılarak otomatik olarak oluşturulabilir.
- HTTPS: PWA'lara her zaman güvenli bir kaynaktan sunulur.

Hizmet çalışanları, tarayıcı ve ağ arasında bir proxy görevi görür ve web sitesinin varlıklarının önbelleğe alınmasından ve ağ isteklerinin ele geçirilmesinden sorumludur; bu, web sitesinin çevrimdışı kullanılabilirliğine ve anında iletme bildirimleri de dahil olmak üzere çeşitli diğer özelliklere yol açar.
Servis çalışanları da arka planda çok yardımcı oluyor. Çevrimdışı yetenekler sunmanın yanı sıra, çoğu PWA web sitesinin bu kadar verimli ve hızlı yüklenmesinin ana nedeni olan ağır hesaplamaların çoğundan da sorumludurlar.
Progressive Web App'in ne olduğu hakkında ayrıntılı bir kılavuz yazdık. Yani onu kaçıramazsın!
Nasıl Benzerler?
Hem yeni hem de devrim niteliğinde teknolojiler olan bu iki mimari, kullanıcısına geleneksel web sitelerinden çok farklı, uygulama benzeri, ilgi çekici bir deneyim sunuyor. İlk bakışta birbirleriyle kolayca karıştırılabilirler; Ancak tüm bu deneyimleri mümkün kılan temel süreçler aynı değildir.
Fark ne?
Bir PWA'nın neredeyse her zaman bir SPA olduğuna dair yaygın bir yanılgı vardır ve bu tamamen yanlıştır. Yukarıdaki PWA gereksinimlerinden, web sitesi içeriğinin tarayıcıda oluşturulması gerektiğini veya bir PWA'nın sunucu tarafından oluşturulan sayfaları istememesi gerektiğini hiçbir yerde belirtmediğini görebilirsiniz.
PWA, basitçe söylemek gerekirse, Web'in sunduğu en iyi niteliklere sahip bir web sitesidir. Güvenilir, Hızlı ve İlgi Çekicidir.
Ve PWA, kullanıcı arayüzünden ayrı bir iş parçacığında çalışan hizmet çalışanları gerektirdiğinden, PWA'lar, sitelerin önceden getirilmesi için hemen hemen her zaman belirli bir ilk yükleme ekranına eşlik eden SPA'ların aksine, içerikleri her zaman hemen yakınında görüntülenecek şekilde farklılık gösterir. varlıklar. Bu, SPA JavaScript çerçevesinin web uygulamalarınıza yerleştirdiği bol miktarda JavaScript ek yükünün tamamı olmasa da çoğunun bunun yerine hizmet çalışanına yeniden tahsis edilebileceği anlamına gelir.


Açıkçası, bu ikisi arasındaki farklar sadece bu değil, incelenecek daha çok şey var:
Hız açısından
Hızla ilgili olarak, bu iki mimari, her ikisi de son teknoloji olduklarından oldukça benzerdir. Ancak üstünlük burada PWA'ya gidebilir.
Bunun nedeni, hem SPA'lar hem de PWA'lar geliştirmeleri için JavaScript kullanırken, PWA'nın bazı işleri gerçekleştirmek için hizmet çalışanlarından yararlanabilmesidir. Başka bir deyişle, SPA'ların web uygulamalarınıza eklediği aşırı JavaScript ek yükünün çoğu, bunun yerine hizmet çalışanlarına devredilebilir, böylece JavaScript ayak izini büyük ölçüde azaltır.

Bu, PWA sitelerinin birçok site varlığını önceden önbelleğe almasını sağlar: komut dosyaları, CSS, resimler ve işaretleme, gerekli olmadan önce. Bu ön önbellekler sayesinde, kullanıcının ağı, işleme ile gelen ek streslerden kurtulur ve çevrimdışı çalışabilir.
Maliyet açısından
PWA'nın SPA'ya kaybettiği yer burası. En son teknolojiye sahip olan PWA, sonuç olarak ek bir maliyeti de beraberinde getiriyor. Bu, SPA'lara kıyasla daha akıcı bir süreç olmadığı için PWA'nın gelişiminin genellikle haftalarca hatta aylarca sürdüğü anlamına gelmez.
PWA'lar : 2000 $ – 20.000$
SPA'lar : 1500 – 12.000$
Geliştiricinizin oranı, işin karmaşıklığı, tercihleriniz ve özelleştirmeleriniz gibi inşaat maliyetlerinizi etkileyen birçok faktör vardır… bunların tümü bir maliyet tahmini yaparken dikkate alınmalıdır.
Önerilen okuma: Bir Magento PWA inşa etmenin maliyeti nedir?
Kullanıcı Deneyimi/Kullanıcı Arayüzü Açısından
SPA'lar geçmişte yerini almışken, daha iyi Kullanıcı Deneyimi (UX) sunduğu için insanlar PWA'lara dönüşmeye başlıyor.
Her ikisi de uygulama benzeri arayüze sahip olan PWA, çevrimdışı veya yavaş bağlantı koşullarında bile daha fazla etkileşim ve güvenilirlik sağlar. Bu nedenlerle Twitter gibi etkili markalar, sitelerinin kendi PWA versiyonunu Twitter Lite'ı yayınlayarak PWA hareketini başlattılar.

Ve bu sadece Twitter değil. PWA hareketinin burada kalması bekleniyor; artı Spotify'ın son katılımıyla hareket, yakın zamanda herhangi bir yavaşlama belirtisi göstermiyor gibi görünüyor.

Tek Sayfa Uygulaması, büyük sitelerde tatmin edici UX sağlayamama sınırına sahiptir; bu nedenle, Gmail ve Facebook gibi görsel olarak çarpıcı olmayan ve veri odaklı siteler için en iyi sonucu verir.

Güvenlik Açısından
Güvenlik hassas bir konudur. Hem PWA hem de SPA, geliştirmeler için ana kitaplıkları olarak JavaScript'i kullanırken, güvenlikle ilgili sorunları, çoğu SPA'dan ve XSS (siteler arası komut dosyası oluşturma) sorunundan kaynaklanan çok farklıdır.
Tüm bağlantıların güvenli bir HTTPS kaynağından geçmesi Progressive Web App'in doğası gereği olduğundan, PWA'da güvenlikle ilgili çok daha az endişe dile getirilir. PWA'lar gibi HTTPS de hizmet çalışanları gibi en son özelliklerin erişilebilir ve mümkün kılındığı Web'lerin geleceğidir.
Erişilebilirlik Açısından
SPA'larla karşılaştırıldığında, PWA'lara, özellikle de Masaüstü PWA için en son Chrome desteğiyle, genellikle daha erişilebilir. PWA'larla etkileşime giren kullanıcılar, kullandıkları uygulamanın bir kısayolunu Ana Ekranlarına veya Masaüstüne ekleme seçeneğine sahip olabilir.

SPA'lar, her sayfa geçişi yapıldığında kullanıcısını hiçliğin ortasında bırakma eğiliminde olduğundan, erişilebilirlik söz konusu olduğunda gerçekten korkunçtur . Sayfa DOM (Belge Nesne Modeli) yapısını tamamen değiştirmeye devam ederse, hiçbir arya veya rol özniteliği onlara yardımcı olamayacağından, bu özellikle engelli kullanıcılar için sinir bozucudur.
Toplama
SPA'lar ne kadar devrimsel olsa da, zaman yavaş yavaş onu yakalamış gibi görünüyor. SPA'lar ve PWA'lar aynı türden olsalar da, giderek daha fazla insan SPA'lar yerine PWA'ları seçiyor ve PWA'ların getirdiği faydalar göz önüne alındığında bu anlaşılabilir bir durum.
SimiCart ile Magento tüccarları için en iyi PWA çözümünü sunuyoruz.