Web apps are websites with app-like qualities or capabilities. Chromium supports ‘installing’ a web app (or any website), which is sometimes required for some of these capabilities to function (e.g. file handlers or window controls overlay).
See useful concepts and definitions here.
Desktop: If a site has a manifest attached with a name, icon, start_url, and display field specified, an installation icon will appear in the omnibox. Users can also install any site they like via Menu > More tools > Install Page as App. Apps are visible on chrome://apps on non-CrOS desktop. Android: An ML model is used to selectively show the blocking installation banner for users who are likely to install the app. Otherwise installation is accessible via 3-dot menu > Add to Homescreen.
Sites customize how their installed site integrates at the OS level using a web app manifest. See developer guides for in depth overviews:
Because Progressive Web Apps spans across Android and Desktop, the code is split across multiple directories depending on its implementation:
WebAppProvider: Desktop-specific system (Windows, Mac, Linux, ChromeOS) for installing and managing web apps.components/webapps: Code shared between Android and Desktop, like the InstallableManager and AppBannerManager.