- Prev
- AppStream
- Next

## ⁠2.4. Web Applications

### ⁠2.4.1. Introduction

A web application is an application running remotely that is accessed via a web browser and built on the web platform.
The metadata described in this document is built upon the generic component metadata with fields specific for web-applications (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a `web-application` component as well.
A web application metainfo file is special in the regard that it is usually not combined with the software it is describing and that it has no installable. It usually is equivalent to a weblink that gets special treatment by software centers. Web application metainfo files are therefore injected directly into the collection metadata generation process, or can be installed as usual into `/usr/share/metainfo/%{id}.metainfo.xml`.
Software centers may display web applications in special, chrome-less web browser windows to achieve better desktop integration and make the web application feel more native on the desktop.

### ⁠2.4.2. File specification

The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the `type` property set to `web-application`, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing a web application.
The following list describes tags for `web-application` metainfo files and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”.

⁠<id/>
  For web applications, the `<id/>` tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name).
<metadata_license/>
  The `<metadata_license/>` tag as described in <metadata_license/> must be present.
<name/>
  A `name` must be present for console applications. See <name/> for a detailed description of this tag.
<summary/>
  A `summary` must be present for console applications. See <summary/> for a detailed description of this tag.
⁠<launchable/>
  This tag is described in detail for generic components at <launchable/>.
  A `launchable` tag of type `url` must be present for web applications. It is used as the entry point for starting the web application and opened in a browser in case the user wants to "launch" the web application.
⁠<icon/>
  This tag is described in detail for generic components at <icon/>.
  A `icon` tag must be present for web applications. Authors of the metainfo files might prefer using the `remote` icon type, but any icon type is allowed here.

For a component of type `web-application`, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <launchable/>, <icon/>, <categories/>.

- Prev2.3. Console Applications
- Up
- Home
- Next2.5. Services