Categorías: Labs

Cómo desarrollar una extensión para Firefox

Esta es una traducción del artículo original publicado en el blog de complementos. Traducción por Carlos Chocobar.

Hace  tiempo que no publicamos en este blog una guía sobre cómo desarrollar una extensión, y recientemente descubrimos que muchos de ustedes están visitando una publicación muy vieja sobre este tema. En la web hay mucha información sobre el tema, pero puede ser difícil de encontrar y es por eso que aquí te dejamos resumen de lo que necesitas saber sobre cómo desarrollar extensiones.

Como con todo lo que tiene que ver con Mozilla, el primer lugar en donde debes buscar la documentación de desarrollo es la Red de Desarrollo de Mozilla (Mozilla Developer Network). Allí hay una sección de complementos (add-ons) donde podrás encontrar todo lo que necesitas saber sobre cómo desarrollar extensiones para Firefox, así como también otros tipos de complemento.

Existen diferentes maneras de crear una extensión para Firefox, y cada una de ellas está cubierta en las secciones de abajo.

Extensiones con el Add-ons SDK

El Add-ons SDK es un grupo de APIs (interfaz de programación de aplicaciones) simples que pueden utilizarse para crear rápidamente buenas extensiones para Firefox. Es lo que recomendamos para nuevos desarrolladores. Debería ser fácil trabajar con ellas, especialmente si estás familiarizado con las extensiones par Google Chrome o los scripts de usuario (userscripts). El SDK abstrae la mayoría de la infraestructura XUL / XPCOM en Firefox y te da un ambiente HTML y JS más familiar para trabajar.

El enfoque actual para crear una extensión SDK consiste en descargar e instalar SDK, programar localmente, y luego empaquetar tu extensión (archivo XPI) utilizando la herramienta JPM incluida con el SDK (nota: JPM reemplaza a la anterior herramienta llamada cfx). El equipo de desarrollo del SDK está trabajando para hacer este proceso mucho más fácil al integrarlo en las herramientas del desarrollador de Firefox. Pronto podrás crear tus extensiones muy rápido desde Firefox.

Puedes aprender más sobre el SDK y conseguir ayuda aquí:

Extensiones Bootstrapped

Al igual que las extensiones hechas con el SDK, las extensiones bootstrapped no necesitan de un reinicio para instalarlas, pero tampoco tienen acceso directo a los APIs del SDK o aislamiento de seguridad. Básicamente haces todo manualmente, como monitorear las ventanas para agregar o quitar tu interfaz de usuario. Sin embargo, existen varias herramientas muy buenas disponibles mediante módulos JavaScript, como CustomizableUI.jsm para las barras de herramientas y Services.jsm para componentes de Firefox usados frecuentemente.

Comparado con la vieja manera de crear extensiones (ver más abajo las extensiones overlay), las única pérdida destacada son las overlays. Las extensiones Bootstraped tienen, en cambio, el archivo bootstrap.js, que sirve como punto de partida para tu código. Aparte de eso, todo lo demás debería ser familiar: install.rdf, chrome.manifest y archivos de código, todos comprimidos en un archivo ZIP con la extensión .xpi.

Aparte del artículo sobre extensiones Bootstrapped en MDN y las páginas a las que las conectan, todos los recursos de desarrollo disponibles son los mismos que para las extensiones overlay (ver abajo).

Extensiones de Firefox para Android

Las extensiones de Firefox para Android son un poco diferentes ya que la interfaz es nativa en vez de XUL. La manera en que las extensiones pueden modificarlo es diferente y un poco más limitada. Esto también implica que no se soportan las extensiones overlay, así que tus opciones son las extensiones SDK y Bootstrapped.

Ya que las aplicaciones para celulares tienen un espacio de pantalla muy limitado,  los navegadores necesitan maximizar el área de contenido, lo que significa que las extensiones no deben agregar botones o barras de tareas al navegador. Sin embargo, el equipo de Firefox para Android recientemente desarrolló el Firefox Hub API que permite a las extensiones agregar sus contenidos en la página de inicio. Este es un buen lugar para poner la interfaz de tus extensiones si lo necesitas.

Puedes aprender más sobre extensiones de Firefox para Android y obtener ayuda aquí:

Extensiones Overlay

Las extensiones overlay son la vieja manera de crear add-ons. Puede seguir teniendo sentido para ti usar esta propuesta si necesitas crear un overlay muy complejo o tienes otras necesidades específicas. Sin embargo, es fastidioso tener que reiniciar Firefox para instalar este tipo de extensión ya que rompe el ritmo de trabajo del usuario, por esto definitivamente debes considerar usar primero las extensiones SDK o Bootstrapped.

Puedes obtener ayuda sobre cómo se desarrolla una extensión en general aquí:

The following two tabs change content below.

jorgev

Add-ons Developer Relations Lead at Mozilla
Jorge trabaja para el equipo de complementos de Mozilla, y se dedica a Mozilla Hispano y Mozilla Costa Rica en su tiempo libre. Actualmente está encargado del blog de Mozilla Hispano Labs.