Soru Progressive Web Apps'ın, Android'de yerel uygulamalar ve tersi ne gibi özellikleri vardır?


Google, 2015 yılında Android için web uygulamaları geliştirmek için yeni bir yaklaşım geliştirdi: ilerici web uygulamaları. Bir yerli uygulama gibi görünecek bir uygulama oluşturabilir, kamera ve ivmeölçerler gibi cihazın donanımlarını kullanabilir, push bildirimleri alabilir, başlatıcı simgesine sahip olabilir, çevrimdışı çalışabilir, yerel verileri depolayabilir vb.

Android'de, yerel uygulamaların, aşamalı web uygulamalarının desteklemediğini hangi özellikleri desteklemediği ve bunun tersi de geçerlidir.


76
2018-02-19 11:27


Menşei




Cevaplar:


TL; DR - Şubat 2017 itibarıyla, İlerici Web Uygulamaları yeterince güçlü bir platformdur. Twitter, tüm mobil web trafiğini React PWA'ya taşıdı.

Ağustos 2016 itibariyle, Aşamalı Web Uygulamaları aslında yaygın olarak düşünülenden daha fazla donanım erişimi sunar. İşte bir ekran görüntüsü whatwebcando.today Chrome 52 cihazımdan Android'de kararlıyım:

What Web Can Do Today - Chrome 52 on Android

Donanım erişimini içerir

Yaklaşan donanım erişimi

Bu özellikler bazı tarayıcılarda uygulanıyor veya zaten çalışıyor:

Dikkat edilmesi gereken bir diğer önemli nokta, Menşe Denemeleri Çerçeve (Chrome'da uygulandı), üreticilerin standartlaştırma sürecine girmek zorunda kalmadan donanım (veya yazılım) yeteneklerini ortaya çıkarmasını ve test etmesini sağlar. Örneğin, bir telefon üreticisi bir basınç sensörünün değerlerini okumak, düzeltmek ve W3C'ye göre değerlendirmek için bir API gösterebilir.

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 örneğini kapsamaktadır ve günümüzde birçok popüler yerel uygulama PWA olarak yeniden yazılabilir. Örneğin, Slack atın. Açık kaynak alternatifi, Rocket.Chat, bir PWA versiyonu inşa ediyor. Daha fazla PWA demoları için bkz. https://pwa.rocks.

PWA'lara gelen yerel benzeri özellikler

Yerel Android özellikleri henüz PWA'lar için mevcut değil

  • parmak izi sensörüne erişimgeliştiriliyor)
  • Rehber, takvim ve tarayıcı yer imleri erişimi (bunlara erişim eksikliği, bir özellik gizlilik bilincine sahip kullanıcılar tarafından)
  • alarm
  • telefon özellikleri - SMS'leri veya çağrıları engelleyin, SMS / MMS gönderin, kullanıcının telefon numarasını alın, sesli posta okuyun, Dialer diyaloğu 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

Aşamalı Web Uygulamaları, yerel uygulamaların eksik olduğu özellikleri 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 vs. native" gibi, erişim sunduğu içerik için uygulama mağazası arama sonuçları arasında gösterilmez. Bu, çok sayıda alt-topluluğunu uygulama mağazasına bireysel "uygulamalar" olarak gösteremeyen Reddit gibi topluluklar için bir sorundur.
  • bağlanabilirliği - Herhangi bir sayfa / ekran kolayca paylaşılabilecek doğrudan bir bağlantıya sahip olabilir
  • bookmarkability - Bir uygulamanın görünümüne doğrudan erişmek için bu bağlantıyı kaydedin
  • herzaman taze - güncellemeleri zorlamak için uygulama mağazalarına gitmenize gerek yok
  • evrensel erişim - uygulama mağazalarına konu değil bazen keyfi politikalar veya (istenmeyen) coğrafi kısıtlamalar
  • büyük veri tasarrufupahalı ve / veya yavaş internet erişimi olan gelişmekte olan pazarlarda son derece önemlidir. Örneğin, e-ticaret sitesi Konga PWA'ya geçerek ilk kullanım için veri kullanımını% 92 azalt.
  • dağıtımın düşük sürtünmesi - ilerici web uygulamanız çevrimiçi ise, Android (ve diğer mobil) kullanıcıları için zaten erişilebilir durumdadır.

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


134
2017-08-18 21:28



Küçük bir not: "Android Hazır Uygulamalar" ile, Yerel Uygulamaların (en azından Android'de) artık bağlantıya sahip olmadığından emin olabilirsiniz. - shawnjan
Güzel cevap Dan! PWA'ların ana bilgisayar aygıtının telefon numarasına erişmesinin bir yolu var mı? - Alexander Mills
@Alexander: no ("telefon özellikleri" mermisine bakınız), çünkü bu bir gizlilik ihlali anlamına gelir. Kullanmayı düşünün otomatik doldurma yerine. - Dan Dascalescu


Yerel uygulamaların ana avantajı, bir platformun sunabileceği tüm yerel API'lere erişebilmeleridir (iletişim, kamera flaşı, SMS, telefon, ağ, bluetooth, sensörler, ham soketler ...). Standart Web yetenekleri tarafından kısıtlandıklarından.

İlerici web uygulamalarının hedefi, bu yetenekleri en kritik durumları kapsayacak şekilde genişletmektir. Bu havasında, bir göz atın Aşamalı Web Uygulamaları: Ruhumuzu Kaybeden Sekmelerden Kaçmak ilerici bir web uygulamasının neler sunabileceği bir liste bulabileceğiniz yer:

  • Duyarlı: Herhangi bir form faktörü sığdırmak için
  • Bağlantı bağımsız: Çevrimdışı çalışmasına izin vermek için Hizmet Çalışanlarıyla aşamalı olarak geliştirildi
  • Uygulama benzeri etkileşimler: Uygulanabilir gezinmeler ve etkileşimler oluşturmak için bir Kabuk + İçerik uygulama modelini benimseyin
  • Fresh: Servis Görevlisi güncelleme işlemi sayesinde şeffaf bir şekilde her zaman güncel
  • Güvenli: Snooping önlemek için TLS (bir hizmet çalışanı gereksinimi) ile servis
  • Keşfedilebilir: Arama motorlarının onları bulmasını sağlayan W3C Manifestoları ve Servis Görevlisi kayıt kapsamı sayesinde “uygulamalar” olarak tanımlanabilir
  • Yeniden etkileşime geçme: OS'nin yeniden etkileşim UI'lerine erişebilir; Örneğin. Push bildirimleri
  • Yüklenebilir: tarayıcı tarafından sağlanan komutlar aracılığıyla ana ekrana, kullanıcıların bir uygulama mağazasının uğraşları olmadan en kullanışlı bulduğu uygulamaları "saklamasına" olanak tanır
  • Linkable: sıfır sürtünme, sıfır yükleme ve paylaşmaları kolay oldukları anlamına gelir. URL'lerin sosyal gücü önemlidir.

Bu noktalardan, bağlanabilir Açık Web'den yerli uygulamalar tarafından ithal edilen ilk özelliklerden biriydi. mobil derin bağlantı.

Ama özel bir söz combo hak ediyor taze + yüklenebilir Web'in ana avantajlarından biri olarak bir platform olarak yerli alternatifler. İşte yüklenebilir ana ekranınızda göründüğü anlamına gelir. Bu indirme ve yükleme aşamalarını geçmek için gerekli olduğu anlamına gelmez. Tarama yaparken bir URL açar veya bir hizmeti keşfedersiniz ve bitti: ana ekranınızda görünür.

Taze Anında yükleme ve kesintisiz güncellemeler sunan düzenli bir webin nasıl çalıştığını ifade eder. YouTube web sitesinden bir güncelleme yüklemeniz istenmez, dağıtılır ve bir sonraki ziyaretinizde bunu tüketirsiniz.

Geriye kalan noktaların faydalarından bahsetmiyorum çünkü farklılıkları soruyordunuz ve örneğin yeniden katılım, itme servisleri ve bildirimler yoluyla zaten yerli uygulamaların var olduğu bir şeydir ve şimdi web uygulamaları yakalanmış durumda.

Diğer ilgili ve önemli soru, hangi platformun ihtiyaçlarınız için daha uygun olduğu konusudur. Özel donanım yeteneklerine erişmiyorsanız, Web yeterli olmalı ve web sitelerini pazar alanlarından, özel ekosistemlerden arınmış olacak şekilde seçmelisiniz ve bu arada, belirli derecedeki uygunluğu sağlayabilirsiniz. birlikte çalışabilirlik.

Son notlar olarak, göz atmanızı öneriyorum www.flipkart.com Chrome ile bir cep telefonundan. Oldukça müthiş bir şey: hiçbir hata, pürüzsüz navigasyon, uygulama benzeri bir his. Çevrimdışı ol ve çalışmaya devam edecek. Bu gönderinin gerçekten gerçek bir dünya örneği. Uygulamayı ana ekrana ekleyin ve bir daha açtığınızda, deneyim daha da iyidir.

Bir göz atabilirsin Firefox OS yanı sıra getirme örneği daha fazla platform API'sı Standart Web'e (daha fazla veya daha az başarı ile).


11
2018-02-26 10:52



PWA'lar kameranın yanı sıra çeşitli sensörler. - Dan Dascalescu