Conceptos de extensión y arquitectura

En este artículo se presentan los conceptos para desarrolladores sobre cómo crear una extensión de Microsoft Edge. Como desarrollador de extensiones, puede seguir las instrucciones para comprender cómo funcionan los exploradores de varias pestañas.

Una extensión de Microsoft Edge es una pequeña aplicación en la que los usuarios pueden optar por agregar o modificar características de Microsoft Edge para proporcionar una experiencia o función especializadas que son importantes para un público objetivo. Para obtener una introducción, vea Información general sobre las extensiones de Microsoft Edge.

Los usuarios exploran e instalan extensiones para Microsoft Edge desde el sitio web de complementos de Microsoft Edge .

Contenido detallado:

Comprender cómo funcionan los navegadores

En la lista siguiente se describe información útil que debe comprender antes de crear su extensión.

Las pestañas del explorador son conversaciones aisladas

Cada pestaña del explorador está aislada de todas las demás. Cada pestaña se ejecuta en un hilo independiente que está aislado de otras pestañas e hilos del explorador.

Una conversación por pestaña del explorador

Cada pestaña controla una solicitud GET

Cada pestaña controla una solicitud GET. Cada pestaña usa una dirección URL para obtener un único flujo de datos, que normalmente es un documento HTML. Esa única secuencia o página incluye instrucciones como si JavaScript incluyera etiquetas, referencias de imagen, referencias de CSS y más. Todos los recursos se descargan en esa página de pestaña y, a continuación, la página se representa en la pestaña.

La comunicación se produce entre cada pestaña y un servidor remoto

La comunicación se produce entre cada pestaña y un servidor remoto. Cada pestaña se ejecuta en un entorno aislado. Cada pestaña sigue conectada a Internet, pero cada una está aislada de las demás. Una pestaña puede ejecutar JavaScript para comunicarse con un servidor. El servidor es el servidor de origen de la primera solicitud GET que se especificó en la barra de direcciones URL de la pestaña.

Modelo de comunicación

El modelo de extensión usa un modelo de comunicación diferente. De forma similar a una página de pestañas, una extensión se ejecuta en un subproceso individual que está aislado de otros subprocesos de la página de pestañas. Una pestaña envía solicitudes GET únicas a servidores remotos y, a continuación, representa la página. Sin embargo, una extensión funciona de forma similar a un servidor remoto. La instalación de una extensión en un explorador crea un servidor web independiente en el explorador. La extensión está aislada de todas las páginas de pestañas.

Las extensiones usan un modelo de comunicación diferente

Arquitectura de extensión de RIS

En la lista siguiente se describe información útil relacionada con la arquitectura de una extensión.

Conjunto de servidores web de extensión

Una extensión es un conjunto de recursos web. Los recursos web son similares a otros recursos que usted (el desarrollador web) publica en servidores web. Los recursos web se agrupan en un archivo zip al compilar una extensión.

El archivo zip incluye archivos HTML, CSS, JavaScript y de imagen. Se requiere un archivo más en la raíz del archivo zip. El otro archivo es el archivo de manifiesto denominado manifest.json. El archivo de manifiesto es el plano técnico de la extensión e incluye la versión de la extensión, el título, los permisos necesarios para que se ejecute la extensión, etc.

Iniciar el servidor de extensiones

Los servidores web contienen el paquete web. Un explorador navega a las direcciones URL del servidor y descarga el archivo para representarlo en el explorador. Un explorador navega mediante certificados, archivos de configuración, etc. Si se especifica un index.html archivo, este se almacena en una ubicación especial del servidor web.

Cuando se usa una extensión, la página de pestaña del explorador llega al paquete web de la extensión mediante el tiempo de ejecución de la extensión. El tiempo de ejecución de la extensión sirve los archivos desde la dirección URL extension://{some-long-unique-identifier}/index.html, donde {some-long-unique-identifier} hay un identificador único asignado a la extensión durante la instalación. Cada extensión usa un identificador único diferente. Cada identificador apunta al paquete web instalado en el explorador.

Comunicación con pestañas y barra de herramientas del explorador

Una extensión puede comunicarse mediante pestañas y la barra de herramientas del explorador. Una extensión puede interactuar con la barra de herramientas de su explorador. Cada extensión administra las páginas de pestañas en ejecución en subprocesos independientes y la manipulación del DOM en cada página de pestaña está aislada. Una extensión usa la API de extensiones para comunicarse entre las páginas de extensión y pestaña. La API de extensiones proporciona funcionalidades adicionales que incluyen la administración de notificaciones, la administración de almacenamiento, etc.

Al igual que los servidores web, una extensión espera notificaciones cuando el explorador está abierto. Una extensión y las páginas de pestaña se ejecutan en subprocesos que están aislados entre sí. Para permitir que una extensión funcione con cualquier página de pestaña, use la API de extensiones y establezca los permisos en el archivo de manifiesto.

Permisos de participación en el momento de la instalación

Una extensión proporciona permisos de participación en el momento de la instalación. Usted especifica los permisos de extensión en el manifest.json archivo. Cuando un usuario instala una extensión, se muestra información sobre los permisos que requiere la extensión. En función del tipo de permiso necesario, la extensión puede extraer y usar información del explorador.

Vea también