Novedades de Chrome 75

En Chrome 75, agregamos compatibilidad con lo siguiente:

Soy Pete LePage. Comencemos a ver las novedades para desarrolladores en Chrome 75.

Registro de cambios

Aquí se incluyen solo algunos de los aspectos más destacados. Consulta los vínculos que aparecen a continuación para ver cambios adicionales en Chrome 75.

Sugerencia para contextos de canvas de baja latencia

Dibujar en pantalla con el elemento canvas requiere que la página sincronice las actualizaciones de gráficos con el DOM. Esta sincronización puede causar latencia. Por ejemplo, en una app de dibujo, las latencias superiores a 50 milisegundos pueden interferir con la coordinación de la mano y el ojo, lo que dificulta su uso.

Cuando se crea un contexto canvas, la sugerencia desynchronized usa una ruta de código diferente que omite el mecanismo habitual de actualización del DOM. La sugerencia le indica al sistema que omita la mayor cantidad posible de composiciones. En algunos casos, el búfer subyacente de canvas se envía directamente al controlador de pantalla de la pantalla. Esto elimina la latencia que se produciría si se usara la cola del compositor del renderizador.

Usar la sugerencia desincronizada es sencillo, solo agrega desynchronized: true al objeto de opciones cuando crees el lienzo.

const opts = { desynchronized: true };
const ctx = canvas.getContext('2d', opts);

Consulta el artículo de Joe Renderización de baja latencia con la sugerencia desincronizada para obtener más detalles, incluida la detección de componentes.

Cómo compartir archivos con la API de Web Share

La API de Web Share te permite conectarte al servicio de uso compartido que proporciona el SO, lo que facilita compartir páginas web y apps con otras apps instaladas en el dispositivo del usuario.

En Chrome 75, la API de Web Share ahora permite compartir archivos. Esto me entusiasma mucho porque facilita mucho que las apps compartan fotos, videos y mucho más. Squoosh agregará compatibilidad para compartir un archivo una vez que termines de comprimirlo. Actualmente, la API de Web Share admite el uso compartido de archivos de audio, imágenes, videos y documentos de texto.

Es mejor usar la detección de funciones para ver si la API de Web Share es compatible y, si no lo es, recurrir a tu mecanismo tradicional. También puedes usar navigator.canShare para verificar si se admite el uso compartido de archivos.


const webShareAvailable = {
  links: 'share' in navigator,
  files: 'canShare' in navigator,
};

Si navigator.canShare muestra true, se admite el uso compartido de esos archivos, por lo que puedes llamar a navigator.share y pasar un objeto con el array de archivos que deseas compartir. Chrome abrirá la hoja compartida del sistema y te mostrará una lista de las apps instaladas con las que puedes compartir los archivos.

if (webShareAvailable.files) {
  const shareData = { files: filesArray };
  if (navigator.canShare(shareData)) {
    shareData.title = 'Squooshed files.';
    navigator.share(shareData)
      .then(...)
      .catch(...);
  } else {
    // File sharing not supported
  }
}

Prueba la demostración y consulta el artículo Cómo compartir archivos con Web Share para obtener más detalles.

Separadores numéricos

Los literales numéricos ahora permiten guiones bajos (_, U+005F) como separadores para que sean más legibles. Por ejemplo, las operaciones matemáticas interpretarán 1_000_000_000 como equivalente a 1000000000.

Los guiones bajos solo pueden aparecer entre dígitos, y no se permiten guiones bajos consecutivos. Por lo tanto, los literales, como 3._14, _2.71 o 1.6__2, son ilegales.

Google I/O 2019 concluyó

Si no pudiste asistir a I/O o si lo hiciste, pero no viste todas las charlas, estas se encuentran en el canal de YouTube de Chrome Developers, en la playlist Web en Google I/O 2019.

Suscribirse

Si quieres mantenerte al tanto de nuestros videos, suscríbete a nuestro canal de YouTube de Desarrolladores de Chrome y recibirás una notificación por correo electrónico cada vez que lancemos un video nuevo.

Soy Pete LePage y, en cuanto se lance Chrome 76, estaré aquí para contarte las novedades.

Créditos de las fotos