13Sep

Por qué Firefox tuvo que matar su extensión favorita

Firefox 57, o Quantum, está aquí, y es una gran mejora. Firefox finalmente alcanzó a Chrome en términos de velocidad, la interfaz es mucho más limpia y hay algunas características nuevas para arrancar. No hay mucho de qué quejarse aquí.

Es broma. En Internet, siempre hay algo de lo que quejarse.

Con Firefox Quantum, la queja de hoy es que ciertas extensiones ya no funcionan. Numerosas extensiones de alto perfil, incluyendo DownThemAll y Greasemonkey, actualmente no funcionan con Quantum. Otros, incluidos Firebug y ScrapBook, probablemente nunca vuelvan a funcionar.

Esto es frustrante si eres usuario de uno de estos servicios, y podrías pensar que es algo arbitrario. No lo esNos guste o no, Mozilla sintió que no tenían otra opción más que abandonar lo que llama complementos "heredados" para seguir adelante. Este es el por qué.

Cómo funcionaban las extensiones Legacy de Firefox

Las extensiones tradicionales de Firefox generalmente se escribían en el Lenguaje de Interfaz de Usuario XML( XUL).Este es el idioma con el que está construida la interfaz de usuario de Firefox, y las extensiones basadas en XUL pueden modificar esa interfaz directamente. Estos complementos también tenían acceso casi completo a XPCOM, el poderoso modelo de objetos componentes utilizado por Firefox.

Si eso le pasó por alto, solo tenga en cuenta esto: las extensiones de Firefox tenían una capacidad más o menos total para cambiar su navegador, e hicieron esos cambios directamente. Es por eso que esas extensiones eran tan poderosas: no había un conjunto prescrito de cosas que podrían y no podrían cambiar. También es la razón por la cual estas extensiones tienden a romperse con las nuevas versiones de Firefox. Las extensiones

para Chrome o Safari no funcionan de esta manera. Esos navegadores ofrecen a los desarrolladores de extensión API específicas que pueden usar, lo que significa que hay una lista de cosas que las extensiones pueden y no pueden controlar. Desde hace dos años, Firefox ofrece una API similar llamada WebExtensions, que ha alentado a los desarrolladores a adoptar.

Extensiones tradicionales mejoran Firefox

Firefox Quantam no es la primera actualización para romper una extensión: este ha sido un problema constante durante años. Debido a que las extensiones de Firefox podían afectar a Firefox de forma tan directa, era posible que incluso cambios menores en Firefox rompieran por completo los complementos, o simplemente introdujeran errores que reducen el rendimiento.

Los usuarios de Firefox, sin saber que las extensiones estaban causando el problema, supondrían que la nueva versión de Firefox tiene errores, y desde su perspectiva lo era. El equipo de Firefox hará todo lo posible para asegurarse de que las extensiones populares funcionen antes de lanzar una nueva versión, pero es fácil imaginar todo esto desacelerando el desarrollo.

La API WebExtensions facilita todo esto al definir específicamente qué extensiones pueden hacer y cómo pueden hacerlo. Esto significa que los desarrolladores solo necesitan asegurarse de que la API funcione correctamente y no se preocupen de que un ajuste de rendimiento o un cambio en la IU rompa extensiones particulares. El resultado debería ser que se eliminen menos extensiones a largo plazo, pero para que esto sea posible, Mozilla debe abandonar el antiguo ecosistema de extensión.

El cambio también hace que algunas de las mejores características de Quantam sean posibles. La capacidad de múltiples procesos, por ejemplo, es una gran parte del aumento de velocidad de Firefox Quantam. Cuatro procesos separados manejan la interfaz y las pestañas de Firefox, lo que significa que Firefox puede usar los cuatro núcleos de tu procesador en lugar de solo uno. Esta es una realidad para la cual el ecosistema de extensión tradicional simplemente no fue construido, y es difícil imaginar que funcione sin muchas capas de abstracción que ralentizarían inevitablemente las cosas. Muchos de los próximos cambios en Firefox también fueron retenidos por los complementos heredados, lo que significa que el ecosistema tuvo que cambiar para que Firefox evolucione.

Compatibilidad con plataformas cruzadas fue un problema

Había una vez una vez, los complementos le daban a las personas una razón de peso para usar Firefox sobre Chrome. Hoy en día, Chrome es, con mucho, el líder en términos de complementos, mientras que Firefox puede sentirse como un cementerio de extensiones sin mantenimiento de años pasados.

Claro, hay algunas extensiones de Firefox que no puedes obtener en Chrome, pero Chrome tiene el ecosistema más grande por lejos. La nueva API de WebExtensions no solucionará esto de la noche a la mañana, pero hace que sea mucho más fácil para las extensiones de Chrome trasladarse a Firefox porque el lenguaje utilizado para escribir extensiones es lo suficientemente similar como para hacer que la transferencia sea superficial. En muchos casos, solo se necesitan algunos ajustes para que una extensión de Chrome se ejecute en Firefox, lo que significa que no hay motivo para que tus extensiones de Chrome favoritas no lleguen ahora a Firefox si le preguntas al desarrollador lo suficientemente bien. Esto debería conducir a una inundación de nuevas extensiones en un ecosistema que podría usarlo francamente.

Firefox ya estaba perdiendo usuarios

Algunos pueden argumentar que Firefox perderá usuarios debido a extensiones rotas, pero vale la pena señalar que Firefox ya estaba perdiendo usuarios a Chrome a una velocidad alarmante, y lo ha estado haciendo durante años. La velocidad comparativa y la falta de ciertos complementos no ayudaban en ese aspecto, y Firefox Quantum apunta a solucionar ambos problemas.

¿Existe la posibilidad de que esto sea contraproducente? Por supuesto. Algunas personas saldrán a Chrome, y otras buscarán antiguas horquillas que mantengan el antiguo ecosistema de extensión. Pero no es como si las cosas fueran bien antes. Firefox necesitaba evolucionar para seguir siendo relevante, y así es como decidieron hacerlo. Los desarrolladores de

tuvieron tiempo de cambiar a la nueva API

. Algunos usuarios no notarán que este cambio haya sucedido, porque las extensiones con las que trabajan ya usan la API WebExtension. Otras extensiones no han cambiado.

Esto podría deberse a que el desarrollador abandonó la extensión hace mucho tiempo, o no tiene ganas de volver a escribirla para usar la API.En algunos casos, la API no ofrece el control suficiente para volver a crear la extensión original, por lo que los desarrolladores están abandonando sus proyectos. Y en muchos casos, la conversión simplemente no está hecha todavía.

En cualquier caso, las extensiones no se están rompiendo porque Mozilla cambió algo repentinamente. WebExtensions ha sido parte de Firefox durante dos años, y la fecha límite para actualizar extensiones fue anunciada hace un año:

. Para finales de 2017, y con el lanzamiento de Firefox 57, pasaremos a WebExtensions exclusivamente, y dejaremos de cargar cualquierotros tipos de extensión en el escritorio.

¿Todavía te falta una extensión de la que dependes? Este documento de Google está rastreando varias extensiones populares y ofrece alternativas a varias de las más comunes. Esta lista también es útil.