DEV Community

Cover image for Progressive Web Apps for Firefox
Filip Š
Filip Š

Posted on

Progressive Web Apps for Firefox

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!

GitHub logo filips123 / FirefoxPWA

A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox

Logo

Progressive Web Apps for Firefox

A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox.

Description

Progressive Web Apps (PWAs) are web apps that use web APIs and features along with 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.

This project modifies Firefox to allow websites to be installed as standalone apps and provides a console tool and browser extension to install, manage and use them.

Usage

TLDR: Install the browser extension and follow in-browser installation instructions. Check the repository wiki for simple usage instructions.

For detailed and more technical documentation how to set up, use and develop the project, see the READMEs of the native and extension part:

Features

Current

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.

Discussion (0)