Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Web App Manifest

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El manifiesto de aplicaciones web proporciona información sobre una aplicación (como nombre, autor, icono y descripción) en un documento simplificado. Su principal propósito es crear progressive web apps: aplicaciones web que se pueden instalar desde la pantalla principal de un dispositivo sin necesidad de hacerlo a traves de una app store (y otras ventajas como disponibilidad offline y enviar notificaciones push cuando cambia el contenido de la aplicación.)

Manifiesto de ejemplo

{
  "name": "Google I/O 2015",
  "short_name": "I/O 2015",
  "start_url": "./?utm_source=web_app_manifest",
  "display": "standalone",
  "icons": [{
    "src": "images/touch/homescreen48.png",
    "sizes": "48x48",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen72.png",
    "sizes": "72x72",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen96.png",
    "sizes": "96x96",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen144.png",
    "sizes": "144x144",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen168.png",
    "sizes": "168x168",
    "type": "image/png"
  }, {
    "src": "images/touch/homescreen192.png",
    "sizes": "192x192",
    "type": "image/png"
  }],
  "related_applications": [{
    "platform": "web"
  }, {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=com.google.samples.apps.iosched"
  }]
}

Propiedades

background_color

Define el color de fondo deseado para la aplicación. Este valor repite lo definido en la hoja de estilos de la aplicación, pero puede ser utilizado por los navegadores para pintar el color de fondo de una app si el manifiesto está disponible antes de que la hoja de estilos se haya cargado. Esto suaviza la transición entre lanzar una aplicación y cargar el contenido de la misma.

"background_color": "red"

Note: El background_color únicamente está destinado a mejorar la experiencia de usuario mientras se carga la aplicación y no se debe usar como color de fondo cuando la hoja de estilos de la aplicación esté disponible.

description

Proporciona una descripción general sobre qué hace la aplicación.

"description": "The app that helps you find the best food in town!"

dir

Especifica la dirección del texto para name, short_name, y description. Junto con lang, ayuda a representar correctamente los idiomas que se escriben de derecha a izquierda (right-to-left).

"dir": "rtl",
"lang": "ar",
"short_name": "أنا من التطبيق!"

Puede tener uno de los siguentes valores:

  • ltr (izquierda a derecha)
  • rtl (derecha a izquierda)
  • auto (indica al navegador que use el algoritmo Unicode bidirectional para hacer una estimación apropiada sobre la dirección del texto.)

Note: Cuando se omite este valor, por defecto es auto.

display

Define el modo de visualización preferido para la aplicación web.

"display": "standalone"

Los valores aceptados son:

Display Mode Description Fallback Display Mode
fullscreen Se utiliza toda la pantalla disponible no se muestran elementos del user agent chrome. standalone
standalone La aplicación se mostrará como una app independiente. Así la aplicación puede tener su porpia ventana, su propio icono en el lanzador de aplicaciones, etc. En este modo, the user agent excluirá los elementos de interfaz para controlar la navegación, pero puede incluir otros elementos como la barra de estado. minimal-ui
minimal-ui La aplicación se mostrará como una app independiente, pero tendrá un minimo de elementos de interfaz para controlar la navegación. Estos elementos podrán variar según navegador. browser
browser La aplicación se abrirá en una pestaña nueva del navegador o una ventana nueva, dependiendo del navegador y plataforma. Esto es por defecto.  (None)

Note: Puedes aplicar selectivamente CSS a tu app basandote en el modo de visualización, usando la característica display-mode. Se puede utilizar para proporcionar una experiencia de usuario consistente al lanzar un site desde una URL y lanzarlo desde un icono de escritorio.

iconos

Especifica un array de imágenes que pueden servir como iconos de aplicación en diferentes contextos. Por ejemplo, se pueden utilizar para representar la aplicación entre un listado de aplicaciones, or to integrate the web application with an OS's task switcher and/or system preferences.

"icons": [
  {
    "src": "icon/lowres.webp",
    "sizes": "48x48",
    "type": "image/webp"
  },
  {
    "src": "icon/lowres",
    "sizes": "48x48"
  },
  {
    "src": "icon/hd_hi.ico",
    "sizes": "72x72 96x96 128x128 256x256"
  },
  {
    "src": "icon/hd_hi.svg",
    "sizes": "72x72"
  }
]

Los objetos de imagen pueden contener los siguientes valores:

Member Description
sizes Una cadena que contiene separados por espacios las dimensiones de la imagen. 
src La ruta de acceso al archivo de imagen.
type A hint as to the media type of the image.The purpose of this member is to allow a user agent to quickly ignore images of media types it does not support.

lang

Especifica el idioma principal para in the name and short_name members. This value is a string containing a single language tag.

"lang": "en-US"

name

Provides a human-readable name for the application as it is intended to be displayed to the user, for example among a list of other applications or as a label for an icon.

"name": "Google I/O 2015" 

orientation

Define la orientación por defecto for all the web application's top level browsing contexts.

​​"orientation": "portrait-primary"

Orientation puede ser alguno de los siguentes valores:

  • any
  • natural
  • landscape
  • landscape-primary
  • landscape-secondary
  • portrait
  • portrait-primary
  • portrait-secondary

Specifies a boolean value that hints for the user agent to indicate to the user that the specified related applications (see below) are available, and recommended over the web application. This should only be used if the related native apps really do offer something that the web application can't do.

"prefer_related_applications": false

Note: Si se omite, el valor por defecto es false.

Specifies an array of "application objects" representing native applications that are installable by, or accessible to, the underlying platform — for example a native Android application obtainable through the Google Play Store. Such applications are intended to be alternatives to the web application that provide similar or equivalent functionality — like the native app version of the web app.

"related_applications": [
  {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=com.example.app1",
    "id": "com.example.app1"
  }, {
    "platform": "itunes",
    "url": "https://itunes.apple.com/app/example-app1/id123456789"
  }]

Los objetos Application pueden contener los siguientes valores:

Member Description
platform The platform on which the application can be found.
url The URL at which the application can be found.
id The ID used to represent the application on the specified platform.

scope

Define el ámbito de navegación en el contexto de la aplicación web. Esto basicamente restringe qué paginas se pueden ver cuando se aplica el manifiesto. Si el usuario navega fuera del ámbito de la aplicación, continúa como en una web normal. 

"scope": "/myapp/"

short_name

Proporciona un nombre corto para la aplicación. Está destinado para su uso cuando hay poco espacio para mostrar el nombre completo de la aplicación.

"short_name": "I/O 2015"

start_url

Especifica la URL que se carga cuando el usuario lanza la aplicación desde un dispositivo. 

"start_url": "./?utm_source=web_app_manifest"

theme_color

Define el color por defecto para la aplicación. Esto en ocasiones afecta a como se muestra por el OS (e.g., en el lanzador de aplicaciones de Android, el color envuelve la aplicación).  

"theme_color": "aliceblue"

Splash screens

In Chrome 47 and later, a splash screen is displayed for a web application launched from a home screen. This splashscreen is auto-generated using properties in the web app manifest, specifically: name, background_color, and the icon in the icons array that is closest to 128dpi for the device.

Mime type

Los manifiestos web se deben servir con el MIME type application/manifest+json. Sin embargo, esto es opcional.  

Especificación

Specification Status Comment
Web App Manifest Working Draft Initial definition.

Compatibilidad con navegadores

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support No support ? ? ? ?
background_color and theme_color No support ? ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 39.0 ? ? ? 32.0 ? 39.0
background_color and theme_color No support 46.0 [1] ? ? ? ? ? 46.0 [1]

[1] Does not support lang or scope.

Etiquetas y colaboradores del documento

 Colaboradores en esta página: malonson, AlePerez92
 Última actualización por: malonson,