pwa

PWA basics

App containers (Native Wrappers) such as Electron, Cordova or Ionic Capacitor are designed to be made superfluous by PWAs.

What_is_a_progressive_web_app?

PWA Features

Offline Capabilites (Background Sync, Cache API, Content Updates, Network Control, lifecycle and resource management)

Push notifications

Home-Screen, Task and Window Decoration Features like Fullscreen API, appears in AppSwitcher, Splash Screen (StartUpImage) etc.

Interfaces are available for offline and push capabilities of the Service Worker and the Web App Manifest for icons and behaviors such as name and splash screen.

what pwa can do today

Manifest

Web App Manifest

  • defining how the app should behave
  • enabling easy access like a native app

For Example to make a Webpage installable, add a manifest.

Required PWA members:

  • name or short_name
  • icons must contain a 192px and a 512px icon
  • start_url
  • display and/or display_override
  • prefer_related_applications must be false or not present

Manifest web.dev, Manifest mdn

Service Worker

The Service Worker plays a crucial role in Progressive Web Apps (PWAs), offering various features that enhance the functionality and user experience. Security: They are always served over HTTPS to ensure the safety and security of the app and its users.

Due to the complexity and scope of the Service Worker, Google offers the Workbox toolkit with modules to support the Implementation.

Offline functionality

Progressive Web Apps (PWAs) enhance offline functionality by leveraging the application shell architecture, where a lightweight shell (HTML, CSS, and JavaScript) is cached on the user’s device, ensuring that core elements of the app load instantly and function reliably, even when the network is unavailable, while dynamic content can be fetched (for example over XHR) and displayed when the user reconnects to the internet.

Limitations

Software and hardware capacities are capped by the browser. Web USB API, Web Bluetooth API, Shape Detection API or for Example can i use Gamepad?

Native APIs have to come to the web first, like the Payment Request API or Web Share API that Apple has recently implemented, while Push/Sync are limited. PWA improvements like WebXR support, media and WebRTC additions are Vendor dependent. wicg

Written on September 23, 2024
[ webdev  websockets  ]