Maak kennis met Chrome Dev Insider

Ben Galbraith
Ben Galbraith

Ontwikkelaars vertellen ons vaak dat het moeilijk is om de veranderingen op internet bij te houden en te begrijpen waarom deze veranderingen plaatsvinden. Vandaag starten we een nieuwe serie genaamd Chrome Dev Insider, waarin we (1) wat cool en nieuwswaardig is, (2) een inzicht delen in hoe we een beslissing hebben genomen over een belangrijk onderwerp (bijvoorbeeld het veranderen van FLOC ) of aanpak ons werk met het ecosysteem (bijvoorbeeld Interop 2022 ), en (3) alle echt belangrijke dingen die u moet weten (bijvoorbeeld wijzigingen in user-agent strings ).

We delen waar we aan werken, in de context van onze vier prioriteiten voor 2022:

  • Geweldige gebruikerservaringen mogelijk maken: maak dingen intuïtief voor gebruikers; of het nu gaat om prestaties, transacties, identiteit of transities.
  • De mogelijkheden van het web bevorderen: ondersteun de evoluerende rol van het web van een platform voor contentconsumptie naar een platform voor een breed scala aan ervaringen, inclusief ervaringen die diepgaande integraties op besturingssysteem- en hardwareniveau nodig hebben.
  • Vereenvoudiging van webontwikkeling: maak besluitvorming eenvoudiger en verbeter de productiviteit van ontwikkelaars.
  • Verbetering van de privacy van het internet: voldoe aan de verwachting van internetgebruikers van betere bescherming van gegevensprivacy in het licht van de steeds toenemende verfijning van ontwikkelaars op het gebied van tracking en targeting.

In het nieuws: Interop 2022

Terwijl we onze roadmaps plannen, kijken we naar de feedback van ontwikkelaars om onder andere de belangrijkste pijnpunten en behoeften van webontwikkelaars te begrijpen. Een belangrijk thema dat herhaaldelijk opduikt is browsercompatibiliteit , waardoor een ervaring in alle browsers hetzelfde werkt. Het afgelopen jaar hebben we met het ecosysteem samengewerkt om dit thema aan te pakken als onderdeel van onze prioriteit om "webontwikkeling te vereenvoudigen".

Vorig jaar kondigden Microsoft, Chrome en ecosysteemspelers Compat 2021 aan, wat ertoe leidde dat alle populaire browsermotoren (Chromium, Gecko en Webkit) een score van meer dan 90% behaalden op de vijf belangrijkste focusgebieden die voor het jaar waren geïdentificeerd. Compat 2021 heeft onder meer geleid tot het creëren van een solide basis voor krachtige features zoals CSS Grid ( 12% gebruik en gestaag groeiend ) en CSS Flexbox ( 77% gebruik ).

En vorige maand kwamen Apple, Bocoup, Google, Igalia, Microsoft en Mozilla samen als supporters om de belangrijkste browsercompatibiliteitsproblemen op te lossen die door webontwikkelaars waren geïdentificeerd en overeenstemming te bereiken over een gemeenschappelijke benchmark. Het resultaat is Interop 2022 , een project met als doel meer homogeniteit op het platform te brengen. De benchmark richt zich op 15 prioriteitsgebieden die door ontwikkelaars zijn geïdentificeerd als de sleutel tot het verbeteren van hun productiviteit.

Insider primeur: werken met onze browsercollega's

Met Interop 2022 in gedachten, ging ik om de tafel zitten met Robert Nyman en Philip Jägenstedt , die bij deze gesprekken betrokken waren, om het inside-verhaal te achterhalen. Hier is de versie van de redactie van hoe het tot stand kwam.

Wat is de ontstaansgeschiedenis van dit initiatief?

Robert: Het begon allemaal in 2019, toen we de MDN DNA 2019- enquête deden. Compatibiliteitsproblemen kwamen duidelijk naar voren als het grootste probleem voor ontwikkelaars die voor het web bouwden, en we hebben hier veel gedetailleerder op ingegaan in het MDN Browser Compatibility Report 2020 . Dit gaf ons voldoende informatie en bruikbare gegevens om de Compat 2021-inspanning te starten, wat er op zijn beurt toe leidde dat we dat werk voortzetten en dat bereik ook uitbreidden met Interop 2022.

Philip: Ik wil ook graag webplatformtests en State of CSS 2021 noemen. We hebben al jaren een sterke samenwerking met andere browserleveranciers bij het testen met WPT, en we wilden daar echt op ingaan. De tests voor deze functies waren grotendeels al geschreven, dus we hoefden alleen maar de tests te beoordelen en wat ontbrekende dekking toe te voegen. Google heeft veel geïnvesteerd in wpt.fyi, maar we hebben het ook aan Mozilla te danken dat WPT het succes heeft gemaakt dat het nu is. Mozilla had uiteraard ook een grote hand in de MDN DNA-onderzoeken. Daarnaast is er ook nog de State of CSS 2021. Om een ​​project als Interop 2022 op de rails te krijgen, hebben we nieuwe input nodig over de behoeften van webontwikkelaars. Daarom hebben we samengewerkt met enquêtebeheerder Sacha om enkele nieuwe vragen over browsercompatibiliteitsproblemen op te nemen. Dat heeft ons enorm geholpen bij het planningsproces van Interop 2022.

Heeft u iets geleerd of feedback van Compat 2021?

Robert: Het was erg nuttig om scores en inzicht te meten en inzicht te krijgen in de prestaties van elke browserengine, zodat we de voortgang konden volgen en problemen konden bespreken en aanpakken die onduidelijk waren of prioriteit moesten krijgen. We beseften ook al snel dat ‘Interop’ een betere naam was voor het initiatief. De termen compatibiliteit en interoperabiliteit worden doorgaans onderscheiden door browserleveranciers, waarbij compat verwijst naar sitecompatibiliteit, en interop verwijst naar twee of meer browsers die zich hetzelfde gedragen. In die terminologie gaat deze inspanning over interoperabiliteit en daarom is het project in lijn met die naamgeving.

Wat is onze visie hier?

Robert: Om het internet open te houden, is de diversiteit van browsers en rendering-engines van cruciaal belang. Helaas heeft dit momenteel een hoge prijs voor onze ontwikkelaars, die moeten voldoen aan verschillende niveaus van ondersteuning voor functies in elke engine. Onze visie is dat ontwikkelaars het webplatform zien als de meest haalbare optie en de meest aantrekkelijke keuze voor hun behoeften, en dat ze zich kunnen concentreren op het bouwen van de best mogelijke ervaringen in plaats van veel tijd te besteden aan het uitwerken van interoperabiliteitsproblemen. En het is heel duidelijk dat om dat doel te bereiken, de meest gevraagde functies in alle grote browser-engines moeten terechtkomen om ontwikkelaars echt in staat te stellen succesvol te zijn op het webplatform.

Hoe kunnen we gezamenlijk de zaken vooruit helpen als browsers met (soms) verschillende doelen samenkomen?

Philip: Onze aanpak is geweest om te zoeken naar gebieden van gedeeld belang, om die win-win-samenwerkingen te vinden waar de doelen al grofweg op één lijn liggen. En door prioriteit te geven aan een beperkt aantal dingen waar we tegelijkertijd aan moeten werken, brengen we focus op die gebieden, gaan we sneller vooruit en krijgen we een hogere kwaliteit dan wanneer we eenvoudigweg afzonderlijk zouden werken. Dat is het idee.

Ik denk dat het belangrijk is om te erkennen dat er grenzen zijn aan deze op consensus gebaseerde aanpak; als de doelstellingen niet voldoende op elkaar zijn afgestemd, moeten we op een andere manier vooruitgang boeken. Soms kan het helpen om meer bewijs te leveren van de behoeften van webontwikkelaars of gebruikers, maar uiteindelijk kunnen browserleveranciers dingen leveren waarover geen brede overeenstemming bestaat. In het beste geval wordt de waarde van de functie vervolgens gedemonstreerd door webontwikkelaars die de functie uitproberen, ontdekken dat deze aan hun behoeften voldoet en vragen om dezelfde functie in alle browsers.

Terugkomend op Interop 2022: zien we op een gegeven moment niet-ontwerp- of lay-outfuncties in de pijplijn komen?

Filip: Absoluut! Interop 2022 beperkte zich niet tot stijl- en lay-outfuncties, maar neigde uiteindelijk wel heel sterk naar CSS. Deels omdat State of CSS 2021 nieuw was, maar ook omdat webontwikkelaars ons hebben verteld dat ze hier de meeste moeite hebben met verschillen tussen browsers. Meerdere aandachtsgebieden, zoals vorm- en dialoogelementen, gaan verder dan CSS, en we hebben ook wat onderzoek gedaan rond het bewerken van API's en aanwijzer- en muisgebeurtenissen. Ik hoop dat we voor Interop 2023 meer nieuwe gegevens zullen hebben over de behoeften van ontwikkelaars op internet, en dat we meer van dergelijke functies in de inspanning zullen opnemen.

Belangrijkste komende veranderingen

Een van de bedoelingen van deze serie is om ontwikkelaars op de hoogte te stellen van aankomende belangrijke veranderingen; zaken die belangrijk zijn voor het verbeteren van de gebruikerservaring en de mogelijkheden van het platform.

De hieronder genoemde tijdlijnen geven aan wanneer we verwachten dat deze veranderingen zullen plaatsvinden. Het is echter mogelijk dat releaseversies van functies veranderen.

Vermindering van gebruikersagenten

De User-Agent header (en de bijbehorende JS-interfaces) verzendt niet alleen nuttige browser- en apparaatinformatie, maar draagt ​​ook een erfenis van afstammings- en onnauwkeurige informatie met zich mee. Problematischer dan het vrijwel eindeloze aanbod van bugs bij het parseren van UA-tekenreeksen is het feit dat het passief naar servers wordt verzonden voor alle navigatie- en subbronverzoeken. Dit vertegenwoordigt ongeveer 10 bits entropie die servers kunnen gebruiken om stabiele tracking-ID's te bouwen terwijl gebruikers op internet navigeren.

Ons huidige plan is om de bestaande UA-reeks te verkleinen door de hoofdversie, platformnaam en mobileness van de browser met lage entropie te blijven leveren, waardoor de informatie met hoge entropie wordt bevroren. Voor gebruiksscenario's waarvoor aanvullende informatie nodig is dan die in de header staat, leveren we sinds Chrome 89 de User-Agent Client Hints API.

We hebben zes maanden lang een Origin-proef uitgevoerd om te experimenteren en feedback te geven. We waren blij dat we geen feedback kregen over breuken, ondanks dat er meer dan 200 deelnemers waren.

Toegang tot lokale lettertypen API

Chrome lanceert de Local Font Access API. Hoewel sites al lang lokale lettertypen kunnen gebruiken, somt deze API de lijst met lokale lettertypen op en geeft deze toegang tot de lettertypegegevens zelf. Deze functionaliteit geeft gebruikers de mogelijkheid om al hun lettertypen te gebruiken met webgebaseerd ontwerp en andere toepassingen.

Lokale lettertypen staan ​​al lang bekend als een vingerafdrukvector. Hoewel deze nieuwe API de mogelijkheid om lettertypen te gebruiken voor vingerafdrukken niet vergroot, vereist Chrome dat een gebruiker een nieuwe "local-fonts" toestemming verleent aan een site voordat deze de nieuwe Local Font Access API kan gebruiken.

In de toekomst zijn we van plan om te eisen dat dezelfde toestemming voor "lokale lettertypen" wordt verleend voordat een andere API wordt gebruikt die toegang biedt tot lokale lettertypen.

BFCache laten werken met Cache-control: no-store

We hebben een belangrijke mogelijkheid geïdentificeerd om te verbeteren hoe vaak de Back/Forward-cache directe achteruit/vooruit-navigatie kan leveren. Dit vereist een verandering in de manier waarop BFCache zich gedraagt ​​op pagina's die worden aangeboden met de Cache-control: no-store HTTP-header . We hebben een openbaar voorstel dat is ontworpen om grote verrassingen te voorkomen door verschillende signalen te monitoren (bijvoorbeeld het verwijderen van pagina's uit de BFCache wanneer een HTTP-only cookie verandert) en carve-outs (bijvoorbeeld groepsbeleid voor Enterprise/Edu-klanten) voor unieke contexten. Dit is een complexe maar opwindende kans, en we zouden graag extra onderzoek en feedback willen!

  • Tijdlijn: gericht op Chrome 104 (juli'22), ervan uitgaande dat er geen grote verrassingen zijn.
  • Oproep tot actie: Zie het voorstel voor meer details, inclusief hoe u een work-in-progress-implementatie mogelijk kunt maken en manieren om feedback te delen, zoals feitelijke scenario's waarin onze aanpak nieuwe hindernissen zou opwerpen.

Met deze serie hoop ik onze ontwikkelaarsgemeenschap een gevoel van focus en verbondenheid te kunnen geven door ze dichter bij mijn team en hun werk te brengen. Dus houd ons in de gaten en houd deze pagina in de gaten voor meer updates.

Tot dan, gelukkig webbing.

Wat vond je van de eerste editie van The Chrome Dev Insider? Deel uw feedback .