Description
Since web-based apps are a bit limited in terms of (mobile-)native functionality (like control over notifications), it might be wiser to publish the application as a mobile app instead of a PWA (or TWA on Android). A seemingly not-so-difficult way would be Flutter and its webview_flutter
package. This package also allows communication with the Dart code through so-called JavaScript channels - this would allow the Dart code to handle the notifications and other stuff and integrate much better with the operating system.
This is marked as an experiment as wrapping the app in a mobile app's web view might prove slower and more buggy than directly using a PWA in the browser on the platform. The goal is to explore if this solution can work and provide more benefits over a traditional PWA.
Tasks
- (Basics) Wrap the PWA in a Flutter WebView
- (Basics) Add an optionally loaded module to the web app that interfaces with the mobile app (if the PWA is running inside a mobile app - this can be potentially helped with a separate query parameter)
- (Basics) Verify app functionality and performance
- Version number should follow the PWA app version
- The web app should be packaged alongside the mobile app (so that everything would be available offline)
- A build script should pull the appropriate tag (like
v1.2.0
) from GitHub into the Flutter project and zip it - Provide (actionable) notifications and optionally a persistent notification
- Maybe even provide an app widget on Android 👀
- Since Flutter now supports creating desktop apps, that form of packaging could also be explored
- (Much far away) Add the ability to sync the mobile and web apps
Activity