# Deploying app as PWA

## What is a Progressive Web App?

Put simply, a Progressive Web App (PWA) is a web app that uses modern web capabilities to deliver an app-like experience to users. These apps are deployed to traditional web servers, are accessible through URLs, and can be indexed by search engines.

A Progressive Web App is, for all practical purposes, just another term for a website that has been optimized for mobile performance and that utilizes newly available Web APIs to deliver features that are similar to a traditional native app, such as push notifications and offline storage.

## Capacitor and Progressive Web Apps

Capacitor has first-class support for Progressive Web Apps *and* native apps. That means that Capacitor's plugin bridge supports running in either a native context or in the web, with many core plugins available *in both contexts* with the exact same API and calling conventions.

This means you'll use `@capacitor/core` as a dependency for both your native app *and* your Progressive Web App, and Capacitor will seamlessly call web code when required and native code when available.

Additionally, Capacitor offers a number of utilities for querying the current platform to provide customized experiences when running natively or on the web.

{% hint style="info" %}
We haven't designed this UI for PWA yet. The work is in progress. However, you can always modify the UI as you want and deploy the app as a PWA
{% endhint %}

For more details on how to convert this app to PWA, check the [official documentation](https://capacitor.ionicframework.com/docs/basics/progressive-web-app) on Ionic framework website.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://enappd.gitbook.io/ionic-5-react-capacitor-full-app/setup/deploying-app-as-pwa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
