[Windows 8] Application Manifest

Artículo escrito por: Néstor Fernández.

Twitter: @xamlparaadeptos

El manifiesto describe una aplicación, quién la creó y enumera algunos recursos que necesita para funcionar correctamente. Puede verse el manifiesto como una lista de "permisos" que la aplicación requiere de modo que pueda realizar el trabajo para el que fue diseñada.

Para editar el manifiesto de la aplicación

El manifiesto se almacena en el archivo XML "Package.appxmanifest" que se incluye con cada proyecto de aplicación para Windows 8. Aunque puede ser modificado con cualquier editor XML o de texto, Visual Studio 2012 provee un diseñador para llevar a cabo esta tarea cómodamente.

Para utilizar el diseñador del Visual Studio se hace doble-click sobre el archivo del manifiesto, o se invoca por medio del menú: Project > Store > Edit App Manifest.

Contenido del manifiesto

La información del manifiesto está dividida en 4 secciones: Application UI, Capabilities, Declarations, Packaging. 

AppManifest01

Application UI

Esta sección identifica y describe la aplicación:

  • Display name, Description: El nombre de la aplicación que observarán los usuarios y una descripción de la misma.
  • Entry point: La clase que es el punto de inicio de la aplicación.
  • Supported rotations: Las orientaciones que soportadas por la aplicación. En dispositivos que detectan los cambios de orientación (horizontal / vertical), la aplicación solo rotará su interface si se detecta alguna de las orientaciones aquí señaladas.
  • Tile: Aquí se especifican algunas características del tile de la aplicación como el logo (en sus varios tamaños), color de fondo y nombre corto de la aplicación. Todo esto hará parte del Tile de la aplicación que se observa en el inicio de Windows

AppManifest02

  • Notifications: Si la aplicación puede proveer notificaciones aquí se configura dicho permiso, así como el logo que debe presentar.

AppManifest03

  • Splash Screen: Aqui se configura la imagen a utilizar como splash screen y su color de fondo.
Capabilities (Capacidades)

Aquí enumeramos aquellos servicios o características del sistema que la aplicación requiere para poder funcionar completamente.

Mucho de lo damos por sentado en el mundo Windows que conocemos, ahora debe ser un permiso solicitado por la aplicación, entre ellos:

  • Document Library Access: Permite acceso a la librería de documentos del usuario. Requiere configuración adicional, en la sección "Declarations", para especificar el tipo de archivos que se necesitan acceder.
  • Enterprise Authentication: Permite a la aplicación acceder a recursos en un dominio Windows que requiere credenciales.
  • Home or Work Networking: Permite acceso a sitios de confianza en la red del hogar o del trabajo.
  • Internet (Client & Server): Permite a la aplicación recibir conexiones desde Internet y, por supuesto, conectarse a Internet.
  • Internet (Client): Permite a la aplicación conectarse a Internet pero no recibir conexiones desde Internet.
  • Location: Permite a la aplicación conocer la ubicación física del usuario, gracias a dispositivos GPS o infiriéndola de la información de conexión.
  • Microphone: Proporciona acceso a las entradas de audio que le permiten a la aplicación grabar sonidos desde micrófonos u otras fuentes.
  • Music Library: Proporciona acceso de lectura y escritura a la librería de música del usuario.
  • Pictures Library Access: Proporciona acceso de lectura y escritura a la librería de imágenes del usuario.
  • Proximity: Permite a la aplicación comunicarse con otros dispositivos que se encuentren físicamente cerca a través de protocolos como Bluetooth, WiFi, etc.
  • Removable Storage: Permite a la aplicación acceder a dispositivos de almacenamiento removibles como memorias USB y discos externos. Requiere configuración adicional, en la sección "Declarations", para especificar el tipo de archivos que se necesitan acceder.
  • Shared User-Certificates: Permite a la aplicación hacer uso de certificados digitales que pueden estar almacenados en Smart Cards.
  • Text Messaging: Al activarse la aplicación puede acceder las funcionalidades de mensajería de texto disponibles en el computador.
  • Videos Library Access: Proporciona acceso de lectura y escritura a la librería de videos del usuario.
  • WebCam: La aplicación puede utilizar la cámara web del equipo para capturar imágenes y/o video.
Declarations

Las declaraciones permiten definir un poco más granularmente sus capacidades (capabilities) afectando su funcionamiento, así como detallar sus interacciones con otras aplicaciones del sistema.

En algunos casos las capacidades requieren la configuración de algunas declaraciones.

  • Account Picture Provider: Le permite a la aplicación entregar una imagen para ser utilizada como la imagen de la cuenta del usuario. Cuando el usuario quiera modificar la imagen de su cuenta observará que puede invocar esta aplicación para obtener una imagen.
  • Autoplay Content: Registra la aplicación para que pueda ser ejecutada cuando el sistema detecte que hay contenido disponible cuando, por ejemplo, se inserta un DVD.
  • Autoplay Device: Registra la aplicación para que pueda ser ejecutada cuando el sistema detecta que se conecta un dispositivo al sistema.
  • Background Tasks: Permite a la aplicación ejecutar procesos en segundo plano sin que el sistema los cierre, lo que generalmente sucede cuando el usuario abandona una aplicación.
  • Cached File Updater: Permite a la aplicación modificar archivos que pueden ser accedidos por otras aplicaciones. Estos archivos generalmente son una copia debe sincronizarse contra un repositorio central, como es el caso de los archivos en SkyDrive, y que deben siempre reflejar el contenido más reciente.
  • Camera Settings: La aplicación pueden proveer su propia interface para cambiar la configuración de la cámara cuando se capturan videos o fotos.
  • Certificates: La aplicación puede instalar certificados digitales.
  • Contact Picker: Al ser habilitado, la aplicación podrá ser invocada cada vez que el usuario necesite información de sus contactos y proveer dicha información.
  • File Open Picker: Permite a la aplicación abrir el selector de archivos de modo que se pueda leer archivos, incluso, de otras aplicaciones.
  • File Save Picker: Permite a la aplicación abrir el selector de archivos de modo que se pueda grabar archivos que incluso puedan acceder otras aplicaciones.
  • File Type Association: Registra la aplicación de modo que pueda ser invocada para abrir determinados tipos de archivos.
  • Game Explorer: Permite registrar la aplicación como un juego. La aplicación debe proveer un además archivo de definición del juego (Game Definition File – GDF) donde, entre otra información, se detalla el tipo de contenido, su calificación ESRB, etc. Esta configuración facilita el bloqueo de contenidos para los menores en la familia.
  • Print Task Settings: Permite que la aplicación presente al usuario algunas opciones de impresión para que el usuario realice la configuración necesaria. Esta declaración facilita al usuario utilizar características específicas de algunos modelos de impresoras.
  • Protocol: Registra la aplicación de modo que pueda utilizar uno o algunos protocolos de comunicación, por ejemplo, "mailto". También permite que la aplicación registre sus propios protocolos.
  • Search: Registra la aplicación para que se comporte como un proveedor de búsqueda. Los proveedores de búsqueda son invocado en el charm de búsqueda (Windows+Q) y pueden proveer resultados sobre lo que el usuario está buscando.
  • Share Target: Registra la aplicación de modo que pueda recibir contenido compartido a través del charm de "Share" (Windows+W).
Packaging

Parte de la preparación de una aplicación para subirla al Windows Store requiere unos datos mínimos de identificación:

  • Package Name: Un valor GUID que identifica únicamente a la aplicación.
  • Package Display Name: El nombre descriptivo con el que los usuarios conocerán la aplicación.
  • Logo: Archivo de imagen que corresponde al logo de la aplicación en el Windows Store.
  • Version: Número de versión de la aplicación.
  • Publisher: Corresponde a la persona o empresa que publica la aplicación. Puede utilizarse un certificado digital para este fin.
  • Publisher Display Name: El nombre de la persona o empresa que publica la aplicación, tal como aparece en el certificado digital.
  • Package Family Name: Se arma automáticamente en base al Package Name y un valor Hash obtenido del Publisher.
PARA SABER MÁS… Manifest Designer

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *