Presentamos Chrome Dev Insider

José Galbraith
Ben Galbraith

A menudo, los desarrolladores nos dicen que es difícil mantenerse al día con los cambios en la Web y comprender por qué ocurren estos cambios. Hoy comenzaremos una nueva serie llamada Chrome Dev Insider, en la que compartiremos (1) Qué es interesante y relevante, (2) una estadística sobre cómo tomamos una decisión sobre un tema clave (por ejemplo, cómo cambiar FLOC) o cómo abordamos nuestro trabajo con el ecosistema (por ejemplo, Interop 2022) y (3) cualquier cosa importante en las cadenas sobre el usuario-agente (3) cualquier punto importante en las cadenas sobre el usuario-agente.

Mientras compartimos en qué estamos trabajando, lo haremos en el contexto de nuestras cuatro prioridades para 2022:

  • Habilitar experiencias del usuario placenteras: Haz que los elementos sean intuitivos para los usuarios, ya sea en cuanto al rendimiento, las transacciones, la identidad o las transiciones.
  • Mejora de las capacidades de la Web: Apoya el papel cambiante de la Web, desde una plataforma de consumo de contenido hasta la plataforma para una amplia gama de experiencias, incluidas aquellas que necesitan integraciones profundas a nivel de SO y hardware.
  • Simplificación del desarrollo web: Facilita la toma de decisiones y mejora la productividad de los desarrolladores.
  • Mejora de la privacidad de la Web: Satisface la expectativa de los usuarios de la Web de contar con mejores protecciones de la privacidad de los datos frente al creciente sofisticación de los desarrolladores en cuanto al seguimiento y la segmentación.

Noticias: Interoperabilidad 2022

Mientras planificamos nuestras hojas de ruta, examinamos los comentarios de los desarrolladores para comprender los principales problemas y necesidades de los desarrolladores web, entre otros aspectos. Un tema clave que se muestra con frecuencia es la compatibilidad con navegadores, lo que hace que la experiencia funcione de la misma manera en todos ellos. Durante el último año, trabajamos con el ecosistema para abordar este tema como parte de nuestra prioridad de "simplificar el desarrollo web".

El año pasado, las empresas de Microsoft, Chrome y del ecosistema anunciaron Compat 2021, que permitió que todos los motores de navegadores populares (Chromium, Gecko y Webkit) obtuvieran una puntuación superior al 90% en las cinco áreas de enfoque clave identificadas para este año. Entre otras cosas, Compat 2021 permitió crear una base sólida para funciones potentes como la Cuadrícula de CSS (12% de uso y un crecimiento sostenido) y CSS Flexbox (77% de uso).

El mes pasado, Apple, Bocoup, Google, Igalia, Microsoft y Mozilla se unieron como colaboradores para solucionar los principales problemas de compatibilidad con navegadores identificados por los desarrolladores web y acordar una comparativa común. El resultado es Interop 2022, un proyecto con el objetivo de lograr una mayor homogeneidad en la plataforma. Las comparativas se enfocan en 15 áreas prioritarias que los desarrolladores identifican como clave para mejorar su productividad.

Novedades con información privilegiada: Trabajamos con nuestros pares de navegadores

Con Interoperabilidad 2022 como prioridad, me reuní con Robert Nyman y Philip Jägenstedt, que participaron en estas conversaciones para conocer la historia. Esta es la versión del editor de cómo se creó.

¿Cuál es el origen de esta iniciativa?

Robert: Todo comenzó en 2019, cuando hicimos la encuesta MDN DNA 2019. Los problemas de compatibilidad se destacaron claramente como el principal problema de los desarrolladores que compilan para la Web, y realizamos un seguimiento mucho más detallado del Informe de compatibilidad del navegador de MDN 2020. De esta manera, obtuvimos suficiente información y datos prácticos para iniciar la iniciativa de compatibilidad con 2021, lo que, a su vez, permitió continuar con ese trabajo y expandir ese alcance con Interop 2022.

Philip: También nos gustaría mencionar web-platform-tests y State of CSS 2021. Desde hace años, colaboramos con otros proveedores de navegadores para realizar pruebas con WPT, y realmente queríamos enfocarnos en ello. En su mayoría, las pruebas para estas funciones ya estaban escritas, por lo que solo tuvimos que revisarlas y agregar algo de cobertura. Google invirtió mucho en wpt.fyi, pero también debemos agradecerle a Mozilla por hacer de WPT el éxito que es en la actualidad. Por supuesto, Mozilla también tuvo un gran papel en las encuestas de ADN de MDN. Más allá de ellos, también está el estado del CSS 2021. Para elaborar una iniciativa como Inop 2022, necesitamos información actualizada sobre las necesidades de los desarrolladores web, por lo que trabajamos con Sacha, el encargado de mantenimiento de encuestas, para incluir algunas preguntas nuevas sobre los problemas de compatibilidad del navegador. Eso nos ayudó mucho en el proceso de planificación de Interoperabilidad 2022.

¿Tienes conocimientos o comentarios acerca de Compat 2021?

Robert: Fue muy útil medir y tener puntuaciones y estadísticas sobre el rendimiento de cada motor de navegador. Así, pudimos realizar un seguimiento del progreso y asegurarnos de analizar y abordar los problemas que no eran claros o que debíamos priorizar. También nos dimos cuenta rápidamente de que "Interoperabilidad" era una mejor opción para la iniciativa. Por lo general, los términos interoperabilidad y compatibilidad se distinguen por los proveedores de navegadores, donde "compatibilidad" se refiere a la compatibilidad con el sitio y "interoperabilidad" se refiere a que dos o más navegadores se comportan de la misma manera. En esa terminología, este esfuerzo se trata de la interoperabilidad, por lo que el proyecto se alineó con esa nomenclatura.

¿Cuál es nuestra visión en este asunto?

Robert: Para mantener la Web abierta, es fundamental contar con la diversidad de navegadores y motores de renderización. Lamentablemente, esto tiene un precio alto para nuestros desarrolladores, que deben mantenerse al día con los distintos niveles de compatibilidad de funciones en cada motor. Nuestra visión es que los desarrolladores vean la plataforma web como la opción más viable y atractiva para sus necesidades, y que puedan enfocarse en crear las mejores experiencias posibles en lugar de dedicar mucho tiempo a resolver problemas de interoperabilidad. Y es muy claro que para alcanzar ese objetivo, las funciones más solicitadas deben incluirse en los principales motores de navegadores para que los desarrolladores tengan éxito en la plataforma web.

¿Cómo avanzamos en conjunto cuando se combinan navegadores con objetivos diferentes (a veces?)

Philip: Nuestro enfoque ha sido buscar áreas de interés compartido para encontrar aquellas colaboraciones beneficiosas para todos donde los objetivos ya estén más o menos alineados. Al priorizar una cantidad limitada de elementos en los que trabajar al mismo tiempo, nos enfocamos en esas áreas, avanzamos más rápido y obtenemos una mayor calidad de lo que obtendríamos si simplemente trabajáramos por separado. Esa es la idea.

Creo que es importante reconocer que este enfoque basado en el consenso tiene sus límites, en el que los objetivos no están lo suficientemente alineados y necesitamos avanzar de otra manera. A veces, aportar más evidencia de las necesidades de los usuarios o desarrolladores web puede ser útil, pero, en última instancia, los proveedores de navegadores pueden enviar elementos que no tienen un acuerdo amplio. En el mejor de los casos, los desarrolladores web que prueban la función demuestran el valor de la función, descubren que satisface sus necesidades y solicitan la misma función en todos los navegadores.

Volvamos a Interoperabilidad 2022, ¿vemos que en algún momento se incorporarán a la canalización funciones que no son de diseño o de diseño?

Philip: Por supuesto. Interoperabilidad 2022 no se limitó a funciones de estilo y diseño, sino que se inclinó mucho por CSS. En parte porque State of CSS 2021 era reciente, pero también porque los desarrolladores web nos informaron que aquí es donde tienen más problemas con las diferencias entre los navegadores. Múltiples áreas de enfoque, como formularios y elementos de diálogo, van más allá de CSS, y también tenemos algunos esfuerzos de investigación sobre la edición de APIs y eventos de puntero y mouse. Espero que para Interoperabilidad 2023 tengamos más datos actualizados sobre las necesidades de los desarrolladores en la Web y que incluyamos más funciones de este tipo.

Próximos cambios clave

Uno de los objetivos de esta serie es informar a los desarrolladores sobre los próximos cambios clave, aspectos que son importantes para mejorar la experiencia del usuario y las capacidades de la plataforma.

En los cronogramas que se mencionan a continuación, esperamos que se lleven a cabo estos cambios. Sin embargo, es posible que cambien las versiones de actualización de las funciones.

Reducción de usuario-agente

El encabezado User-Agent y sus interfaces de JS asociadas no solo transmiten información útil del navegador y del dispositivo, sino que también lleva consigo información imprecisa y un legado de linaje. El hecho de que se envía de forma pasiva a los servidores para todas las solicitudes de navegación y subrecursos es más problemático que el suministro casi infinito de errores de análisis de cadenas de UA. Esto representa aproximadamente 10 bits de entropía que los servidores pueden usar para crear identificadores de seguimiento estables mientras los usuarios navegan por la web.

Nuestro plan actual es reducir la cadena de UA existente. Para ello, seguimos enviando la versión principal del navegador con baja entropía, el nombre de la plataforma y la dispositivos móviles, lo que inmoviliza la información de alta entropía. Para los casos de uso que requieren información adicional que la que aparece en el encabezado, hemos estado enviando la API de User-Agent Client Hints desde Chrome 89.

Realizamos una prueba de origen durante 6 meses para realizar experimentos y comentarios, y nos alegra haber recibido comentarios relacionados con fallas, a pesar de que teníamos más de 200 participantes.

API de Local Fonts Access

Chrome iniciará la API de Local Font Access. Si bien los sitios han podido usar fuentes locales desde hace mucho tiempo, esta API enumera la lista de fuentes locales y brinda acceso a los datos de la fuente. Esta funcionalidad les brinda a los usuarios la capacidad de usar todas sus fuentes con un diseño basado en la Web y otras aplicaciones.

Desde hace mucho tiempo, las fuentes locales se conocen como un vector de creación de huellas digitales. Si bien esta nueva API no aumenta la capacidad de usar fuentes para la creación de huellas digitales, Chrome requiere que el usuario otorgue un nuevo permiso "local-fonts" a un sitio para que pueda usar la nueva API de Local Font Access.

En el futuro, planeamos exigir que se otorgue el mismo permiso de "fuentes locales" antes de usar cualquier otra API que brinde acceso a fuentes locales.

Haz que BFCache funcione con Cache-control: no-store

Identificamos una oportunidad importante para mejorar la frecuencia con la que la caché atrás/adelante puede brindar navegaciones instantáneas hacia atrás/adelante. Esto requiere un cambio en el comportamiento de BFCache en páginas que se entregan con el encabezado HTTP Cache-control: no-store. Contamos con una propuesta pública diseñada para evitar sorpresas significativas mediante la supervisión de varios indicadores (por ejemplo, expulsar páginas de BFCache cada vez que cambie una cookie solo de HTTP) y la restricción (por ejemplo, una política de grupo para clientes de Enterprise/Edu) para contextos únicos. Esta es una oportunidad compleja, pero emocionante, y nos encantaría recibir más escrutinio y comentarios.

  • Cronograma: Segmentación de Chrome 104 (julio de 2022), suponiendo que no haya grandes sorpresas.
  • Llamado a la acción: Consulte la propuesta para obtener más detalles, por ejemplo, cómo habilitar una implementación del trabajo en curso y formas de compartir comentarios, como situaciones reales en las que nuestro enfoque crearía nuevos obstáculos.

A través de esta serie, espero poder darles a nuestra comunidad de desarrolladores un sentido de enfoque y conexión, ya que los acercaré a mi equipo y a su trabajo. Así que mantente atento y mira este espacio para enterarte de las novedades.

Hasta entonces, ¡feliz vida!

¿Qué te pareció la primera edición de Chrome Dev Insider? Comparte tus comentarios.