Baja y eliminación de funciones en Chrome

Descubre cómo Chrome quita las funciones que no funcionan bien y, al mismo tiempo, minimiza las interrupciones para los usuarios finales y los desarrolladores.

Chrome agrega continuamente nuevas funciones y características, pero, a veces, es necesario quitar algunas.

La eliminación de funciones puede reducir la complejidad del código base del navegador y ayudar a mantener los navegadores seguros, ya que reduce los posibles vectores de ataque. Un enfoque coordinado cuidadosamente en toda la plataforma web garantiza que los proveedores de navegadores puedan quitar las funciones de la plataforma que no funcionan bien y, al mismo tiempo, minimizar las interrupciones para los usuarios finales y los desarrolladores.

Eliminación de funciones del navegador

Si los navegadores quitaran funciones sin previo aviso, los sitios web dejarían de funcionar y los desarrolladores tendrían dificultades para planificar la migración a tecnologías alternativas. En cambio, los proveedores de navegadores adoptan un enfoque sistemático, ya que proporcionan advertencias, recursos de asistencia y cronogramas detallados con mucha anticipación a la eliminación de funciones.

Baja y eliminación

Hay dos fases principales para quitar una función de Chrome:

  • Obsolescencia: Advertir a los desarrolladores que se programó la eliminación de una función y proporcionar recursos para ayudar a los sitios a migrar a alternativas. Las advertencias se muestran en el panel Issues de las Herramientas para desarrolladores de Chrome cuando se usan funciones obsoletas, y la información sobre los cronogramas de obsolescencia y la asistencia se publica en Chrome Platform Status y en los artículos y las publicaciones de blog de Chrome for Developers.
  • Eliminación: Inicialmente, inhabilita la función de forma predeterminada, pero permite que los desarrolladores sigan usándola temporalmente estableciendo una marca de Chrome o participando en una prueba de baja. Una vez que los sitios ya no dependan de la función inhabilitada, quita el código.

Los navegadores web basados en Chromium, como Chrome, usan el motor de renderización Blink para transformar el código y los recursos en páginas web que puedes ver y con las que puedes interactuar. Cuando los ingenieros quieren hacer un cambio en Blink, publican en la lista de distribución de blink-dev para obtener la aprobación y continuar. Estas publicaciones de la lista de distribución se denominan Blink Intents.

Cuando los ingenieros tienen la intención de desaprobar y, luego, quitar una función de Blink, publican una intención de desaprobación en la lista de distribución de blink-dev, seguida de una intención de eliminación. A menudo, los dos intents se combinan como un Intent to Deprecate and Remove.

Intención de dar de baja

Los ingenieros de Blink publican una intención de baja cuando quieren comenzar a advertir a los desarrolladores que se planea quitar una función del navegador. En este punto, la función seguirá disponible, pero los desarrolladores recibirán asistencia e información de las Herramientas para desarrolladores de Chrome, así como en entradas de blog, en chromestatus.com y en la documentación de la función en MDN y en otros lugares.

Ejemplo: Intención de dar de baja: Eventos de mutación

Intención de quitar

Se publica una intención de quitar cuando los ingenieros de Blink tienen la intención de desactivar una función y quitar el código correspondiente. A menudo, una intención de retiro se combina con una intención de baja, como una intención de baja y retiro.

Ejemplo: Intento de dar de baja y quitar: WebSQL

Minimizar las interrupciones para los usuarios y los desarrolladores

Chrome evita quitar funciones siempre que es posible.

Los ingenieros de Chrome siempre revisan las tasas de uso de las funciones y otros datos antes de proceder con las bajas. Una función solo se quitará si, por ejemplo, la usa una proporción muy pequeña de usuarios y hay mejores alternativas disponibles, o si los cambios en el ecosistema implican que la función ahora puede generar vulnerabilidades de seguridad graves. Por lo general, no se quita una función de Chrome si otros navegadores planean seguir admitiéndola: la eliminación de funciones debe coordinarse entre los motores de los navegadores.

Además de las publicaciones de intención en la lista de distribución de blink-dev, las bajas se anuncian en el blog de Chrome para desarrolladores. También se proporcionan advertencias e información de asistencia en las Herramientas para desarrolladores de Chrome y en la documentación de funciones. Los cronogramas también se publican en la entrada de chromestatus.com para una función obsoleta.

Cómo volver a habilitar temporalmente una función obsoleta

Las pruebas de baja son un tipo de prueba de origen que permite volver a habilitar temporalmente una función que se cambió o inhabilitó de forma predeterminada antes de su eliminación. Por ejemplo, se quitaron los eventos de mutación a partir de Chrome 127. Los sitios que necesitaban tiempo adicional antes de quitar estos eventos podían registrarse en la prueba de baja para volver a habilitar los eventos de forma temporal en sitios específicos, lo que les daba más tiempo para migrar a una funcionalidad alternativa.

En el caso de algunas funciones obsoletas, se pone a disposición una función experimental de Chrome para proporcionar acceso temporal a la función para un usuario individual, como los desarrolladores que trabajan en la migración a alternativas.

Tomar medidas

Como desarrollador, debes estar preparado para los cambios en la plataforma web.

Puedes consultar las notas de la versión de cada versión nueva de cada navegador, pero también debes usar los canales de navegador previos a la versión estable para probar y adaptar tus sitios de modo que estén listos para los próximos cambios, incluidas las eliminaciones. Como mínimo, asegúrate de que tu equipo de desarrollo use el canal para desarrolladores de Chrome y Chrome estable para acceder a los sitios en los que trabajas. Como desarrollador, puedes ejecutar varios canales de forma simultánea. Esto te permite realizar pruebas con versiones futuras de Chrome, así como experimentar tu sitio en Chrome estable, que probablemente sea el canal que use la gran mayoría de tus usuarios.

Verifica periódicamente la consola de Herramientas para desarrolladores de Chrome para detectar advertencias de baja. DevTools proporciona información y vínculos a recursos para ayudarte a migrar de las funciones descontinuadas. También debes usar varios canales de Chrome para las pruebas automatizadas y manuales.

Más información