PWA'nızın bir uygulamaya daha benzer hale gelmesini sağlayın

Progresif Web Uygulamanızı bir web sitesi gibi değil, "gerçek" bir uygulama gibi yapın

Progresif Web Uygulamasında moda olan bingo oyununu oynarken, "PWA'lar sadece web siteleridir" ayarını güvenle belirleyebilirsiniz. Microsoft'un PWA belgelerinde bunu kabul ediyor, yani sitede bahsettik. Hatta PWA adayları Frances Berriman ve Alex Russell bile bunu yazdı. PWA'lar yalnızca web sitesi olduğu gibi, aslında bundan çok daha fazlasını ifade eder. Doğru yapılırsa PWA'yı web sitesine değil, "gerçek" bir uygulama gibi hissettirin. Peki gerçek bir uygulama gibi hissetmek ne anlama gelir?

Örnek olarak Apple Podcasts uygulamasını kullanarak bu soruyu yanıtlayabiliriz. Masaüstünde macOS'te, mobil cihazlarda iOS'te (ve iPadOS'te) ise kullanılabilir. Podcast'ler bir medya uygulaması olsa da, yardımlarıyla açıkladığım temel fikirler diğer uygulama kategorileri için de geçerlidir.

İkisi de Podcasts uygulamasını çalıştıran iPhone ile MacBook arasında yan yana duruyorlar.
iPhone ve macOS'teki Apple Podcast'leri (Kaynak).

Çevrimdışı çalıştırılabilir

Bir adım geriye çekilip cep telefonunuzda veya masaüstü bilgisayarınızda bulunan platforma özgü uygulamaları düşündüğünüzde, bir şey çok açıktır: hiçbir şey elde edemezsiniz. Podcast'ler uygulamasında, çevrimdışı olsam bile her zaman bir şeyler var. Ağ bağlantısı olmadığında uygulama doğal olarak açılmaya devam eder. Üst Sıralar bölümünde herhangi bir içerik gösterilmez ancak Yeniden dene düğmesiyle eşlenmiş bir Şu anda bağlanılamıyor iletisi görüntülenir. Çok samimi bir deneyim olmasa da güzel bir deneyim yaşadım.

Ağ bağlantısı olmadığında Podcasts uygulamasında "Şu anda bağlanılamıyor." bilgi mesajı gösteriliyor.
Ağ bağlantısı olmayan Podcasts uygulaması.

Podcasts uygulaması, uygulama kabuğu modeli olarak adlandırılan modeli izler. Temel uygulamayı göstermek için gereken tüm statik içerik (soldaki menü simgeleri ve temel oynatıcı kullanıcı arayüzü simgeleri gibi dekoratif resimler dahil) yerel olarak önbelleğe alınır. Üst Sıralar verileri gibi dinamik içerikler yalnızca istek üzerine yüklenir ve yükleme başarısız olduğunda yerel olarak önbelleğe alınmış yedek içerik kullanılabilir. Bu mimari modeli web uygulamanıza nasıl uygulayacağınızı öğrenmek için Uygulama Kabuğu Modeli adlı makaleyi okuyun.

Çevrimdışı içerik mevcut ve medya oynatılabilir

İnternet'e bağlı değilken, sol taraftaki çekmeceyi kullanarak İndirilenler bölümüne giderek oynatılmaya hazır olan ve poster ve açıklamalar gibi tüm meta verilerle birlikte görüntülenen indirilmiş podcast bölümlerinin keyfini çıkarabilirsiniz.

İndirilmiş bir podcast bölümü çalan Podcasts uygulaması.
İndirilen podcast bölümleri ağ bağlantısı olmadan da oynatılabilir.

Daha önce indirilen medya içeriği, önbellekten sunulabilir. Bunun için Çalışma Kutusu kitaplığındaki Önbelleğe alınmış ses ve videoyu sunma tarifi kullanılabilir. Diğer içerikler her zaman önbellekte veya IndexedDB'de depolanabilir. Tüm ayrıntıları öğrenmek ve hangi depolama teknolojisini ne zaman kullanacağınızı öğrenmek için Web için depolama başlıklı makaleyi okuyun. Kullanılabilir bellek miktarı azaldığında tamamen silinme riski olmadan kalıcı olarak depolanması gereken verileriniz varsa Persistent Storage API'yi kullanabilirsiniz.

Proaktif arka plan indirme

İnternete tekrar bağlandığında http 203 gibi bir sorguyla içerik arayabilirim ve arama sonucuna abone olmaya karar verdiğimde HTTP 203 podcast serinin son bölümü hemen indirilir ve hiç soru sorulmaz.

Podcast uygulaması, abone olduktan hemen sonra bir podcast'in en son bölümünü indirir.
Bir podcast'e abone olduktan sonra en son bölüm hemen indirilir.

Podcast bölümlerini indirme işlemi daha uzun sürebilir. Arka Planda Getirme API'si, indirme işlemleri için tarayıcıya yetki vermenizi sağlar. Böylece, indirme işlemleri arka planda gerçekleştirilir. Android'de ise tarayıcı, bu indirme işlemlerini işletim sistemine daha ayrıntılı yetki verebilir, dolayısıyla tarayıcının sürekli çalışması gerekmez. İndirme işlemi tamamlandıktan sonra uygulamanızın hizmet çalışanı uyanır ve yanıtla ne yapacağınıza karar verebilirsiniz.

Diğer uygulamalarla paylaşım ve etkileşimde bulunma

Podcasts uygulaması diğer uygulamalarla doğal bir şekilde entegre olur. Örneğin, beğendiğim bir bölümü sağ tıkladığımda, cihazımdaki Mesajlar uygulaması gibi diğer uygulamalarla paylaşabiliyorum. Ayrıca, sistem panosuyla doğal olarak entegre oluyor. Herhangi bir bölümü sağ tıklayıp bağlantısını kopyalayabilirim.

Podcasts uygulamasının içerik menüsü, "Bölümü Paylaş → Mesajlar" seçeneğinin işaretli olduğu bir podcast bölümünde çağrılır.
Bir podcast bölümünü Mesajlar uygulamasında paylaşma.

Web Share API ve Web Share Target API, uygulamanızın cihazdaki diğer uygulamalara giden ve bu uygulamalardan metin, dosya ve bağlantı paylaşmasına ve almasına olanak tanır. Bir web uygulamasının işletim sisteminin yerleşik sağ tıklama menüsüne menü öğeleri eklemesi henüz mümkün olmasa da, cihazdaki diğer uygulamalara bağlantı vermenin ve bu uygulamalardan bağlantı oluşturmanın başka birçok yolu vardır. Async Clipboard API ile metin ve resim verilerini (PNG resimleri) sistem panosuna programlı bir şekilde okuyup yazabilirsiniz. Android'de, cihazın kişi yöneticisinden giriş seçmek için Kişi Seçici API'sini kullanabilirsiniz. Hem platforma özel bir uygulama hem de PWA sunuyorsanız platforma özgü uygulamanın yüklü olup olmadığını kontrol etmek için Get Related Apps API'yi kullanabilirsiniz. Bu durumda kullanıcıyı PWA'yı yüklemeye veya web push bildirimlerini kabul etmeye teşvik etmeniz gerekmez.

Arka planda uygulama yenileme

Podcasts uygulamasının ayarlarından, uygulamayı yeni bölümleri otomatik olarak indirecek şekilde yapılandırabilirim. Bu şekilde, bunu düşünmek bile gerekmiyor, güncellenmiş içerikler hep orada olacak. Sihir.

Podcasts uygulamasının "Genel" bölümünde, "Podcast 'leri Yenile" seçeneğinin "Her Saatte Bir" olarak ayarlandığı ayarlar menüsü.
Her saat yeni podcast bölümünü kontrol edecek şekilde yapılandırılan podcast'ler.

Periyodik Arka Plan Senkronizasyonu API'si uygulamanızın çalışmasına gerek kalmadan arka planda düzenli olarak içeriğini yenilemesine olanak tanır. Bu, yeni içeriğin proaktif olarak kullanıma sunulduğu anlamına gelir. Böylece kullanıcılarınız karar verirlerse hemen aramaya başlayabilirler.

Durum bulut üzerinden senkronize edildi

Aynı zamanda aboneliklerim sahip olduğum tüm cihazlarda senkronize ediliyor. Sorunsuz bir dünyada podcast aboneliklerimi manuel olarak senkronize etme konusunda endişelenmeme gerek yok. Aynı şekilde, masaüstü bilgisayarımda dinlediğim bölümlerin mobil cihaz belleğinin dolacağından korkmam da gerek. Çalma durumu senkronize edilir ve dinlenen bölümler otomatik olarak silinir.

Podcasts uygulamasının ayarlar menüsü, "Abonelikleri cihazlar arasında senkronize et" seçeneğinin etkinleştirildiği "Gelişmiş" bölümünde bulunur.
Durum, bulut üzerinden senkronize edilir.

Uygulama durumu verilerinin senkronize edilmesi, Arka Plan Sync API'ye yetki verebileceğiniz bir görevdir. Senkronizasyon işleminin hemen değil, nihayetinde ve belki kullanıcı uygulamayı tekrar kapatmışken bile gerçekleşmesi gerekmez.

Donanım medya tuşu kontrolleri

Diyelim ki Chrome tarayıcıda bir haber sayfasını okurken başka bir uygulamayla meşgulken, dizüstü bilgisayarımdaki medya tuşlarıyla Podcasts uygulamasını kontrol edebiliyorum. İleri veya geri atlamak için uygulamaya geçiş yapmanız gerekmez.

Ek açıklamalı medya tuşları bulunan Apple MacBook Pro Magic Klavye.
Medya anahtarları, Podcasts uygulamasının (Kaynak) kontrol edilmesini sağlar.

Medya anahtarları, Medya Oturumu API'si tarafından desteklenir. Bu şekilde, kullanıcılar fiziksel klavyelerindeki veya kulaklıklarındaki donanım medya tuşlarını kullanabilir, hatta akıllı saatlerindeki yazılım medya tuşlarından web uygulamasını kontrol edebilirler. Arama işlemlerinin sorunsuz ilerlemesi için bir diğer fikir, kullanıcı içeriğin önemli bir bölümünü aradığında (örneğin, açılış jeneriklerini veya bir bölüm sınırını geçmek gibi) bir titreşim kalıbı göndermektir.

Çoklu görev ve uygulama kısayolu

Elbette, Podcasts uygulamasını kullanarak istediğim yerden aynı anda birden fazla iş yapabilirim. Uygulamanın, masaüstüme veya uygulama yuvama da yerleştirebileceğim açıkça ayırt edilebilir bir simgesi var. Böylece Podcast'leri istediğim zaman hemen başlatabilirim.

Biri Podcasts uygulaması olmak üzere aralarından seçim yapabileceğiniz çeşitli uygulama simgeleri içeren macOS görev değiştirici.
Podcasts uygulamasına geri dönme.

Hem masaüstündeki hem de mobil cihazlardaki Progresif Web Uygulamaları ana ekrana, başlat menüsüne veya uygulama yuvasına yüklenebilir. Yükleme, proaktif bir isteme dayalı olarak veya uygulama geliştiricisi tarafından tamamen kontrol edilebilir. Yüklenebilir olmak için gerekenler başlıklı makalede, bilmeniz gereken her şey ele alınmaktadır. Çoklu görev gerçekleştirirken PWA'lar tarayıcıdan bağımsız olarak görünür.

İçerik menüsündeki hızlı işlemler

Yeni içerik için Arama ve Yeni Bölümleri Kontrol Et gibi en yaygın uygulama işlemleri, doğrudan uygulamanın Yuva'daki içerik menüsünden kullanılabilir. Seçenekler menüsünü kullanarak, giriş sırasında uygulamayı da açabilirim.

"Ara" ve "Yeni Bölümleri Kontrol Et" seçeneklerini gösteren, Podcasts uygulama simgesi içerik menüsü.
Hızlı işlemler, doğrudan uygulama simgesinden anında kullanılabilir.

PWA'nın web uygulaması manifest dosyasında uygulama simgesi kısayolları belirterek kullanıcıların doğrudan uygulama simgesinden erişebileceği sık kullanılan görevlere giden hızlı rotaları kaydedebilirsiniz. macOS gibi işletim sistemlerinde kullanıcılar uygulama simgesini sağ tıklayarak da uygulamayı giriş sırasında başlatılacak şekilde ayarlayabilir. Girişte çalıştır teklifiyle ilgili bir teklif üzerinde çalışmalar devam etmektedir.

Varsayılan uygulama olarak kullan

Diğer iOS uygulamaları, hatta web siteleri veya e-postalar, podcasts:// URL şemasından yararlanarak Podcasts uygulamasına entegre edilebilir. Tarayıcıdayken podcasts://podcasts.apple.com/podcast/the-css-podcast/id1042283903 gibi bir bağlantıyı takip edersem doğrudan Podcasts uygulamasına yönlendirilirim ve podcast'e abone olabilir ya da podcast'i dinleyebilirim.

Chrome tarayıcı, kullanıcıya Podcasts uygulamasını açmak isteyip istemediğini soran bir onay iletişim kutusu gösteriyor.
Podcasts uygulaması doğrudan tarayıcıdan açılabilir.

Tamamen özel URL şemaları henüz kullanılamaz, ancak PWA'lar (Progresif Web Uygulaması) için URL Protokolü İşleme teklifi üzerinde çalışmalar devam etmektedir. Şu an için en iyi alternatif, web+ şema önekine sahip registerProtocolHandler()'tir.

Yerel dosya sistemi entegrasyonu

Hemen aklınıza gelmeyebilir, ancak Podcasts uygulaması doğal olarak yerel dosya sistemiyle entegre olur. Bir podcast bölümünü indirdiğimde dizüstü bilgisayarımda ~/Library/Group Containers/243LU875E5.groups.com.apple.podcasts/Library/Cache konumunda depolanıyor. ~/Documents örneğinden farklı olarak, bu dizin elbette normal kullanıcılar tarafından doğrudan erişilmesi için tasarlanmamıştır, ancak dizinde bulunmaktadır. Dosyalardan başka depolama mekanizmalarına çevrimdışı içerik bölümünde atıfta bulunulmuştur.

macOS Finder, Podcasts uygulamasının sistem dizinine gitti.
Podcast bölümleri, özel bir sistem uygulama klasöründe depolanır.

File System Access API, geliştiricilerin cihazın yerel dosya sistemine erişebilmesini sağlar. Bu API'yi doğrudan veya API'yi desteklemeyen tarayıcılar için şeffaf bir şekilde yedek sağlayan browser-fs-access destek kitaplığı üzerinden kullanabilirsiniz. Güvenlik nedeniyle, sistem dizinlerine web'den erişilemez.

Platform görünümü ve tarzı

Podcasts gibi iOS uygulamalarında kulağa çok kolay gelen bir şey var: Metin etiketlerinin hiçbiri seçilemez ve tüm metinler makinenin sistem yazı tipiyle uyumlu. Sistem renk teması (koyu mod) seçimim de dikkate alınır.

Koyu moddaki Podcasts uygulaması.
Podcasts uygulaması açık ve koyu modu destekler.
Açık moddaki Podcasts uygulaması.
Uygulama, varsayılan sistem yazı tipini kullanıyor.

none değerine sahip user-select CSS özelliğini kullanarak kullanıcı arayüzü öğelerinin yanlışlıkla seçilmesini önleyebilirsiniz. Bununla birlikte, uygulama içeriklerini seçilemez hale getirdiği için bu özelliği kötüye kullanmadığınızdan emin olun. Yalnızca düğme metinleri gibi kullanıcı arayüzü öğeleri için kullanılmalıdır. font-family CSS özelliğinin system-ui değeri, uygulamanız için kullanılacak sistemin varsayılan kullanıcı arayüzü yazı tipini belirtmenize olanak tanır. Son olarak uygulamanız, kullanıcının prefers-color-scheme seçimine uyarak kullanıcının renk şeması tercihine uyarak ayarı geçersiz kılmak için isteğe bağlı koyu modu açma/kapatma ayarlayabilir. Karar verilmesi gereken bir başka konu da, örneğin yenilemek için özel çek uygulamak gibi bir kaydırma alanının sınırına ulaşırken tarayıcının ne yapması gerektiği olabilir. overscroll-behavior CSS mülkü ile bunu yapabilirsiniz.

Özelleştirilmiş başlık çubuğu

Podcast Abonelikleri uygulama penceresine baktığınızda, Safari tarayıcı penceresi gibi klasik entegre bir başlık çubuğunun ve araç çubuğunun olmadığını, ancak ana oynatıcı penceresine yerleştirilmiş bir kenar çubuğuna benzeyen özelleştirilmiş bir deneyimin olduğunu fark ediyorsunuz.

Safari tarayıcısının entegre öğe çubuğu ve araç çubuğu.
Podcasts uygulamasının özelleştirilmiş bölünmüş başlık çubuğu.
Safari ve Podcasts'in özelleştirilmiş başlık çubukları.

Şu anda mümkün olmasa da başlık çubuğunu özelleştirme üzerinde çalışılıyor. Bununla birlikte, uygulama pencerenizin görünümünü ve tarzını belirlemek ve hangi varsayılan tarayıcı denetimlerinin (muhtemelen hiçbirinin) gösterilmeyeceğine karar vermek için web uygulaması manifestinin display ve theme-color özelliklerini belirtebilirsiniz.

Hızlı animasyonlar

Podcast Aboneliklerinde uygulama içi animasyonlar hızlı ve akıcıdır. Örneğin, sağ taraftaki Bölüm Notları çekmecesini açtığımda zarif bir şekilde içeri kayar. İndirilen bölümlerimden bir bölümü kaldırdığımda ekranda belirip silinen bölüm tarafından serbest bırakılan ekran alanını tüketiyor.

"Bölüm Notları" çekmecesi genişletilen Podcasts uygulaması.
Çekmece açma gibi uygulama içi animasyonlar hızlı çalışıyor.

Animasyonlar ve Performans makalesinde özetlenen bir dizi en iyi uygulama dikkate alındığında, web'de etkili animasyonlar kesinlikle kullanılabilir. Sayfalara ayrılmış içerikte veya medya bantlarında sık görülen kaydırma animasyonları, CSS Kaydırma Tutturması özelliği kullanılarak büyük ölçüde iyileştirilebilir. Tam kontrol için Web Animasyonları API'sini kullanabilirsiniz.

İçerik, uygulamanın dışında gösterildi

iOS'teki Podcasts uygulaması, içeriği gerçek uygulamanın dışındaki konumlarda gösterebilir. Örneğin, sistemin Widget'ları görünümünde veya Siri Önerisi biçiminde olabilir. Etkileşimde bulunmak için sadece bir dokunmayı gerektiren proaktif, kullanıma dayalı harekete geçirici mesajlara sahip olmak, Podcast'ler gibi uygulamaların yeniden etkileşim oranını büyük oranda artırabilir.

Bir podcast'in yeni bölümünü öneren Podcasts uygulamasını gösteren iOS widget görünümü.
Uygulama içeriği, ana Podcasts uygulamasının dışında gösterilir.

Content Index API'si, uygulamanızın PWA'nın hangi içeriğinin çevrimdışı kullanılabilir olduğunu tarayıcıya bildirmesini sağlar. Böylece tarayıcı bu içeriği ana uygulamanın dışında gösterebilir. Uygulamanızdaki ilgi çekici içeriği speakable ses çalmaya uygun olarak işaretleyerek ve genel olarak yapılandırılmış işaretlemeyi kullanarak, arama motorlarının ve Google Asistan gibi sanal asistanların tekliflerinizi ideal bir şekilde sunmasına yardımcı olabilirsiniz.

Kilit ekranı medya denetimi widget'ı

Podcast bölümü çalınırken Podcast'ler uygulaması; bölüm posteri, bölüm başlığı ve podcast adı gibi meta verileri içeren kilit ekranında şık bir kontrol widget'ı gösterir.

Kilit ekranında zengin meta verilere sahip bir podcast bölümünü gösteren iOS medya oynatma widget'ı.
Uygulamada oynatılan medya, kilit ekranından kontrol edilebilir.

Media Session API'yi kullanarak poster, parça başlıkları vb. meta veriler belirtebilirsiniz. Bunlar daha sonra kilit ekranında, akıllı saatlerde veya tarayıcıdaki diğer medya widget'larında görüntülenir.

Push bildirimleri

Push bildirimleri web'de oldukça rahatsız edici hale geldi (ancak bildirim istemleri artık çok daha sessiz). Ancak doğru şekilde kullanıldığında büyük değer katabilirler. Örneğin, iOS Podcasts uygulaması isteğe bağlı olarak abone olduğum podcast'lerin yeni bölümlerini bana bildirebilir veya yeni podcast bölümleri önerebilir ve uygulamanın yeni özellikleri konusunda beni uyarabilir.

"Bildirimler" ayarları ekranındaki "Yeni Bölümler" bildirimleri açma/kapatma düğmesinin etkin olduğunu gösteren iOS Podcasts uygulaması.
Uygulamalar, kullanıcıyı yeni içerik hakkında bilgilendirmek için push bildirimleri gönderebilir.

Push API'si uygulamanızın push bildirimleri almasına olanak tanıyarak PWA'nızla ilgili önemli etkinlikler hakkında kullanıcılarınızı bilgilendirmenize olanak tanır. Gelecekte bilinen bir zamanda etkinleşmesi gereken ve ağ bağlantısı gerektirmeyen bildirimler için Notification Triggers API'yi kullanabilirsiniz.

Uygulama simgesi rozeti ekleme

Abone olduğum podcast'lerden biri için yeni bölümler çıktığında, Podcasts'in ana ekranı simgesinde uygulama simgesi rozeti beliriyor. Bu rozet beni uygulamayla rahatsız edici olmayacak şekilde yeniden etkileşimde bulunmaya teşvik ediyor.

"Rozetler" açma/kapatma düğmesinin etkin olduğunu gösteren iOS ayarlar ekranı.
Rozetler, uygulamaların kullanıcıları yeni içerik hakkında bilgilendirmenin kolay bir yoludur.

Uygulama simgesi rozetlerini Rozet API'si ile ayarlayabilirsiniz. Bu, özellikle PWA'nızın bazı"okunmamış" öğeler kavramı varsa veya kullanıcının dikkatini göze çarpmadan tekrar uygulamaya çekmek için bir yönteme ihtiyacınız olduğunda faydalıdır.

Medya oynatma, enerji tasarrufu ayarlarına göre önceliklidir

Podcast medyası çalarken ekran kapanabilir ancak sistem bekleme moduna girmez. Uygulamalar da isteğe bağlı olarak ekranı açık tutabilir (örneğin, şarkı sözlerini veya altyazıları gösterebilir).

macOS Tercihleri'ne gidin.
Uygulamalar ekranı uyanık tutabilir.

Screen Wake Lock API, ekranın kapanmasını önlemenizi sağlar. Web'de medya oynatma, sistemin bekleme moduna girmesini otomatik olarak engeller.

Uygulama mağazası aracılığıyla uygulama keşfi

Podcasts uygulaması, macOS masaüstü deneyiminin bir parçası olsa da iOS'ta App Store'dan yüklenmelidir. podcast, podcasts veya apple podcasts için yapılan hızlı bir arama, uygulamayı hemen App Store'da açar.

iOS App Store'daki "podcast" araması, Podcasts uygulamasını gösteriyor.
Kullanıcılar uygulama mağazalarında uygulamaları keşfetmeyi öğrendi.

Apple, App Store'da PWA'lara izin vermese de Android'de PWA'nızı Güvenilir Web Etkinliği içine sarmalanmış olarak gönderebilirsiniz. bubblewrap komut dosyası bunu sorunsuz bir işlem haline getirir. Bu komut dosyası aynı zamanda PWABuilder'ın komut satırına dokunmadan kullanabileceğiniz Android uygulama dışa aktarma özelliğini dahili olarak destekler.

Özellik özeti

Aşağıdaki tabloda, tüm özelliklerin kısa bir özeti ve bu özellikleri web'de gerçekleştirmek için kullanabileceğiniz yararlı kaynakların bir listesi sunulmaktadır.

Öne Çıkarın Web'de bunu yaparken kullanabileceğiniz faydalı kaynaklar
Çevrimdışı olarak çalışabilme
Çevrimdışı içerik kullanılabilir ve medya oynatılabilir
Proaktif arka plan indirme
Diğer uygulamalarla paylaşım ve etkileşimde bulunma
Arka planda uygulama yenileme
Durum bulut üzerinden senkronize edildi
Donanım medya tuşu kontrolleri
Çoklu görev ve uygulama kısayolu
İçerik menüsündeki hızlı işlemler
Varsayılan uygulama olarak işlem yap
Yerel dosya sistemi entegrasyonu
Platformun görünümü ve tarzı
Özelleştirilmiş başlık çubuğu
Hızlı animasyonlar
İçerik, uygulamanın dışında gösterildi
Kilit ekranı medya denetimi widget'ı
Push bildirimleri
Uygulama simgesi rozeti
Medya oynatma, enerji tasarrufu ayarlarını geçersiz kılar
Uygulama mağazasından uygulama keşfi

Sonuç

PWA'lar, 2015'teki kullanıma sunulmalarından bu yana çok yol katetti. Project Fugu 🐡 bağlamında, şirketler arası Chromium ekibi kalan son boşlukları kapatmak için çalışıyor. Bu makaledeki tavsiyelerin sadece bir kısmını bile uygulayarak, parça parça bu uygulama benzeri hissiyatla yaklaşabilir ve kullanıcılarınızın "sadece bir web sitesiyle" uğraştıklarını unutmalarını sağlayabilirsiniz. Çünkü dürüst olmak gerekirse çoğu kullanıcı, gerçek bir uygulama gibi göründüğü sürece uygulamanızın nasıl geliştirildiğini (ve neden geliştirmeli?) önemsemez.

Teşekkür

Bu makale Kayce Basques, Joe Medley, Joshua Bell, Dion Almaer, Ade Oshineye, Pete LePage, Sam Thorogood, Reilly Grants ve Reilly Grants tarafından incelenmiştir.