Proč je stavba vlastního prohlížeče revolucí pro celý web
Proč je stavba prohlížeče od nuly tak důležitá pro web
Přiznejme si to – prohlížeče bereme jako samozřejmost. Klikneme na ikonu, napíšeme adresu a čekáme, že se internet objeví. Jenže za tímhle zdánlivě jednoduchým úkonem se skrývá miliony řádků kódu, desítky let vývoje standardů a jedny z nejsložitějších softwarových projektů na světě.
Takže když někdo oznámí, že postavil webový prohlížeč úplně od začátku – bez existujícího renderovacího jádra, bez WebKitu, bez Gecka – mělo by vás to zaujmout. Přesně tohle reprezentuje Nordstjernen (což v norštině znamená „Polárka").
Problém smonopolem prohlížečů
Tady je důvod, proč by vás to mělo zajímat víc, než si myslíte. Aktuálně vypadá trh s prohlížeči takhle: prohlížeče založené na Chromiu dominují s víc než 65 % globálního používání. Přidejte Safari a její odvozeninu WebKitu a dostanete se k tomu, že zhruba 95 % webového prohlížení ovládají jen dvě renderovací jádra.
To není jen akademická záležitost. Ovlivňuje to:
- Dodržování standardů – když jedno jádro dominuje, ostatní prohlížeče často improvizují, aby napodobily jeho zvláštnosti, místo aby striktně následovaly specifikace
- Bezpečnost – jeden kódový základ znamená jediný bod selhání
- Innovace – konkurence žene věci dopředu; monopoly vedou k stagnaci
Prohlížeč postavený od základů nutí všechny zamyslet se: co kdybychom začali znovu s tím, co dnes víme?
Clean-room přístup
Vývojáři Nordstjernenu zvolili takzvaný „clean-room" přístup – jinými slovy, stavěli svou implementaci bez nahlížení do existujícího zdrojového kódu prohlížečů. Stejnou cestou šly projekty jako ReactOS vedle Windows nebo různé open-source databázové implementace.
Výhoda? Nezdědíte legacy rozhodnutí, nahromaděný technický dluh a nedokumentované zvláštnosti. Nevýhoda? V podstatě znovu vynalézáte kola, jejichž vývoj trval desítky let.
Je to odvážný krok. Ať už to nakonec uspěje, nebo to zůstane jen vzdělávacím cvičením, přináší to cenné poznatky o tom, jak prohlížeče fungují uvnitř.
Co to znamená pro vývojáře
Možná si říkáte: „Skvělé, ale já píšu webové aplikace. Proč by mě měly zajímat vnitřnosti prohlížečů?"
Spravedlivá otázka. Tady je odpověď: když rozumíte základům prohlížečů, jste lepší vývojář. Když chápete, proč CSS specificity funguje tak, jak funguje, nebo proč se JavaScript event loop chová tak, jak se chová, tak už se neučíte nazpaměť – přemýšlíte nad systémy.
Projekty jako Nordstjernen, i v raných fázích, tlačí komunitu webových vývojářů k tomu, aby articulovala, co prohlížeče vlastně musí dělat. A ta jasnost prospívá všem.
Cesta vpřed
Postavit konkurenceschopný prohlížeč je obrovský úkol. Gecko, WebKit a Blink dohromady představují desítky milionů řádků kódu, tisíce člověkoroků vývoje a neustálou údržbu bezpočtu webových standardů.
Nordstjernen nenahradí Chrome zítra. Ale reprezentuje něco důležitého: možnost alternativ.
Aby web zůstal zdravý, rozmanitý a odolný, potřebujeme vývojáře a projekty ochotné zpochybňovat zažité představy a zkoušet jiné přístupy. Ať už se z Nordstjernenu stane velký prohlížeč, nebo zůstane fascinujícím důkazem konceptu, připomíná nám, že web, jaký máme dnes, vybudovali lidé – a mohl být postaven úplně jinak.
To stojí za oslavu, bez ohledu na to, na jaké straně browser wars stojíte.
Co si myslíte o rozmanitosti prohlížečů? Je nový rendering engine cestou vpřed, nebo jsme už překročili bod, kdy můžou nové prohlížeče smysluplně konkurovat? Podělte se o své myšlenky.