且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Android上,渐进式Web应用程序与本机应用程序具有哪些功能,反之亦然

更新时间:2022-12-21 21:05:52

TL;DR - As of Feb 2017, Progressive Web Apps are a sufficiently powerful platform that Twitter has moved all of their mobile web traffic to a React PWA.

As of August 2016, Progressive Web Apps actually offer more hardware access than commonly thought. Here's a screenshot of whatwebcando.today from my Chrome 52 stable on Android:

Hardware access includes

Upcoming hardware access

These features are being implemented or already work in some browsers:

Another important point to note is that the Origin Trials Framework (implemented in Chrome) enables manufacturers to expose and test hardware (or software) capabilities without having to go through the standardization process. For example, a phone maker could expose an API for reading the values of a pressure sensor, refine it, then submit it for consideration to the W3C.

Besides hardware access, there are also software features traditionally employed by native apps that are now available to web apps.

Traditionally native features that PWAs can also use

These features cover a lot of use cases, and many popular native apps nowadays could be rewritten as PWAs. Take Slack, for example. Its open source alternative, Rocket.Chat, is building a PWA version. For more PWA demos, see https://pwa.rocks.

Native-like features coming to PWAs

Native Android features that PWAs currently lack

  • contacts, calendar and browser bookmarks access (lack of access to these could be viewed as a feature by privacy-conscious users)
  • alarms
  • telephony features - intercept SMSes or calls, send SMS/MMS, get the user's phone number, read voice mail, make phone calls without the Dialer dialog
  • low-level access to some hardware features and sensors: flashlight, atmospheric pressure sensor
  • system access: task management, modifying system settings, logs

Progressive Web Apps offer features that native apps lack

  • discoverability - content in progressive web apps can easily be found by search engines but a content-centric native app like *** won't show among app store search results for content that it does offer access to, such as "pwa vs. native". This is a problem for communities like Reddit, which can't expose their numerous sub-communities to the app store as individual "apps".
  • linkability - any page/screen can have a direct link, which can be shared easily
  • bookmarkability - save that link to access an app's view directly
  • always fresh - no need to go through the app stores to push updates
  • universal access - not subject by app stores sometimes arbitrary policies or (unintended) geographic restrictions
  • large data savings, extremely important in emerging markets with expensive and/or slow Internet access. For example, e-commerce website Konga cut data usage by 92% for the first load by migrating to a PWA.
  • low friction of distribution - if your progressive web app is online, it's already accessible for Android (and other mobile) users.