The simplest way to create progressive web apps across platforms and devices.
This repo is home to several projects in the PWABuilder family of tools.
| Tools | Overview | Source | Docs | Contribute |
|---|---|---|---|---|
| PWABuilder.com | The best way to package PWAs for various stores. | /apps/pwabuilder | PWABuilder docs | Wiki |
| PWA Studio | PWA Studio makes VSCode the BEST developer environment for building Progressive Web Apps. | /apps/pwabuilder-vscode | PWA Studio docs | Wiki |
| PWA Starter | Our opinionated and production tested progressive web app (PWA) template for creating new projects. | Repo | PWA Starter docs | Wiki |
| Docs | Source | Contribute |
|---|---|---|
| docs.pwabuilder.com | /docs | Wiki |
| blog.pwabuilder.com | /apps/blog | /apps/blog |
| Components | Overview | Source | Docs | Contribute |
|---|---|---|---|---|
<pwa-install> |
Web component for great PWA install experience | pwa-install | pwa-install | Wiki |
You will need the following things properly installed on your computer.
You should also be familiar with TypeScript which we use for this project. This helps give you more guidance as you code from intellisense when using VSCode.
We recommend the following tools for your dev setup:
- Editor: VSCode
- Terminal: Windows Terminal or hyper
Additionally, when you open the project in VS Code, you'll be prompted to install recommended extensions.
Set the NODE_BIN environment variable, .vscode/launch.json for VS code and apps\pwabuilder\Properties\launchSettings.json for Visual Studio:
- Windows:
C:/Program Files/nodejs/node.exe - Mac:
/usr/local/bin/node - Linux:
/usr/bin/node
Using VS Code (App and API)
- Run
VSCode Run and Debug(F5 key) to build the project and start a local Edge browser. - Closing the Edge browser will terminate the debug session.
Using Visual Studio (API only)
- Open the solution and run the
httpsprofile (F5 key)
Alternatively, build the Dockerfile.production container and access it from http://localhost:8080
The web app preview and Google Play staging workflows publish uniquely tagged
images containing the commit SHA, workflow run ID, and run attempt. Each workflow
deploys the digest captured from its pushed image, not a mutable :production
or :latest tag. This prevents a subsequent preview build from changing the
image a deployed slot pulls on restart or scale-out.
Promote the tested image by swapping slots or deploying its exact digest. Existing production slots using mutable tags must be pinned separately to their verified known-good digests; changing these workflows does not update live slots. Retain images referenced by deployed slots and images needed for rollback. Breaking web app and Google Play API changes still require coordinated releases.
All files on the PWABuilder repository are subject to the MIT license. Please read the License file at the root of the project.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.