Novedades de Chrome 67

Además, hay mucho más.

Soy Pete LePage. Comencemos y veamos las novedades para desarrolladores en Chrome 67.

¿Quieres ver la lista completa de cambios? Consulta la lista de cambios del repositorio de código fuente de Chromium.

AWP de computadoras de escritorio

App web progresiva de escritorio de Spotify

Las apps web progresivas para computadoras de escritorio ahora son compatibles con ChromeOS 67 y ya comenzamos a trabajar en la compatibilidad con Mac y Windows. Una vez instaladas, se inician de la misma manera que otras apps y se ejecutan en una ventana de la app, sin barra de direcciones ni pestañas. Los service workers se aseguran de que sean rápidos y confiables, y la experiencia de la ventana de la app los hace sentir integrados. Y crean una experiencia atractiva para tus usuarios.

Empezar no es diferente de lo que estás haciendo hoy. Se sigue aplicando todo el trabajo que hiciste para tu app web progresiva existente, solo debes considerar algunos puntos de interrupción adicionales.

Si tu app cumple con los criterios de AWP estándar, Chrome activará el evento beforeinstallprompt, pero no le solicitará automáticamente al usuario. En cambio, guarda el evento y, luego, agrega alguna IU (como un botón de instalación de la app) a tu app para indicarle al usuario que esta se puede instalar. Luego, cuando el usuario haga clic en el botón, llama al mensaje sobre el evento guardado; Chrome le mostrará el mensaje al usuario. Si hace clic en Agregar, Chrome agregará la AWP a su biblioteca y selector.

Mira mi charla de Google I/O, en la que Jen y yo explicamos en detalle las consideraciones técnicas y especiales de diseño que debes tener en cuenta cuando compilas una app web progresiva de escritorio.

Si quieres comenzar a jugar con esta función en Mac o Windows, consulta la publicación completa de app web progresiva para computadoras a fin de obtener detalles sobre cómo habilitar la compatibilidad con una marca.

API de Generic Sensor

Los datos de sensores se usan en muchas apps para habilitar experiencias como videojuegos envolventes, monitoreo de estado físico y realidad aumentada o virtual. Estos datos ahora están disponibles para la aplicación web mediante la API de Generic Sensor.

La API consiste en una interfaz del sensor base con un conjunto de clases concretas de sensores compiladas en la parte superior. Tener una interfaz base simplifica el proceso de implementación y especificación de las clases de sensores concretas. Por ejemplo, la clase Giroscopio es muy pequeña.

const sensor = new Gyroscope({frequency: 500});
sensor.start();

sensor.onreading = () => {
    console.log("X-axis " + sensor.x);
    console.log("Y-axis " + sensor.y);
    console.log("Z-axis " + sensor.z);
};

La funcionalidad principal se especifica mediante la interfaz base, y el giroscopio simplemente la extiende con tres atributos que representan la velocidad angular. Chrome 67 admite el acelerómetro, el giroscopio, el sensor de orientación y el sensor de movimiento.

Intel reunió varias demostraciones de la API de sensores genéricos y el código de muestra, y también actualizó la publicación Sensors for the Web! de septiembre con todo lo que necesitas saber.

BigInt s

Las BigInt son una nueva primitiva numérica en JavaScript que puede representar números enteros con una precisión arbitraria. Los IDs enteros grandes y las marcas de tiempo de alta precisión no se pueden representar de forma segura como Numbers en JavaScript, lo que a menudo genera errores reales (por eso, a menudo, terminamos representando esos números como cadenas).

let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?

Con los objetos BigInt, podemos almacenar de forma segura y realizar operaciones aritméticas de números enteros sin desbordarse. Actualmente, trabajar con números enteros grandes significa que debemos recurrir a una biblioteca que emule una funcionalidad similar a la de BigInt.

let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!

Cuando BigInt esté disponible de forma general, podremos descartar estas dependencias de tiempo de ejecución en favor de BigInts nativo. La implementación nativa no solo es más rápida, sino que ayudará a reducir el tiempo de carga, el tiempo de análisis y el tiempo de compilación, ya que no tendremos que cargar esas bibliotecas adicionales.

Y mucho más.

Estos son solo algunos de los cambios en Chrome 67 para desarrolladores; por supuesto, hay mucho más.

La API de Credential Management se admite desde Chrome 51 y proporciona un framework para crear, recuperar y almacenar credenciales. Lo hizo a través de dos tipos de credenciales: PasswordCredential y FederatedCredential. La API de Web Authentication agrega un tercer tipo de credencial, PublicKeyCredential, que permite que los navegadores autentiquen a un usuario con un par de claves pública/privada generada por un autenticador, como una llave de seguridad, un lector de huellas digitales o cualquier otro dispositivo que pueda autenticar a un usuario. Chrome 67 habilita la API con autenticadores U2F/CTAP 1 mediante transporte USB en computadoras de escritorio.

Obtén más información en la publicación de Eiji sobre cómo habilitar la autenticación sólida con WebAuthn.

Google I/O concluyó

Si no llegaste a I/O, o tal vez sí lo hiciste, pero no viste todas las charlas sobre la Web, echa un vistazo a la playlist de Chrome y Web para mantenerte al tanto de las novedades de Google I/O.

Novedades de Herramientas para desarrolladores

Asegúrate de consultar las novedades de las Herramientas para desarrolladores de Chrome en Chrome 67.

Suscribirse

Luego, haz clic en el botón Suscribirse de nuestro canal de YouTube y recibirás una notificación por correo electrónico cada vez que lancemos un video nuevo.

Soy Pete LePage, y apenas se lance Chrome 68, estaré aquí para contarte las novedades de Chrome.