Progressive Web Apps for Firefox

Progressive Web Apps for Firefox

Aug 10, 2021

Progressive Web Apps are web apps that use emerging web browser APIs and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. Although Firefox supports many of Progressive Web App APIs, it does not support functionality to install them as a standalone system app with an app-like experience.

Because support for installable PWAs has been a heavily requested feature, I decided to implement it as a Firefox addon/extension with a companion native program. It allows users to install basically any website as a standalone native-like app, with its own start/app menu entry, taskbar icon, and window. I've been working on the project for the last couple of months, and now it is ready for wider use!

FirefoxPWA on GitHub

FirefoxPWA on AMO

To use the project, you can download the extension from the Firefox Add-ons store. You will need to install the native program; you will be prompted to install it after installing the extension. You can check installation and usage instructions in the repository wiki.

If you use Firefox and want to install websites as standalone apps, please give it a try! Remember to post any feedback, ideas, feature requests or bug reports on GitHub :)

Feel free to also check it on ProductHunt and leave a review there.

How it works:

Browser extensions normally cannot launch arbitrary programs and modify browser UI, so my extension uses Native Messaging API to communicate with the native program. It is written in Rust and handles features that the extension alone cannot do. The program installs an independent Firefox runtime, patches it with the UserChrome modifications to reorganize the Firefox UI and remove all unnecessary UI elements, and handles installing and launching PWAs. I created a bit more detailed explanation of how this project works in the repository wiki.

Vous aimez cette publication ?

Achetez un café à Filip Štamcar