- Las apps web progresivas llegarán a las computadoras
- La API de sensores genéricos facilita mucho el acceso a los sensores del dispositivo, como el acelerómetro, el giroscopio y mucho más.
- Y los
BigInt
facilitan mucho el trabajo con números enteros grandes.
¡Y hay mucho más!
Soy Pete LePage. Analicemos 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 para computadoras de escritorio
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 una 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.
El proceso de comenzar no es diferente de lo que ya haces hoy. Todo el trabajo que realizaste para tu app web progresiva existente sigue siendo aplicable. Solo debes considerar algunos puntos de interrupción adicionales.
Si tu app cumple con los criterios estándar de AWP, Chrome activará el evento beforeinstallprompt
, pero no le pedirá al usuario que lo instale automáticamente. En su lugar, guarda el evento y, luego, agrega algún elemento de la IU, como un botón para instalar la app, para indicarle al usuario que puede instalarla. Luego, cuando el usuario haga clic en el botón, llama a la solicitud en el evento guardado. Chrome le mostrará la solicitud al usuario. Si hace clic en Agregar, Chrome agregará la AWP a su barra y selector.
Mira mi presentación de Google I/O, en la que Jenny y yo explicamos en detalle las consideraciones de diseño técnico y especiales que debes tener en cuenta cuando compilas una app web progresiva para computadoras de escritorio.
Si quieres comenzar a jugar con esta herramienta en Mac o Windows, consulta la publicación completa sobre la app web progresiva para computadoras de escritorio a fin de obtener detalles sobre cómo habilitar la compatibilidad con una marca.
API de Generic Sensor
Los datos de los sensores se usan en muchas apps para habilitar experiencias como juegos inmersivos, seguimiento de la actividad física y realidad aumentada o virtual. Estos datos ahora están disponibles para la app web con la API de Generic Sensor.
La API consta de una interfaz de Sensor base con un conjunto de clases de sensor concretas 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 Gyroscope 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 interfaz base especifica la funcionalidad principal, y el giroscopio solo 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 compiló varias demos de la API de sensores genéricos y código de muestra, y también actualizó la publicación de septiembre Sensores para la Web! con todo lo que necesitas saber.
BigInt
s
Los elementos BigInt
son una nueva primitiva numérica en JavaScript que puede representar números enteros con una precisión arbitraria. Los IDs de números 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 en el mundo real (por lo que 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 BigInt
, podemos almacenar y realizar aritmética de números enteros de forma segura sin desbordamientos. Hoy en día, trabajar con números enteros grandes suele significar que tenemos que recurrir a una biblioteca que emule la funcionalidad similar a 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 a favor del BigInts
nativo. La implementación nativa no solo es más rápida, sino que también 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 que implementaremos en Chrome 67 para desarrolladores; por supuesto, hay muchos más.
La API de Credential Management es compatible desde Chrome 51 y proporciona un framework para crear, recuperar y almacenar credenciales. Para ello, se usaron 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 privadas/públicas generado por un autenticador, como una llave de seguridad, un lector de huellas dactilares o cualquier otro dispositivo que pueda autenticar a un usuario. Chrome 67 habilita la API con autenticadores U2F/CTAP 1 a través del 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 reforzada con WebAuthn.
Finalizó Google I/O
Si no pudiste asistir a I/O o si lo hiciste, pero no viste todas las charlas sobre la Web, consulta la playlist de Chrome y la Web para ponerte al día con las novedades de Google I/O.
Novedades en Herramientas para desarrolladores
Asegúrate de consultar las novedades de las Herramientas para desarrolladores de Chrome para conocer las novedades de las Herramientas para desarrolladores de Chrome 67.
Suscribirse
Luego, haz clic en el botón Suscribirse en 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, en cuanto se lance Chrome 68, estaré aquí para contarte las novedades.