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.
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
PWA Links / Applications
- PhotoPrism
- Pokedex Connectivity Indepent (Offline Search) and App like
- DevDocs API Browser DevDocs combines multiple developer documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more
- QR-Code Scanner Media Capture and Stream API and WASM (WebAssembly) Usage
- Workbox
- WebXR
- WebRTC
- WhatPWACanDo