Nieuw in Chrome 67

  • Progressieve web-apps komen naar de desktop
  • Dankzij de generieke sensor-API krijgt u veel eenvoudiger toegang tot apparaatsensoren zoals de accelerometer, gyroscoop en meer.
  • En BigInt maken het werken met grote gehele getallen veel eenvoudiger.

En er is nog veel meer !

Ik ben Pete LePage . Laten we eens kijken wat er nieuw is voor ontwikkelaars in Chrome 67!

Wilt u de volledige lijst met wijzigingen bekijken? Bekijk de wijzigingenlijst in de Chromium-bronrepository .

Desktop PWA's

De desktop-progressieve web-app van Spotify

Desktop Progressive Web Apps worden nu ondersteund op ChromeOS 67 en we zijn al begonnen met de ondersteuning voor Mac en Windows. Na installatie worden ze op dezelfde manier gestart als andere apps en weergegeven in een app-venster , zonder adresbalk of tabbladen. Service workers zorgen ervoor dat ze snel en betrouwbaar zijn; de app-vensterervaring zorgt ervoor dat ze geïntegreerd aanvoelen. Bovendien creëren ze een boeiende ervaring voor uw gebruikers.

Aan de slag gaan is niet anders dan wat je vandaag al doet. Al het werk dat je voor je bestaande Progressive Web App hebt gedaan, is nog steeds van toepassing; je moet alleen rekening houden met een paar extra breekpunten .

Als je app voldoet aan de standaard PWA-criteria , activeert Chrome de beforeinstallprompt -gebeurtenis, maar wordt de gebruiker niet automatisch gevraagd om een ​​prompt te plaatsen. Sla de gebeurtenis op en voeg vervolgens een gebruikersinterface toe, zoals een knop 'App installeren', om de gebruiker te laten weten dat je app geïnstalleerd kan worden. Wanneer de gebruiker vervolgens op de knop klikt, roept u de prompt aan voor de opgeslagen gebeurtenis; Chrome toont de prompt vervolgens aan de gebruiker. Als de gebruiker op 'Toevoegen' klikt, voegt Chrome je PWA toe aan de shelf en launcher.

Bekijk mijn Google I/O-lezing waarin Jenny en ik uitgebreid ingaan op de technische en speciale ontwerpaspecten waar je rekening mee moet houden bij het bouwen van een progressieve web-app voor desktops.

En als je hiermee op Mac of Windows wilt spelen, bekijk dan het volledige bericht over de Desktop Progressive Web App voor meer informatie over hoe je ondersteuning met een vlag kunt inschakelen.

Generieke sensor-API

Sensorgegevens worden in veel apps gebruikt om ervaringen zoals meeslepende games, fitnesstracking en augmented of virtual reality mogelijk te maken. Deze gegevens zijn nu beschikbaar voor webapps via de Generic Sensor API .

De API bestaat uit een basissensorinterface met daarop een set concrete sensorklassen. Een basisinterface vereenvoudigt het implementatie- en specificatieproces voor de concrete sensorklassen. De Gyroscope-klasse is bijvoorbeeld superklein!

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);
};

De kernfunctionaliteit wordt bepaald door de basisinterface, en Gyroscope breidt deze eenvoudigweg uit met drie attributen die de hoeksnelheid weergeven. Chrome 67 ondersteunt de accelerometer, gyroscoop, oriëntatiesensor en bewegingssensor.

Intel heeft verschillende demo's van de generieke sensoren-API en voorbeeldcode samengesteld en ze hebben ook de Sensors for the Web! -post van september bijgewerkt met alles wat u moet weten.

BigInt s

BigInt zijn een nieuwe numerieke primitieve in JavaScript die gehele getallen met willekeurige precisie kan weergeven. Grote gehele getallen-ID's en zeer nauwkeurige tijdstempels kunnen niet veilig als Numbers worden weergegeven in JavaScript, wat vaak tot bugs leidt (waardoor we dergelijke getallen vaak als strings weergeven).

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?

Met BigInt s kunnen we veilig gehele getallen opslaan en berekenen zonder dat de rekenkracht overloopt. Tegenwoordig betekent het werken met grote gehele getallen meestal dat we een bibliotheek moeten gebruiken die BigInt -achtige functionaliteit emuleert.

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

Wanneer BigInt breed beschikbaar wordt, kunnen we deze runtime-afhankelijkheden laten vallen ten gunste van native BigInts . De native implementatie is niet alleen sneller, maar zal ook de laad-, parse- en compileertijd verkorten, omdat we die extra bibliotheken niet hoeven te laden.

En nog veel meer!

Dit zijn slechts enkele van de wijzigingen in Chrome 67 voor ontwikkelaars. Er is natuurlijk nog veel meer.

De Credential Management API wordt al sinds Chrome 51 ondersteund en biedt een framework voor het aanmaken, ophalen en opslaan van inloggegevens. Dit gebeurt via twee typen inloggegevens: PasswordCredential en FederatedCredential . De Web Authentication API voegt een derde type inloggegevens toe, PublicKeyCredential , waarmee browsers een gebruiker kunnen authenticeren met een privé-/publieke sleutel die is gegenereerd door een authenticator, zoals een beveiligingssleutel, vingerafdruklezer of een ander apparaat dat een gebruiker kan authenticeren. Chrome 67 maakt de API mogelijk met U2F/CTAP 1-authenticators via USB-overdracht op een desktopcomputer.

Lees er meer over in Eiji's bericht Sterke authenticatie inschakelen met WebAuthn .

Google I/O is afgerond

Was je er niet bij? Misschien wel, maar heb je niet alle webgesprekken gezien? Bekijk dan de Chrome- en webafspeellijst om helemaal op de hoogte te blijven van het laatste nieuws over Google I/O!

Nieuw in DevTools

Bekijk vooral Nieuw in Chrome DevTools om te ontdekken wat er nieuw is voor DevTools in Chrome 67.

Abonneren

Klik vervolgens op de abonneerknop op ons YouTube-kanaal . U ontvangt dan een e-mailmelding wanneer we een nieuwe video lanceren.

Ik ben Pete LePage en zodra Chrome 68 uitkomt, vertel ik u wat er nieuw is in Chrome!