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. Hoy lanzamos una nueva serie llamada Chrome Dev Insider, en la que compartiremos (1) lo que es interesante y de interés periodístico, (2) una visión de cómo tomamos una decisión sobre un tema clave (por ejemplo, cambiar FLOC) o abordamos nuestro trabajo con el ecosistema (por ejemplo, Interop 2022), y (3) cualquier dato muy importante que el agente debe conocer (por ejemplo).
A medida que compartimos lo que estamos haciendo, será en el contexto de nuestras cuatro prioridades para 2022:
- Ofrecer experiencias del usuario placenteras: Lograr que los usuarios tengan una experiencia intuitiva ya sea rendimiento, transacciones, identidad o transiciones.
- Avances en las capacidades de la Web: Brindamos compatibilidad con el rol evolutivo de la Web, desde ser una plataforma de consumo de contenido hasta ofrecer una plataforma para una amplia variedad de experiencias, incluidas aquellas que requieren integraciones profundas a nivel del hardware y del SO.
- Simplificación del desarrollo web: Facilita la toma de decisiones y mejora la productividad de los desarrolladores.
- Mejorar la privacidad de la Web: servir a los usuarios de la Web las expectativas de mejores protecciones de la privacidad de los datos ante el creciente nivel de sofisticación de los desarrolladores respecto al seguimiento y la segmentación.
En las noticias: Interoperabilidad 2022
A medida que planificamos nuestras hojas de ruta, tenemos en cuenta los comentarios de los desarrolladores para comprender las principales necesidades y dificultades de los desarrolladores web, entre otros aspectos. Un tema clave que aparece repetidamente es la compatibilidad del navegador, lo que hace que una experiencia funcione igual en todos los navegadores. El año pasado, 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 jugadores del ecosistema anunciaron la compatibilidad 2021, que dio como resultado que todos los motores de navegador populares (Chromium, Gecko y Webkit) alcanzaran una puntuación de más del 90% en las cinco áreas de enfoque clave identificadas para el año. Entre otras cosas, Compat 2021 llevó a crear una base sólida para funciones potentes, como la Cuadrícula de CSS (12% de uso y crecimiento constante) y Flexbox de CSS (77% de uso).
El mes pasado, Apple, Bocoup, Google, Igalia, Microsoft y Mozilla se unieron como colaboradores para resolver los principales problemas de compatibilidad de los navegadores identificados por los desarrolladores web y acordar una comparativa común. El resultado es Interop 2022, un proyecto que tiene como objetivo aportar más homogeneidad a la plataforma. La comparativa se centra en 15 áreas prioritarias que los desarrolladores identifican como clave para mejorar su productividad.
Novedades: Trabajamos con otros navegadores
Con la Interop 2022 como una prioridad, me reuní con Robert Nyman y Philip Jägenstedt, quienes participaron en estas conversaciones para conocer su historia. Esta es la versión del editor de cómo se desarrolló.
¿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 para los desarrolladores que crean contenido 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, lo que, a su vez, nos permitió continuar con ese trabajo y, además, ampliar ese alcance con Interoperabilidad 2022.
Philip: Me gustaría mencionar web-platform-tests y State of CSS 2021. Hemos tenido una fuerte colaboración con otros proveedores de navegadores en la realización de pruebas utilizando WPT hace años y realmente queríamos apoyarnos en eso. La mayoría de las pruebas para estas funciones ya estaban escritas, por lo que solo tuvimos que revisarlas y agregar algo de cobertura faltante. Google ha invertido mucho en wpt.fyi, pero también debemos agradecer a Mozilla por lograr que WPT sea el éxito que es hoy en día. Mozilla, por supuesto, también participó en las encuestas de ADN de MDN. Además, existe el estado de CSS 2021. Para realizar una iniciativa como Interoperabilidad 2022, necesitamos nuevos aportes sobre las necesidades de los desarrolladores web, por lo que trabajamos con Sacha, el encargado de mantenimiento de las encuestas, para incluir algunas preguntas nuevas sobre los problemas de compatibilidad de los navegadores. Eso realmente nos ayudó en el proceso de planificación de Interoperabilidad 2022.
¿Obtuviste algún aprendizaje o comentario sobre Compat 2021?
Robert: Fue realmente útil medir y tener puntuaciones y estadísticas sobre el rendimiento de cada motor de navegador, por lo que pudimos hacer un seguimiento del progreso y asegurarnos de debatir y abordar los problemas que no eran claros o que debían priorizarse. También nos dimos cuenta rápidamente de que la interoperabilidad era un mejor nombre 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 del sitio, mientras que “interoperabilidad” se refiere a dos o más navegadores que se comportan de la misma manera. En esa terminología, este esfuerzo es sobre 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 precio alto en la actualidad 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 queda muy claro que para alcanzar ese objetivo, las funciones más solicitadas deben llegar a los principales motores de navegadores para que realmente les permitan a los desarrolladores tener éxito en la plataforma web.
¿Cómo avanzamos de forma colectiva cuando se combinan navegadores con objetivos (a veces) diferentes?
Philip: Nuestro enfoque ha sido buscar áreas de interés compartido para encontrar esas colaboraciones beneficiosas para las que los objetivos ya están casi 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 mejor calidad de la que obtendríamos si trabajáramos por separado. Esa es la idea.
Creo que es importante reconocer que hay límites en este enfoque basado en el consenso, en el que los objetivos no están lo suficientemente alineados, necesitamos avanzar de alguna otra manera. A veces puede ser útil aportar más evidencia de las necesidades de los usuarios o desarrolladores web, pero, en última instancia, los proveedores de navegadores pueden enviar cosas que no tienen un acuerdo amplio. En el mejor de los casos, los desarrolladores web que prueban la función pueden demostrar el valor de la función, descubrir que satisface sus necesidades y solicitar la misma función en todos los navegadores.
Si volvemos a Interoperabilidad de 2022, ¿vemos que, en algún momento, se incorporarán funciones que no son de diseño o de diseño a la canalización?
Philip: Por supuesto. Interoperabilidad 2022 no se limitó a las funciones de estilo y diseño, pero al final se apoyó en gran medida en CSS. En parte porque State of CSS 2021 era una novedad, pero también porque los desarrolladores web nos indicaron que aquí es donde tienen más problemas con las diferencias entre los navegadores. Las diversas áreas de enfoque, como los elementos de formulario y diálogo, van más allá de CSS, y también realizamos algunos esfuerzos de investigación en torno a la edición de APIs y eventos de puntero y mouse. Espero que, para Interoperabilidad 2023, contemos con más datos actualizados sobre las necesidades de los desarrolladores en toda la Web y que, además, incluyamos más funciones similares en esta iniciativa.
Próximos cambios clave
Uno de los propósitos de esta serie es informar a los desarrolladores sobre los próximos cambios clave. lo que es importante para mejorar la experiencia del usuario y las capacidades de la plataforma.
En los cronogramas que se mencionan a continuación, esperamos que ocurran 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 JS asociadas) transmite no solo información útil del navegador y del dispositivo, sino que también lleva consigo un legado de linaje e información imprecisa. Más problemático que el suministro casi interminable de errores de análisis de strings de UA es el hecho de que se envían 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 mientras los usuarios navegan por la Web.
Nuestro plan actual es reducir la cadena de UA existente. Para ello, continuaremos enviando la versión principal del navegador de baja entropía, el nombre de la plataforma y la movilidad, inmovilizando la información de alta entropía. Para los casos de uso que requieren información adicional que la incluida en el encabezado, hemos estado enviando la API de User-Agent Client Hints desde Chrome 89.
Ejecutamos una prueba de origen durante 6 meses para experimentar y recibir comentarios, y nos complace no haber recibido ningún comentario relacionado con fallas a pesar de tener más de 200 participantes.
- Cronograma: En Chrome 101, avanzaremos con lo que llamamos la fase 4: reducir la información de
MINOR.BUILD.PATCH
en la cadena de UA a0.0.0
. Además, seguiremos brindando avisos a los sitios y tiempo para que se preparen para la fase 5 en adelante. También creamos políticas empresariales para inhabilitar estos cambios y ejecutaremos una prueba de baja hasta Chrome 113 a fin de que los sitios tengan más tiempo para prepararse para estos cambios. - Llamado a la acción: Migra tu sitio a UA Client Hints 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 durante mucho tiempo, esta API enumera la lista de fuentes locales y otorga acceso a los datos de las fuentes en sí. Esta funcionalidad brinda a los usuarios la posibilidad de utilizar todas sus fuentes con un diseño basado en la web y otras aplicaciones.
Las fuentes locales se conocen como un vector de creación de huellas digitales. Aunque 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 de "local-fonts"
para un sitio antes de que pueda usar la nueva API de Local Font Access.
En el futuro, planeamos exigir que las mismas "fuentes locales" permiso 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 implementar.
Haz 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 ofrecer navegaciones instantáneas hacia atrás/adelante. Esto requiere un cambio en la forma en que se comporta BFCache en las páginas que se entregan con el Cache-control: no-store HTTP header. Tenemos una propuesta pública diseñada para evitar sorpresas de importancia mediante la supervisión de varios indicadores (por ejemplo, la expulsión de páginas de BFCache cada vez que una cookie solo HTTP cambia) y la exclusión (por ejemplo, la política de grupo para clientes empresariales o de instituciones educativas) en contextos únicos. Esta es una oportunidad compleja pero emocionante, y nos encantaría que la examinaras y nos enviaras más comentarios.
- Cronograma: La segmentación se orienta a Chrome 104 (julio de 2022), suponiendo que no hay grandes sorpresas.
- Llamado a la acción: Consulte la propuesta para obtener más detalles, como cómo habilitar una implementación de 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 acercar a nuestra comunidad de desarrolladores un sentido de enfoque y conexión al acercarlos a mi equipo y su trabajo. Mantente atento y mira este espacio para enterarte de las novedades.
Hasta entonces, ¡felicitaciones!
¿Qué te pareció la primera edición de The Chrome Dev Insider? Comparte tus comentarios.