Chrome Dev Summit - Overzicht van open webplatforms

door Greg Simon en Eric Seidel

Blink is de open-source rendering engine van Chrome. Het Blink-team ontwikkelt het web verder en pakt de problemen aan die ontwikkelaars tegenkomen.

Sinds de lancering in april zijn er achter de schermen een aantal verbeteringen doorgevoerd.

Het eerste wat we deden, was de helft van onze bron verwijderen, wat we niet per se nodig hadden. We zijn er nog niet! En we doen dit niet blind: de codeverwijdering is gebaseerd op anoniem gerapporteerde statistieken van Chrome-gebruikers die zich hebben aangemeld voor rapportage.

We publiceren elke zes weken een nieuwe API voor ontwikkelaars. Dit schema is gelijk aan de verzendschema's van Chrome.

Een grote verandering die we doorvoerden toen we van Blink afsplitsten, was de toevoeging van een intents-systeem: elke keer voordat we het webplatform wijzigen, sturen we een openbare aankondiging naar de Blink-ontwikkelaar waarin we onze intentie aankondigen om een ​​functie toe te voegen of te verwijderen. Vervolgens gaan we aan de slag en programmeren we het! En de dag nadat de functie is ingecheckt, staat deze al klaar in onze Canary-builds. Deze functie is standaard uitgeschakeld, maar je kunt hem inschakelen met about:flags.

Vervolgens kondigen wij op onze openbare mailinglijst aan dat wij van plan zijn om te verzenden .

Op chromestatus.com kun je zien aan welke functies we hebben gewerkt, welke we hebben uitgebracht en welke we van plan zijn te schrappen. Je kunt ook de Chromium Releases-blog bekijken, met links naar bugs en naar ons tracker-dashboard.

Een andere grote verandering is dat we WebKit-prefixen verwijderen. Het is niet de bedoeling om Blink-prefixen te gebruiken, maar om runtime-vlaggen te hebben (en niet alleen compile-time-vlaggen).

Android WebView was een grote uitdaging, maar HTML5Test laat zien dat het steeds beter gaat. We zitten veel dichter bij de desktop wat betreft het hebben van één set webplatform-API's overal (Web Audio is daar een goed voorbeeld van!).

Maar hoe werkt die worstmachine? Elke wijziging die we aan Blink aanbrengen, wordt direct door meer dan 30.000 tests gehaald, om nog maar te zwijgen van alle Chromium-tests die later nog eens worden uitgevoerd. We gebruiken 24-uurs sheriffing, duizenden bots, duizenden benchmarks en systemen die miljoenen kapotte webpagina's naar onze engine sturen om te voorkomen dat deze omvalt. We weten dat mobiel aanzienlijk trager is, en daar werken we hard aan om te verbeteren.

Dus, wat is er nieuw?

  • Webcomponenten : bekijk de lezing van Eric Bidelman!
  • Webanimaties: complexe, gesynchroniseerde animaties met hoge prestaties die waar mogelijk gebruik maken van de GPU
  • Gedeeltelijke lay-out: bereken alleen wat u nodig hebt!
  • CSS-raster
  • Responsieve afbeeldingen: srcset of srcN of ?
  • Snellere automatische tekstgrootte en consistente subpixellettertypen
  • Skia, het grafische systeem dat Blink gebruikt, stapt over van GDI naar DirectWrite op Windows

Wij willen graag weten wat u te zeggen hebt!

Voel je C++ in je bloed en wil je met ons C++ schrijven? Al onze code is open. Je hoeft het niemand te vertellen of ons te evangeliseren. Je kunt gewoon een patch posten of een bug melden !

Dia's: Knipperen

Beveiliging

door Parisa Tabriz

Tegenwoordig zijn er meer mensen dan ooit tevoren verbonden met het internet, en vanaf meer plekken.

We zijn verbonden via onze laptops, telefoons en tablets, en waarschijnlijk binnenkort ook via persoonlijke apparaten en accessoires. We hebben toegang tot het internet via onbetrouwbare en soms zelfs vijandige netwerken. Nu zoveel van ons leven zich online afspeelt, is het cruciaal dat we maatregelen nemen om onze gegevens en de gegevens van onze gebruikers te beschermen.

Bovenal moeten wij als ontwikkelaars de noodzaak en bruikbaarheid van SSL begrijpen.

Wat is SSL? Het staat voor Secure Sockets Layer en is een cryptografisch protocol dat is ontworpen om de beveiliging van internetcommunicatie te waarborgen. Het garandeert privacy via encryptie en integriteit, om afluisteren of manipulatie van uw internetverbinding te voorkomen. SSL heeft zijn tekortkomingen, maar het is de toonaangevende manier – en eigenlijk de enige manier – om de beveiliging van elke vorm van datacommunicatie op internet te garanderen.

Volgens SSL Pulse hadden we een jaar geleden een SSL-acceptatie van net geen 15%. Nu zitten we op ruim 50%.

Twee acroniemen:

  • TLS: in de meeste opzichten hetzelfde als SSL. Om precies te zijn, SSL 3.1 is hernoemd naar TLS, en TLS is de IETF-standaardnaam. Maar ze zijn onderling uitwisselbaar!

  • HTTPS: dit is HTTP over SSL, een gelaagde combinatie van de beveiligingsmogelijkheden van SSL en standaard HTTP. Eerst de client-server-handshake, waarbij cryptografie met openbare/private sleutels wordt gebruikt om een ​​gedeelde sleutel te creëren – die door het tweede deel van het SSL-protocol wordt gebruikt om communicatie te versleutelen.

Netwerken op internet voelt misschien veilig, direct en snel. Het voelt alsof we rechtstreeks met de website communiceren. Maar in werkelijkheid is het geen directe verbinding. Onze communicatie verloopt via een wifi-router, een internetprovider en mogelijk andere tussenliggende proxyservers tussen je apparaat en de website. Zonder HTTPS verloopt al onze communicatie in platte tekst.

Het probleem is dat gebruikers zelden een volledige URL met HTTPS invoeren – of op een link klikken die HTTP gebruikt. Erger nog, het is mogelijk om een ​​(wo)man-in-the-middle-aanval uit te voeren en HTTPS te vervangen door HTTP. Een tool genaamd SSLstrip, geïntroduceerd in 2009, doet precies dat. Firesheep, uit 2010, luisterde gewoon naar open wifi-netwerken om te zien of er cookies ongecodeerd werden verzonden: dat betekende dat je kon meeluisteren met chats of kon inloggen op iemands Facebook-account.

Maar SSL is (relatief) goedkoop, snel en eenvoudig te implementeren (bekijk ssllabs.com en het boek High Performance Browser Networking van Ilya Grigorik). Public Key Pinning is ontworpen om websitebeheerders de mogelijkheid te geven te beperken welke certificeringsinstanties daadwerkelijk certificaten voor hun sites mogen uitgeven.

In januari van dit jaar (2010) is Gmail standaard overgestapt op HTTPS voor alles. Om dit te realiseren, hoefden we geen extra machines en speciale hardware te implementeren. Op onze productie-frontendmachines is SSL goed voor < 1% van de CPU-belasting, < 10 KB geheugen per verbinding en < 2% van de netwerkoverhead…

Als u nu stopt met lezen, hoeft u maar één ding te onthouden: SSL is niet langer rekenintensief.”

Overclocking SSL , Adam Langley (Google)

Tot slot nog een paar bugs die we het vaakst tegenkomen:

  • Gemengde content: sites die zowel HTTP als HTTPS gebruiken. Uw gebruiker zal geïrriteerd raken omdat hij op een toestemmingsknop moet klikken om content te laden. (Chrome en Firefox blokkeren gemengde content in iframes.) Zorg ervoor dat al uw bronnen op een HTTPS-pagina worden geladen via HTTPS, door relatieve of schema-relatieve URL's te gebruiken, bijvoorbeeld <style src="//foo.com/style.css">
  • Onveilige cookies: worden ongecodeerd verzonden via een HTTP-verbinding. Voorkom dit door het kenmerk 'secure' in te stellen op cookieheaders. U kunt ook een nieuwe header 'Strict Transport Security' gebruiken om SSL Transport Security (HSTS) te vereisen.

Afhaalmaaltijden

  • Als u de privacy en integriteit van de gegevens van uw gebruikers belangrijk vindt, moet u SSL gebruiken. Het is sneller, eenvoudiger en goedkoper dan ooit.
  • Voorkom veelvoorkomende implementatieproblemen, zoals fouten met gemengde inhoud of het niet instellen van de juiste HTTP-headerbits.
  • Gebruik relatieve of schema-relatieve URL's.
  • Bekijk enkele van de nieuwe coole dingen, zoals HSTS en cert pinning

Dia's: Hebt u SSL?

Media-API's voor het web op meerdere apparaten

door Sam Dutton & Jan Linden

Naast de proliferatie van nieuwe apparaten en platforms op het web, zien we een enorme groei in audio, video en realtime communicatie. Online media veranderen de manier waarop we allerlei soorten media consumeren.

Uit een onderzoek van de Britse overheid bleek dat 53% van de volwassenen 'multitaskt' tijdens het tv-kijken: ze gebruiken mobiele apparaten om media te delen en te consumeren. In veel landen neemt het tv-kijken af ​​en neemt online kijken toe. In China bijvoorbeeld keek in 2012 slechts 30% van de huishoudens in Peking tv, een daling ten opzichte van 70% in 2009. Volgens de W3C Highlights 2013 ' is het afgelopen jaar het kijken naar video's op mobiele apparaten verdubbeld . Dit jaar zal in de VS de gemiddelde tijd die per dag met digitale media wordt doorgebracht het tv-kijken overtreffen . Kijken is niet langer een passieve handeling. In de VS zegt 87% van de entertainmentconsumenten dat ze minstens één apparaat met een tweede scherm gebruiken tijdens het tv-kijken.' Volgens Cisco 'zal video ... in 2017 tussen de 80 en 90 procent van het wereldwijde consumentenverkeer uitmaken'. Dat komt neer op bijna een miljoen minuten video per seconde.

Wat hebben we voor webontwikkelaars? Een ecosysteem van media-API's voor het open web: gestandaardiseerde, interoperabele technologieën die op meerdere platforms werken.

Afhaalmaaltijden

  • WebRTC biedt realtime communicatie in de browser en wordt nu breed ondersteund op mobiele apparaten en desktops. In totaal zijn er al meer dan 1,2 miljard WebRTC-eindpunten.
  • Web Audio biedt geavanceerde hulpmiddelen voor audiosynthese en -verwerking.
  • Web MIDI, geïntegreerd met Web Audio, maakt interactie met MIDI-apparaten mogelijk.
  • De audio- en video-elementen worden nu ondersteund door meer dan 85% van de mobiele en desktopbrowsers .
  • Media Source Extensions kunnen worden gebruikt voor adaptieve streaming en time shifting.
  • Met EME kunt u beveiligde content afspelen.
  • Transcripties, bijschriften en het track-element maken ondertitels, captions, getimede metadata, deep linking en uitgebreid zoeken mogelijk.

Dia's: Media-API's voor het web op meerdere apparaten