Ir al contenido principal

Cómo crear y publicar tu primera extensión para Firefox

Hay diferentes formas de hacer extensiones para Firefox. En este tutorial veremos como crear extensiones para el navegador de Mozilla usando el Add-on SDK de este navegador gratuito y totalmente de código abierto.


Entre los características y beneficios tenemos:
  • Se pueden crear fantásticas extensiones sólo con javaScript, HTML y CSS.
  • Cualquiera pueda crear y publicar sus extensiones en el directorio de Mozilla, gratis.
  • No tienes que preocuparte de ningún consumo, memoría, ancho de banda, etc.
  • Podemos llegar a más gente a través de las búsquedas en el directorio de extensiones.

Sin embargo, antes de que te pongas a ello has de saber el "pequeño" inconveniente de usar este método: Solo funciona en el navegador web de Mozilla; Firefox. En el epígrafe Add-on SDK vs WebExtensions te hablo de ello.

Tutorial para crear extensiones para Firefox

El primer paso es instalar el kit de desarrollo de software, o SDK, por sus siglas en inglés. Aquí tienes las instrucciones en ingles para instalar el SDK. Además de instalar node.js, también tendrás que instalar la herramienta jpm, como se indica.

También te será útil tener Firefox instalado para poder probar tu aplicación. Esta es una versión para desarrolladores, incluye la extensión Valence con la que analizar y depurar el funcionamiento de tu extensión. Para escribir código recomiendo Notepad++.

Todas las extensiones para Firefox necesitan un archivo llamado 'package.json'. Este podemos crearlo automáticamente con la herramienta jpm que hemos instalado previamente. Sigue estos pasos desde la terminal de tu sistema:
  • Crear un directorio: mkdir mi-extension
  • Desplazarse hasta él: cd mi-extension
  • Ejecutar el comando: jpm init

Se te requerirá información que puedes optar por desatender pulsando el botón Intro hasta que aparezca un mensaje para aceptar los datos para crear finalmente el archivo.

Una vez hecho esto ya puedes estar feliz; ya tienes tu primera extensión para el navegador Firefox. Pero todavía nos queda empaquetarla para poder instalarla (próximamente ya no habrá que hacer esto).

Pero antes de eso llevaremos a cabo unas modificaciones de nuestra extensión. En esta página de Mozilla está el mismo ejemplo que usaremos en esta entrada.

Añadiendo funcionalidades a tu recién creada extensión

Ahora ya puedes editar el código de tu extensión para Firefox. Si vas al directorio que acabas de crear verás que hay varios archivos. Uno es el mencionado package.json, hay también una carpeta y otro archivo README.md y otro llamdo 'index.js'. 

Este archivo index.js es el "centro de operaciones". Desde él se lleva a cabo toda la "acción" de la extensión. Vamos a añadirle unas funcionalidades a la extensión que acabas de crear. Abre el archivo index.js desde un editor de textos y pega en él el siguiente ejemplo:

var botones = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var boton = botones.ActionButton({
  id: "enlace",
  label: "Visita este enlace",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: manejaelClick
});
function manejaelClick(state) {
  tabs.open("http://www.mozilla.org/");
}

Si quieres seguir progresando en el desarrollo de tu extensión, continúa con los tutoriales que tiene Mozilla preparados en su Mozilla Developer Network. Todo lo que necesitarás para llevar a cabo tus extensiones son conocimientos de programación y más o menos habilidad y tiempo.

Un interciso: Add-on SDK vs WebExtensions

Notarás que además del Add-on SDK está muy presente el WebExtensions. Este último es la nueva forma con la que se desarrollarán las extensiones para el navegador Firefox.

Los beneficios de WebExtensions son mucho mayores que los de su rival. Firefox está migrando todavía hacia este sistema pero en el futuro es más que probable que el SDK original quede obsoleto.

Así que realmente esta entrada principalmente es para fines educativos (y porque con ello están hechas las versiones actuales de mi primera extensión), ya que sería más realista crear extensiones mediante WebExtensions. Seguramente lo veamos próximamente.

Empaquetar y probar la extensión en tu navegador

Para llevar a cabo el empaquetado de tu extensión dirígete desde el terminal hasta el directorio en donde están los archivos de tu extensión. Allí escribe jpm xpi y espera unos segundos.

Ahora ya puedes instalar tu extensión como un archivo externo (mi-extension.xpi) desde la sección Add-ons de tu navegador Firefox. Todavía no está disponible para todo el mundo, solo para ti.

Hacer pública tu extensión: Subirla al directorio

Antes de poder subir tu extensión al directorio de herramientas deberás crear una cuenta. Una vez la tengas echa dirígete al menú Herramientas y pulsa en Envía un nuevo complemento.

Selecciona el archivo XPI que acabas de crear y súbelo. Índica su compatibilidad con los principales sistemas (si solo usan la web generalmente es con compatible con todos) y sigue los pasos hasta que puedas escoger el modo de verificación.

Podrás encontrar toda la ayuda necesaria en la comunidad y respondiendo a los correos electrónicos cuando la revisión de tu extensión no se haya producido con éxito.


Probablemente en una próxima entrada veremos algunas opciones más y algunas ideas para crear una extensión que nos genere ingresos cuando otras personas la usen. Suscríbete a mi blog para estar al tanto de todas ellas.

Entradas populares de este blog

Optimiza las ganancias de acortadores al máximo fácil con Lanza.me

Seguro que ya conoces  Lanza.me ; el primer acortador y metaacortador que te permite cambiar todos tus enlaces en pocos segundos a los acortadores que quieras, evitando con ellos problemas con los principales acortadores que pagan . Estoy seguro de que también conoces Shorteners.net ; el primer comparador de tasas y otras características de acortadores de acortadores que pagan y que te ofrece las tasas de estos siempre actualizadas, valoraciones y más. Ha llegado el momento de unir ambos sitios para una obtención de datos práctica y automática. Lanza.me + Shorteners.net: La unión perfecta Así es. Lanza.me y Shorteners.net ya tienen una conexión conjunta. Con ella, Lanza.me puede conocer las tasas de los acortadores y con ello, decirte cuál es el acortador que más te conviene para las visitas que recibas. Y no me estoy refiriendo al recomendador de acortadores integrado en Lanza.me , que te anuncia cuales son los acortadores que no estás empleando y que tienen

Compatible con Youtube, Lanza.me trae otras muchas mejoras

Lanza.me es es un acortador y metaacortador con funcionalidades únicas. Una de ellas es la de mostrar páginas externas de nuestra preferencia, así como acortar nuestros enlaces con los principales acortadores de enlaces. Hubo novedades, y en esta entrada te las presento. Si quieres saber más acerca de Lanza.me visita esta sección del blog . Vídeos de Youtube como páginas intermedias Desde la madrugada del 24 de febrero Lanza.me es compatible con Youtube. Cuando inserten la URL de un vídeo de youtube como una página externa, el acortador lo detectará y lo mostrará ocupando todo el ancho de la pantalla cuando los usuarios visiten el enlace. Los usuarios VIP pueden configurar estas páginas para que reproduzcan el vídeo automáticamente, con lo que conseguirán más visitas. Más datos añadidos y un repaso a las estadísticas Hace tiempo comenté que otra vez había habido cambios en las estadísticas. Miraremos más por encima esas estadísticas porque tienen algunas opciones que sería inte

Multiplica tus ingresos con el encadenador de acortadores de Lanza.me

Lanza.me es el acortador y metaacortador que he estado desarrollando durante los últimos 4 años. Con él puedes usar otros acortadores para acortar tus enlaces y cambiarlos fácilmente y en muy pocos segundos. También permite usar páginas externas para mostrar en tus enlaces cortos o simplemente usar enlaces directos.  Ya es muy estable y está lleno de opciones, como estadísticas a nivel de usuario y enlace, optimización de acortadores, alertas dinámicas y reactivas de acortadores caídos o en problemas,  listas públicas de enlaces , programa de referidos, etc. Hoy te traigo una nueva característica. Encadenador: Multiplica tus ingresos sin esfuerzo ni riesgo Este lunes 5 de julio de 2021 se ha lanzado el encadenador de acortadores. Se trata de una nueva característica, única de Lanza.me, con la que podrás conseguir duplicar tus ingresos sin esfuerzo ni riesgo. Cómo funciona el encadenador El encadenador de acortadores usa varios acortadores a la vez sobre un mismo enlace; Los visitantes