Android'de Progresif Web Uygulamalarının yerel uygulamalara kıyasla sahip olduğu özellikler ve bunun tersi [kapalı]


112

2015 yılında Google, Android için web uygulamaları geliştirmek için yeni bir yaklaşım sundu: aşamalı web uygulamaları . Yerel bir uygulama gibi görünecek, cihazın kamera ve ivmeölçer gibi donanımını kullanabilecek, push bildirimleri alabilecek, başlatıcı simgesine sahip olacak, çevrimdışı çalışabilecek, yerel verileri depolayabilecek bir uygulama oluşturulabilir.

Android'de, yerel uygulamaların hangi özellikleri ilerici web uygulamalarını desteklemediğini sağlar ve bunun tersi de geçerlidir.

Yanıtlar:


201

TL; DR - Şubat 2017 itibariyle, Progressive Web Apps, Twitter'ın tüm mobil web trafiğini bir React PWA'ya taşıdığı yeterince güçlü bir platformdur .

Ağustos 2016 itibarıyla, Progresif Web Uygulamaları aslında düşünülenden daha fazla donanım erişimi sunuyor. İşte Android'deki Chrome 52 kararlı cihazımdan whatwebcando.today'ın bir ekran görüntüsü :

Bugün Web Ne Yapabilir - Android'de Chrome 52

Donanım erişimi şunları içerir:

Yaklaşan donanım erişimi

Bu özellikler uygulanmaktadır veya bazı tarayıcılarda zaten çalışmaktadır:

Unutulmaması gereken bir diğer önemli nokta da Origin Trials Framework'ün ( Chrome'da uygulandı ) üreticilerin donanım (veya yazılım) yeteneklerini standartlaştırma sürecinden geçmek zorunda kalmadan ortaya çıkarmasına ve test etmesine olanak sağlamasıdır. Örneğin, bir telefon üreticisi, bir basınç sensörünün değerlerini okumak için bir API gösterebilir, onu iyileştirebilir ve ardından W3C'ye gönderebilir.

Donanım erişiminin yanı sıra, artık web uygulamalarında kullanılabilen yerel uygulamalar tarafından geleneksel olarak kullanılan yazılım özellikleri de vardır.

PWA'ların da kullanabileceği geleneksel yerel özellikler

Bu özellikler birçok kullanım durumunu kapsar ve günümüzde pek çok popüler yerel uygulama PWA olarak yeniden yazılabilir. Örneğin Slack'i ele alalım. Açık kaynak alternatifi Rocket.Chat, bir PWA sürümü oluşturuyor . Daha fazla PWA demosu için bkz. Https://pwa.rocks .

PWA'lara gelen yerel benzeri özellikler

Yerel Android özellikleri henüz PWA'larda kullanılamıyor

  • parmak izi sensörüne erişim ( geliştirme aşamasında )
  • kişiler, takvim ve tarayıcı yer imlerine erişim (bunlara erişimin olmaması, gizlilik bilincine sahip kullanıcılar tarafından bir özellik olarak görülebilir )
  • alarm
  • telefon özellikleri - SMS'leri veya aramaları engelleyin, SMS / MMS gönderin, kullanıcının telefon numarasını alın, sesli postayı okuyun, Çevirici iletişim kutusu olmadan telefon görüşmeleri yapın
  • bazı donanım özelliklerine ve sensörlere düşük seviyeli erişim: el feneri, atmosferik basınç sensörü
  • sistem erişimi: görev yönetimi, sistem ayarlarını değiştirme, günlükler

Progresif Web Uygulamaları, yerel uygulamalarda bulunmayan özellikler sunar

  • keşfedilebilirlik - aşamalı web uygulamalarındaki içerik arama motorları tarafından kolayca bulunabilir, ancak StackOverflow gibi içerik merkezli yerel bir uygulama, "pwa ile yerel" gibi erişim sunduğu içerik için uygulama mağazası arama sonuçlarında gösterilmez. Bu, çok sayıdaki alt topluluklarını uygulama mağazasına ayrı "uygulamalar" olarak gösteremeyen Reddit gibi topluluklar için bir sorundur.
  • bağlanabilirlik - herhangi bir sayfanın / ekranın kolayca paylaşılabilen doğrudan bir bağlantısı olabilir
  • yer imi - bir uygulamanın görünümüne doğrudan erişmek için bu bağlantıyı kaydedin
  • her zaman taze - güncellemeleri göndermek için uygulama mağazalarına gitmeye gerek yok
  • evrensel erişim - uygulama mağazalarına tabi değil, bazen keyfi politikalar veya (istenmeyen) coğrafi kısıtlamalar
  • pahalı ve / veya yavaş İnternet erişimi olan gelişmekte olan pazarlarda son derece önemli olan büyük veri tasarrufu . Örneğin, e-ticaret web sitesi Konga, bir PWA'ya geçerek ilk yüklemede veri kullanımını% 92 azalttı .
  • düşük dağıtım sürtünmesi - progresif web uygulamanız çevrimiçiyse, Android (ve diğer mobil) kullanıcıları için zaten erişilebilir.

Son not: PWA'lar aynı kod tabanıyla masaüstünde ve çoğu mobil cihazda çalışır. Masaüstü ortamlarında (ChromeOS ve sonraki Mac ve Windows), diğer uygulamalarla aynı şekilde başlatılırlar ve normal bir uygulama penceresinde çalışırlar (tarayıcı sekmesi olmadan).


1
Küçük bir not: "Android Hazır Uygulamalar" ile, Yerel Uygulamaların (en azından Android'de) artık bağlanabilirlikten yoksun olmadığını iddia edebilirsiniz.
shawnjan

Güzel cevap Dan! PWA'ların ana cihazın telefon numarasına erişmesinin bir yolu var mı?
Alexander Mills

@Alexander: hayır ("telefon özellikleri" maddesine bakın), çünkü bu bir gizlilik ihlali olur. Bunun yerine otomatik doldurmayı kullanmayı düşünün .
Dan Dascalescu


12

Yerel uygulamaların ana avantajı, bir platformun sunabileceği tüm yerel API'lere (kişiler, kamera flaşı, SMS, telefon, ağ, bluetooth, sensörler, ham soketler ...) erişebilmeleridir, ancak progresif bir web uygulaması bunu yapamaz (henüz) Standart Web yetenekleri tarafından kısıtlandıkları için.

Aşamalı web uygulamalarının amacı, bu yetenekleri en kritik durumları kapsayacak şekilde genişletmektir. Bu modda, Progressive Web Apps: Escaping Tabs Without Our Soul'a bir göz atın, burada progresif bir web uygulamasının neler sunması gerektiğinin bir listesini bulabilirsiniz:

  • Duyarlı: herhangi bir form faktörüne uyacak şekilde
  • Bağlantıdan bağımsız: Çevrimdışı çalışmalarına izin vermek için Servis Çalışanlarıyla aşamalı olarak geliştirilmiştir
  • Uygulama benzeri etkileşimler: Uygun gezinmeler ve etkileşimler oluşturmak için bir Kabuk + İçerik uygulama modeli benimseyin
  • Yeni: Servis Çalışanı güncelleme süreci sayesinde şeffaf bir şekilde her zaman güncel
  • Güvenli: Gözetlemeyi önlemek için TLS (bir Hizmet Çalışanı gereksinimi) aracılığıyla sunulur
  • Keşfedilebilir: Arama motorlarının bunları bulmasına olanak tanıyan W3C Manifestoları ve Hizmet Çalışanı kayıt kapsamı sayesinde "uygulamalar" olarak tanımlanabilirler
  • Yeniden devreye alınabilir: İşletim sisteminin yeniden etkileşim kullanıcı arayüzlerine erişebilir; örn. Push Bildirimleri
  • Yüklenebilir: tarayıcı tarafından sağlanan istemler aracılığıyla ana ekrana, kullanıcıların bir uygulama mağazasının karmaşası olmadan en yararlı buldukları uygulamaları "tutmalarına" olanak tanır
  • Bağlanabilir: sıfır sürtünmeli, sıfır kurulum ve paylaşması kolay oldukları anlamına gelir. URL'lerin sosyal gücü önemlidir.

Bu noktalardan, bağlanabilirlik , yerel uygulamalar tarafından Açık Web'den mobil derin bağlantı biçiminde içe aktarılan ilk özelliklerden biriydi .

Ancak , yerel alternatiflere göre bir platform olarak Web'in ana avantajlarından birini temsil ettiği için, combo fresh + kurulabilir özelliğini hak ediyor . Burada yüklenebilir , ana ekranınızda göründüğü anlamına gelir. İndirme ve kurulum aşamalarını geçmeniz gerektiği anlamına gelmez. Tarama sırasında bir URL açarsınız veya bir hizmet keşfedersiniz ve tamamlanır: ana ekranınızda görünür .

Taze , normal bir web'in nasıl çalıştığını ifade eder, anında yükleme ve sorunsuz güncellemeler sunar. YouTube web'den bir güncelleme yüklemeniz istenmez, dağıtılır ve bir sonraki ziyaretinizde onu tüketirsiniz.

Kalan puanların faydalarından bahsetmiyorum çünkü farklılıkları soruyordunuz ve örneğin yeniden etkileşim, yerel uygulamaların zaten push hizmetleri ve bildirimler aracılığıyla sahip olduğu bir şey ve şimdi web uygulamaları yakaladı.

Diğer ilgili ve anahtar soru, hangi platformun ihtiyaçlarınıza daha uygun olduğudur. Özel donanım yeteneklerine erişemiyorsanız, Web yeterli olmalı ve pazarlardan, özel ekosistemlerden özgür olduğunuz web'i seçmeli ve bu arada, belirli bir düzeyde her yerde ve birlikte çalışabilirlik sağlayabilmelisiniz .

Son notlar olarak, www.flipkart.com'a Chrome ile bir cep telefonundan göz atmanızı tavsiye ederim . Oldukça harika: hata yok, sorunsuz gezinme, uygulama benzeri his. Çevrimdışı olun ve çalışmaya devam edecek. Bu gönderinin gerçekten gerçek bir dünya örneği. Uygulamayı ana ekrana ekleyin ve bir sonraki açışınızda deneyim daha da iyi.

Firefox OS'ye ve Standart Web'e daha fazla platform API'si getirme örneğine ( az ya da çok başarı ile) bir göz atabilirsiniz .


PWA'lar aslında kameraya ve birkaç sensöre erişebilir .
Dan Dascalescu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.