HTML5: na ile naprawdę przeglądarki są dziś zgodne ze standardami?
Dyskusje na temat zgodności przeglądarek z HTML5 całkowicie ucichły. Wróciliśmy do sytuacji sprzed dwóch dekad, gdy rozpatrywano jedynie zgodność stron z przeglądarką, a nie standardem. Czyżby wszyscy byli już zgodni z HTML5?
HTML5 powstawał chaotycznie - znajdował się w stanie permanentnego szkicu, a przeglądarki implementowały różne jego fragmenty stosując odmienne podejścia. Po długim czasie, schizofreniczny model rozwoju został skodyfikowany jako oficjalny: kontrola nad HTML5 przeszła z Konsorcjum WWW do organizacji WHATWG. W międzyczasie, przeglądarki rozpoczęły implementację "standardu" w skoordynowany sposób, dzięki czemu wzrosła liczba aplikacji.
Rodząca się w bólach zgodność z Acid2 i Acid3 była niczym w porównaniu ze zgodnością z HTML5, wymagającym obsługi szeregu technologii (skupiając się mniej na wierności wyświetlania). Dziś główne przeglądarki osiągają ponad 500 punktów w teście HTML5Test, silniki rysujące ostały się dwa, a większość stron działa na obu (choć nie bez hacków). Gdzie jest jeszcze miejsce na innowacje w przeglądarkach?
Jak rozwijać przeglądarki?
W kilku miejscach. Przede wszystkim, HTML5Test nie jest autorytatywny i jest nieco wiekowy. Standard poszedł do przodu przez ten czas, kilka elementów sprawdzanych przez test nie ma raczej szans na implementację. Zresztą jest inicjatywą oddolną (stworzył go Niels Leenheer), a nie oficjalnym narzędziem pomiarowym. Umownie przyjął się przez pewien czas jako narzędzie porównawcze przeglądarek.
Po drugie, implementacja wielu elementów HTML5 była przejściowa/próbna. Dopiero teraz są one implementowane "na serio", co widać np. w roadmapie Chrome. U2F i RTC otrzymują nowe wersje implementacji.
Wreszcie, zgodność silnika to nie wszystko. Liczy się także wydajność oraz elementy niewchodzące w skład silnika. Blokada autoodtwarzania, wykrywanie wyciekłych haseł i wszelkie paski boczne - to już cechy samej przeglądarki. Ponieważ to w tym programie spędzamy dziś większość czasu, presja na optymalizację (wydajności i interfejsu) pozostaje wysoka. Przeglądarki czeka intensywny rozwój przez wiele lat.
Wydajność > Bezpieczeństwo > Zgodność
Testami naprawdę różnicującymi przeglądarki nie są dziś wykazy zgodności, jak HTML5Test, a benchmarki wydajności. W przypadku złożonych aplikacji, niska wydajność niektórych aspektów pracy może doprowadzić do zawieszenia aplikacji (karty) podczas, gdy ta sama aplikacja będzie pracować bez większych zarzutów na innym silniku.
Różnice między przeglądarkami wykorzystującymi warianty silnika Blink powinny być skromne (choć nie zawsze, Blink jest olbrzymi, da się go budować na wiele sposobów). Największym zagadnieniem pozostaje wydajność Firefoksa. A temu zdarza się zostawać w tyle. To zła wiadomość, bo grozi monopolem jednego silnika, co wzmacnia hegemonię Google.
Pytanie o przyszłość przeglądarek powinno zatem dotyczyć nie zgodności/rozbudowy HTML5, a tego czy przy obecnej kondycji Firefoksa nie zagraża nam przeglądarkowa monokultura. Już raz to przerabialiśmy.
Żadna przeglądarka nie przechodzi testu HTML5 w pełni (555 punktów). Chrome/Edge osiągają 528. Firefox - 510. Wyniki te jednak różnią się w zależności od włączonych w przeglądarce flag, a sam test sprawdza elementy które na pewno nie zostaną już zaimplementowane, jak hit testing. HTML5 istotnie jest więc "żywym standardem".
Kamil J. Dudek, współpracownik dobreprogramy.pl