Firefox Quantum: de nieuwe Mozilla-browser
Firefox Quantum: een nieuwe start voor Mozilla‘s browser
Firefox 57: dat klinkt nou niet bepaald spectaculair. Maar de browser met dit weinigzeggende versienummer is volgens Mozilla de "grootste update aller tijden'' en de "herrijzenis van Firefox". Wij hebben de browser nader bekeken en in dit artikel lichten we toe wat Mozilla zoal veranderd heeft. Op pagina 72 laten we zien hoe Firefox Quantum presteert als hij het moet opnemen tegen Chrome, Edge en Safari. Omdat Quantum een nieuwe interface voor browseruitbreidingen gebruikt, tonen we vanaf pagina 77 welke extensies nog werken. Als die nog iets te wensen overlaten, dan kun je vanaf pagina 80 lezen hoe je zelf je eigen add-ons voor de nieuwe Firefox-versie programmeert. En als bonusfeature werken deze bovendien ook nog eens in Chrome en Edge.
Zeven miljoen regels
Mozilla heeft bijna geen enkele bit op z'n plek gelaten. De ontwikkelaars hebben maar liefst zeven miljoen regels code van de browser onder handen genomen. Dit komt neer op 75 procent van de broncode.
Talloze essentiële onderdelen zijn nieuw geschreven, bijvoorbeeld de CSS engine Quantum CSS. Deze is nu bijzonder snel, omdat hij meerdere processorcores kan inzetten. Vooralsnog is Firefox de enige browser die dit kan. Andere vernieuwingen zijn de scheduler Quantum DOM en de netwerk stack Quantum Networking. Firefox vraagt aan DOM welke tabs de gebruiker actief gebruikt. Deze informatie geeft de browser vervolgens door aan de netwerk stack. Die kan op zijn beurt voorrang geven aan de resources die de actieve tabs op dat moment gebruiken. Hierdoor heb je geen last meer van een browser die blijft hangen omdat er ergens in de achtergrond een tab druk met iets bezig is. Vergeleken met de voorgaande versies is de browser over het geheel genomen aanzienlijk sneller geworden. Dat blijkt niet alleen uit de laboratoriumtests (zie grafiek) maar ook uit alle berichten van gebruikers van de nieuwe browser.
Mozilla heeft populaire golden oldies de deur gewezen, bijvoorbeeld de ondersteuning van de oude bekende XUL-addons. Firefox Quantum ondersteunt net als Chrome en Edge alleen nog maar Web Extensions. Dit tot ontstemming van veel ontwikkelaars van populaire add-ons. Die zien zich gedwongen om hun uitbreidingen nieuw te ontwikkelen – of om ermee op te houden. Ondertussen zijn er zo'n 6000 van rond de 20.000 bestaande Firefox-uitbreidingen geporteerd naar een Web Extension.
Mozilla heeft ook het aloude Theme systeem veranderd. Deze wijziging gaat samen met de omzetting van de userinterface. De nieuwe Photon UI is op veel vlakken aan de andere browsers aangepast en is nu bijvoorbeeld voorzien van smallere tabbladen en een nieuw menu. Daarmee is hij beter geschikt voor bediening op touchscreens en voor schermen met een hoge resolutie.
Al in 2013 begon de Mozilla Foundation met de ontwikkeling van een nieuwe browser-engine met de naam Servo. Hierbij werd de nieuwe programmeertaal Rust ingezet. Die moest bufferoverflows en vergelijkbare veiligheidsproblemen voorkomen die met het gebruik van C++ gepaard gingen. Pas eind 2016 kondigde Mozilla het ambitieuze plan aan om Firefox component voor component te willen vernieuwen.
In de voorgaande vier versies werden er al enkele belangrijke onderdelen vervangen. Daarmee werd de basis gelegd voor de renovatie van de browser. Zo heeft Mozilla in versie 53 van Firefox voor Windows het deel van de code verplaatst dat de communicatie met de grafische kaart regelt. In release 54 werd de multi-processorarchitectuur geïntroduceerd (Quantum DOM), die geopende webpagina's over meerdere processen verdeelt en aanstaande opdrachten beter prioriteert. Firefox 57 is de belangrijkste stap in het vernieuwingsproces, maar niet de laatste. Firefox 58 moet bijvoorbeeld gegevens nog beter beschermen door het zogenaamde canvas fingerprinting te blokkeren. En naar verluidt zullen er nog meer belangrijke ontwikkelingsstappen volgen.
Mozilla is van plan om pas in versie 60 of nog later een van de grootste wijzigingen in te voeren door WebRender te integreren. Dat werkt zo ongeveer als een game-engine en leunt zwaarder op de gpu. Dit moet de prestaties verbeteren en de accu ontzien. Als er geen gpu aanwezig is, zal deze gesimuleerd worden.
Internet heeft Firefox nodig
Firefox is een verrijking voor het internet. De open source browser vormt de basis voor andere opensourceprojecten zoals de Tor-browser waarmee je anoniem op het web kunt surfen. Hij vormt een belangrijk testveld voor nieuwe technieken. En dankzij de concurrentie blijft de markt levendig. Kortom: het is een goede zaak dat Mozilla zijn browser een verjongingskuur heeft gegeven. Geef Firefox een (nieuwe) kans. De ontwikkelaars hebben mooi werk verricht en de vernieuwing is geslaagd. (mdt)