Los desarrolladores suelen decirnos que es difícil mantenerse al día con los cambios en la Web y comprender por qué ocurren. Hoy, comenzamos una nueva serie llamada Chrome Dev Insider, en la que compartiremos (1) contenido interesante y noticias, (2) información sobre cómo tomamos una decisión sobre un tema clave (por ejemplo, cambiar el FLOC) o abordar nuestro trabajo con el ecosistema (por ejemplo, Interop 2022) y (3) cualquier información realmente importante que debas saber (por ejemplo, cambios en las cadenas de usuario-agente).
Cuando compartamos en qué estamos trabajando, lo haremos en el contexto de nuestras cuatro prioridades para 2022:
- Permitir experiencias del usuario agradables: Haz que todo sea intuitivo para los usuarios, ya sea el rendimiento, las transacciones, la identidad o las transiciones.
- Mejora las capacidades de la Web: Admite el papel en evolución de la Web, de ser una plataforma de consumo de contenido a una plataforma para una amplia variedad de experiencias, incluidas aquellas que necesitan integraciones profundas a nivel del SO y del hardware.
- Simplifica el desarrollo web: Facilita la toma de decisiones y mejora la productividad de los desarrolladores.
- Mejorar la privacidad de la Web: Satisface las expectativas de los usuarios de la Web de obtener una mejor protección de la privacidad de los datos ante la sofisticación cada vez mayor de los desarrolladores en el seguimiento y la segmentación.
En las noticias: Interop 2022
Cuando planificamos nuestras hojas de ruta, analizamos los comentarios de los desarrolladores para comprender sus principales problemas y necesidades, entre otros aspectos. Un tema clave que aparece de forma reiterada es la compatibilidad con los navegadores, lo que hace que una experiencia funcione de la misma manera en todos los navegadores. 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, Microsoft, Chrome y los actores del ecosistema anunciaron Compatibilidad 2021, que permitió que todos los motores de navegadores populares (Chromium, Gecko y Webkit) alcanzaran una puntuación superior al 90% en las cinco áreas de enfoque clave identificadas para el año. Entre otras cosas, Compatibilidad 2021 permitió crear una base sólida para funciones potentes, como CSS Grid (12% de uso y crecimiento constante) y CSS Flexbox (77% de uso).
Además, el mes pasado, Apple, Bocoup, Google, Igalia, Microsoft y Mozilla se unieron como aliados para resolver los principales problemas de compatibilidad de navegadores que identificaron los desarrolladores web y acordar una comparativa común. El resultado es Interop 2022, un proyecto cuyo objetivo es brindar más homogeneidad a la plataforma. La comparativa se enfoca en 15 áreas prioritarias que los desarrolladores identificaron como clave para mejorar su productividad.
Información privilegiada: Cómo trabajar con nuestros pares de navegadores
Con Interop 2022 en mente, me senté con Robert Nyman y Philip Jägenstedt, que participaron en estas conversaciones, para conocer los detalles. Esta es la versión del editor de cómo se armó todo.
¿Cuál es el origen de esta iniciativa?
Robert: Todo comenzó en 2019, cuando realizamos la encuesta MDN DNA 2019. Los problemas de compatibilidad se destacaron claramente como el problema principal de los desarrolladores que compilan para la Web, y realizamos un seguimiento con mucho más detalle en el Informe de compatibilidad de navegadores de MDN 2020. Esto nos proporcionó suficiente información y datos prácticos para comenzar el esfuerzo de Compatibilidad 2021, que, a su vez, llevó a continuar ese trabajo y a expandir ese alcance con Interop 2022.
Philip: También me gustaría mencionar web-platform-tests y State of CSS 2021. Hemos tenido una gran colaboración con otros proveedores de navegadores en pruebas con WPT desde hace años, y realmente queríamos aprovechar eso. La mayoría de las pruebas para estas funciones ya estaban escritas, por lo que solo necesitábamos revisarlas y agregar la cobertura que faltaba. Google invirtió mucho en wpt.fyi, pero también debemos agradecer a Mozilla por hacer de WPT el éxito que es hoy. Por supuesto, Mozilla también tuvo una gran participación en las encuestas de ADN de MDN. Además de estos, también está el informe State of CSS 2021. Para organizar un evento como Interop 2022, necesitamos información actualizada sobre las necesidades de los desarrolladores web, por lo que trabajamos con Sacha, el encargado de mantener la encuesta, para incluir algunas preguntas nuevas sobre los problemas de compatibilidad de los navegadores. Eso nos ayudó mucho en el proceso de planificación de Interop 2022.
¿Tienes algún aprendizaje o comentario sobre Compatibilidad 2021?
Robert: Fue muy útil medir y tener puntuaciones y estadísticas sobre el rendimiento de cada motor de navegador para poder seguir el progreso y asegurarnos de analizar y abordar los problemas que no estaban claros o que debían priorizarse. También nos dimos cuenta rápidamente de que “Interop” era un mejor nombre para la iniciativa. Los proveedores de navegadores suelen distinguir los términos compatibilidad y interoperabilidad, en los que la compatibilidad se refiere a la compatibilidad del sitio y la interoperabilidad se refiere a dos o más navegadores que se comportan de la misma manera. En esa terminología, este esfuerzo se relaciona con la interoperabilidad, por lo que el proyecto se alineó con esa nomenclatura.
¿Cuál es nuestra visión aquí?
Robert: Para mantener la Web abierta, la diversidad de navegadores y motores de renderización es fundamental. Lamentablemente, esto tiene un costo alto para nuestros desarrolladores, que deben mantenerse al día con los diferentes niveles de compatibilidad de las 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 está muy claro que, para alcanzar ese objetivo, las funciones más solicitadas deben llegar a todos los motores de navegadores principales para permitir que los desarrolladores tengan éxito en la plataforma web.
¿Cómo avanzamos colectivamente cuando se unen navegadores con objetivos (a veces) diferentes?
Philip: Nuestro enfoque ha sido buscar áreas de interés compartido para encontrar esas colaboraciones en las que todos ganan y en las que los objetivos ya están alineados de forma aproximada. Además, cuando priorizamos una cantidad limitada de tareas en las que trabajar al mismo tiempo, nos enfocamos en esas áreas, avanzamos más rápido y obtenemos una mayor calidad de lo que lograríamos si simplemente trabajáramos por separado. Esa es la idea.
Creo que es importante reconocer que este enfoque basado en el consenso tiene límites, y que, cuando los objetivos no están lo suficientemente alineados, debemos avanzar de otra manera. A veces, puede ser útil proporcionar más evidencia de las necesidades de los desarrolladores web o de los usuarios, pero, en última instancia, los proveedores de navegadores pueden enviar elementos que no tienen un amplio acuerdo. En el mejor de los casos, los desarrolladores web prueban la función, descubren que resuelve sus necesidades y solicitan la misma función en todos los navegadores.
Volviendo a Interop 2022, ¿vemos que se incluyan funciones que no sean de diseño o diseño en algún momento?
Philip: ¡Por supuesto! Interop 2022 no se limitó a las funciones de diseño y estilo, pero terminó inclinándose mucho hacia CSS. En parte, porque el informe State of CSS 2021 era reciente, pero también porque los desarrolladores web nos dijeron que es aquí donde tienen más problemas con las diferencias entre navegadores. Varias áreas de enfoque, como los elementos de formulario y diálogo, van más allá del CSS, y también tenemos algunos esfuerzos de investigación en torno a la edición de APIs y los eventos del puntero y el mouse. Espero que para Interop 2023 tengamos más datos actualizados sobre las necesidades de los desarrolladores en la Web y que podamos incluir más funciones de este tipo en el esfuerzo.
Próximos cambios clave
Uno de los objetivos de esta serie es informar a los desarrolladores sobre los próximos cambios clave, que son importantes para mejorar la experiencia del usuario y las capacidades de la plataforma.
Los plazos que se mencionan a continuación son los momentos en los que esperamos que ocurran estos cambios. Sin embargo, es posible que las versiones de lanzamiento de las funciones cambien.
Reducción de usuario-agente
El encabezado User-Agent y sus interfaces de JS asociadas no solo transmiten información útil del navegador y el dispositivo, sino que también llevan consigo un legado de información inexacta y de linaje. Más problemático que el suministro casi infinito de errores de análisis de cadenas de UA es el hecho de que se envía de forma pasiva a los servidores para todas las solicitudes de navegación y subrecursos. Esto representa aproximadamente 10 bits de entropía que los servidores pueden usar para crear identificadores de seguimiento estables a medida que los usuarios navegan por la Web.
Nuestro plan actual es reducir la cadena de UA existente. Para ello, seguiremos enviando la versión principal del navegador de baja entropía, el nombre de la plataforma y la movilidad, y congelaremos la información de alta entropía. En el caso de los casos de uso que requieren información adicional a la que se incluye en el encabezado, enviamos la API de Sugerencias de clientes de usuario-agente desde Chrome 89.
Ejecutamos una prueba de Origin durante 6 meses para realizar experimentos y obtener comentarios, y nos alegramos de no haber recibido comentarios relacionados con fallas, a pesar de tener más de 200 participantes.
- Cronograma: En Chrome 101, seguiremos adelante con lo que llamamos Fase 4: reducir la información de
MINOR.BUILD.PATCH
en la cadena UA a0.0.0
. Además, seguiremos avisando a los sitios con anticipación y les daremos tiempo para prepararse para las fases 5 y posteriores. También creamos políticas empresariales para inhabilitar estos cambios y ejecutaremos una prueba de baja hasta Chrome 113 para darles a los sitios más tiempo para prepararse para estos cambios. - Llamado a la acción: Migrá tu sitio a las sugerencias de cliente de UA o participa en la prueba de baja.
API de Local Fonts Access
Chrome lanzará la API de Local Font Access. Si bien los sitios pueden 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 permite a los usuarios usar todas sus fuentes con el diseño basado en la Web y otras aplicaciones.
Las fuentes locales se conocen desde hace mucho tiempo 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 un usuario otorgue un nuevo permiso "local-fonts"
para un sitio antes de que pueda usar la nueva API de Local Font Access.
En el futuro, planeamos exigir que se otorgue el mismo permiso "local-fonts" antes de usar cualquier otra API que proporcione acceso a fuentes locales.
- Cronograma: Segmentación para Chrome 103 (junio de 2022)
- Llamado a la acción: Obtén más información sobre la API y cómo usarla para comenzar a implementarla.
Cómo hacer que BFCache funcione con Cache-control: no-store
Identificamos una oportunidad significativa para mejorar la frecuencia con la que la memoria caché atrás/adelante puede entregar navegaciones instantáneas hacia atrás y hacia adelante. Esto requiere un cambio en el comportamiento de BFCache en las páginas que se entregan con el encabezado HTTP Cache-control: no-store. Tenemos una propuesta pública diseñada para evitar sorpresas significativas mediante la supervisión de varios indicadores (por ejemplo, la expulsión de páginas de la BFCache cada vez que cambia una cookie solo de HTTP) y excepciones (por ejemplo, la política de grupo para clientes empresariales o educativos) para contextos únicos. Esta es una oportunidad compleja pero emocionante, y nos encantaría recibir más comentarios y análisis.
- Cronograma: Se orienta a Chrome 104 (julio de 2022), asumiendo que no haya sorpresas importantes.
- Llamado a la acción: Consulta la propuesta para obtener más detalles, como cómo habilitar una implementación en curso y formas de compartir comentarios, como situaciones reales en las que nuestro enfoque crearía nuevos obstáculos.
Con esta serie, espero poder acercar a nuestra comunidad de desarrolladores a mi equipo y a su trabajo para que se sientan más enfocados y conectados. No te pierdas las novedades.
Hasta entonces, disfruta de la Web.
¿Qué te pareció la primera edición de Chrome Dev Insider? Comparte tus comentarios.