Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

The Truth About HTML5 – Recenzja

Autor: Piotr Karpiuk o niedziela 2. Listopad 2014

Książka The Truth About HTML5 została napisana przez młodego gniewnego projektanta WWW z Australii. Większość książek o HTML5 stawia sobie za cel w sposób przystępny i w miarę szczegółowy opisać nowinki standardu i zachęcić do ich używania, a tutaj mamy dość rzetelne krytyczne spojrzenie na temat. Można autorowi miejscami zarzucić przesadę i złośliwość, ale z pewnością nie dyletanctwo. W tej książce dowiemy się wiele o tym co dzieje się za kulisami, jaki wpływ na HTML5 ma polityka patentowa, i jak poszczególne nowinki zostały przyjęte w świecie webmasterów (z co bardziej smakowitymi cytatami z blogów i grup dyskusyjnych).

Tak więc mamy tu ploteczki o tym, że na obecny kształt specyfikacji HTML5 podejrzanie duży wpływ ma jedna osoba: Ian Hickson, onegdaj pracownik Opery a obecnie Google. O tym, że Adobe wprawdzie już pogodziło się z nieuniknioną śmiercią Flasha, ale jednocześnie aktywnie propaguje SVG. O tym, że najbardziej pragmatyczne osiągnięcia w zakresie semantycznego Internetu oferuje w tej chwili inicjatywa Microsoftu, Google i Yahoo: Schema.org (jednakowoż stosowanie się do tych mikrodanych wpływa raczej na prezentację naszej witryny w wynikach wyszukiwania, a nie pozycję na liście wyników). O tym że wspomagana sprzętowo grafika 3D (WebGL) jest w grafice 2D szybsza niż canvas. O tym że obsługa dźwięku na użytek gier w przeglądarkach jest póki co beznadziejna. O tym że rekomendacja HTML 5.1 ma być gotowa w 2016. O tym że coraz modniejsze są preprocesory CSS takie jak SASS i LESS. No i o tym, że na dobrą sprawę sam HTML jest dziś „ogonem, którym macha JavaScriptowy pies”.

W kwestii najmniejszego wspólnego mianownika jeśli chodzi o przeglądarki do których musimy dziś równać IE6 na szczęście przestał być koszmarem, ale jego rolę przejął IE8 który będzie obecny tak długo, jak długo w Sieci widoczny będzie Windows XP.

Poszczególne nowości w świecie formularzy omówione są z punktu widzenia praktycznego: które warto używać (np. atrybuty autocomplete i autofocus), a których póki co warto unikać (atrybuty required, pattern, pola input typu number, range, date, color) i dlaczego.

Rzetelnie omówiony jest temat canvas i WebGL wraz z zastosowaniami (a może WebGL zostanie pokonany przez silnik 3D Unity?), a także znaczniki audio i video — gdzie sytuacja związana z kodekami i DRM jest wyjątkowo zagmatwana i potencjalnie niebezpieczna dla szeroko rozumianej wolności w Internecie. W praktyce ze względu na różnice między przeglądarkami i różny sposób wsparcia dla możliwości multimedialnych, zaleca się korzystanie z bibliotek JavaScriptu (np. MediaElement, VideoJS) zamiast „gołych” znaczników takich jak video.

Stevens proponuje zignorować nowe znaczniki strukturalne HTML5 (header, footer, nav, article, section, aside) argumentując że są one wyjątkowo niejasno opisane, a zamiast nich o wiele lepiej stosować role standardu ARIA, np.:

	<div role="banner">...</div>
	<div role="main">...</div>
	<div role="complementary">...</div>
	<div role="contentinfo">...</div>

Co więcej, nie warto się przesadnie przejmować pedantyczną zgodnością tworzonych witryn WWW ze standardami, ponieważ algorytmy pozycjonowania przeglądarek od dawna bardziej zdecydowany nacisk kładą na linki prowadzące do witryny (tak! możesz zrobić witrynę we Flashu i jeśli tylko będzie do niej prowadziło wiele linków z zewnątrz, to będzie ona wysoko w wynikach wyszukiwania).

Oczywiście, można się z autorem w niektórych miejscach nie zgadzać, niewątpliwie jednak całość zachęca do dyskusji i poszerza wiedzę. Polecam książkę każdemu kto nie ma zbyt wiele czasu, a chciałby wyrobić sobie zdanie o HTML5. Jeśli ktoś na temat HTML5 miałby przeczytać tylko jedną książkę, to najlepiej tą.

Poniżej wydłubane z lektury co ciekawsze linki być może przydatne dla webmasterów:

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

3 Komentarzy do “The Truth About HTML5 – Recenzja”

  1. Comandeer napisał(a):

    Wychodzi na to, że to książka z okolic 2012 (tym bardziej mnie dziwi, że wydano ją w grudniu 2013!) i nijak się ma do dzisiejszej rzeczywistości sieciowej…

    Tak więc mamy tu ploteczki o tym, że na obecny kształt specyfikacji HTML5 podejrzanie duży wpływ ma jedna osoba: Ian Hickson, onegdaj pracownik Opery a obecnie Google

    Wielka szkoda, że od jakichś 2 lat już nie jest redaktorem HTML5 a redaktorem natywnego standardu HTML w WHATWG. No i obecnego kształtu HTML5 już nie ma, bo od pół roku był on sfreezowany a 28.10.2014 otrzymał status rekomendacji, tym samym przesuwając całość prac na tzw. „post HTML5”.

    O tym, że najbardziej pragmatyczne osiągnięcia w zakresie semantycznego Internetu oferuje w tej chwili inicjatywa Microsoftu, Google i Yahoo: Schema.org

    Jakie są te „pragmatyczne osiągnięcia”? Dublin Core i mikroformaty mają większe „pragmatyczne osiągnięcia” – i są de facto standardem od wielu lat. Mikrodane to fajna rzecz, ale jak na razie nie ma żadnego znaczenia (a Web 3.0 to wciąż pieśń przyszłości).

    O tym że wspomagana sprzętowo grafika 3D (WebGL) jest w grafice 2D szybsza niż canvas.

    To akurat żadna tajemnica 😉 Z założenia WebGL musi być wydajniejsze przecież.

    O tym że obsługa dźwięku na użytek gier w przeglądarkach jest póki co beznadziejna.

    Dawno i nieprawda. Od roku mamy Web Audio API.

    W kwestii najmniejszego wspólnego mianownika jeśli chodzi o przeglądarki do których musimy dziś równać IE6 na szczęście przestał być koszmarem, ale jego rolę przejął IE8 który będzie obecny tak długo, jak długo w Sieci widoczny będzie Windows XP.

    To była właśnie sytuacja na rok 2012. IE8 obecnie ma w porywach 2%. Nie lubię reanimować trupów.

    które warto używać (np. atrybuty autocomplete i autofocus), a których póki co warto unikać (atrybuty required, pattern, pola input typu number, range, date, color) i dlaczego.

    A ja powiem tak: [autofocus] raczej się unika, bo nie wnosi nic ciekawego w UX a właśnie [type=number], [type=range], [type=date] się używa bardzo często z powodu UI, jakie daje przeglądarka. A [required] jest obecnie must have. „Póki co” znów się odnosi do jakiegoś roku 2012, w którym wsparcie dla takich rzeczy nie istniało.

    a może WebGL zostanie pokonany przez silnik 3D Unity?

    Co nas cofnie do ery pre-HTML5, gdzie do wodotrysków potrzebowaliśmy plugina Flash playera. WebGL jest otwartą technologią i – co ważniejsze – otwartym standardem. Unity nim nie jest.

    Stevens proponuje zignorować nowe znaczniki strukturalne HTML5 (header, footer, nav, article, section, aside) argumentując że są one wyjątkowo niejasno opisane, a zamiast nich o wiele lepiej stosować role standardu ARIA

    Ale przecież role standardu ARIA są opisane dokładnie w ten sam sposób, więc… A nowe znaczniki strukturalne w HTML5 mają te role przypisane natywnie. IMO to jest różnica taka sama, jak między button a div[role=button]. Niby to samo, a jednak coś całkiem innego.

    Co więcej, nie warto się przesadnie przejmować pedantyczną zgodnością tworzonych witryn WWW ze standardami, ponieważ algorytmy pozycjonowania przeglądarek od dawna bardziej zdecydowany nacisk kładą na linki prowadzące do witryny

    Ale co ma wyszukiwarka do semantyki? Bezsensowne stwierdzenie. Semantyka jest semantyką a nie papką SEO-wą dla Google. Semantyka jest dla użytkownika a nie jakiegoś robota, który nie rozumie gramatyki języka.

    tak! możesz zrobić witrynę we Flashu i jeśli tylko będzie do niej prowadziło wiele linków z zewnątrz, to będzie ona wysoko w wynikach wyszukiwania

    To było dawno, dawno temu… Teraz Google ma całkowicie inne algorytmy i takie tanie sztuczki nie przechodzą. Ba, Google od dawna umie czytać Flasha.

    Jeśli ktoś na temat HTML5 miałby przeczytać tylko jedną książkę, to najlepiej tą.

    Nie polecam, bo trąci myszką i autor w wielu miejscach za bardzo popłynął 😉 Polecam raczej po prostu poczytać informacje na CanIUse.com + wersję specki na WHATWG.org i tyle.

  2. Piotr Karpiuk napisał(a):

    „Jakie są te „pragmatyczne osiągnięcia”? Dublin Core i mikroformaty mają większe „pragmatyczne osiągnięcia” – i są de facto standardem od wielu lat. Mikrodane to fajna rzecz, ale jak na razie nie ma żadnego znaczenia (a Web 3.0 to wciąż pieśń przyszłości).”
    Pragmatyczne osiągnięcia są takie, że ta mikrosemantyka jest głównie na użytek wyszukiwarek. A obecnie wyszukiwarki w Internecie to Google (w Polsce 96%), Microsoft (2%) i Yahoo (1%), czwarta z kolei ma 0,38 rynku (patrz ranking.pl).

    „Dawno i nieprawda. Od roku mamy Web Audio API.”
    …nieobsługiwany w żadnym (nawet najnowszym) MSIE ani w Android browser (w sumie ok. 20% rynku), o czym dowiadujemy się w książce.

    „To była właśnie sytuacja na rok 2012. IE8 obecnie ma w porywach 2%. Nie lubię reanimować trupów.”
    Obecnie jest to ok. 3%; to więcej niż użytkowników iOSa na WWW (patrz ranking.pl)

    „A ja powiem tak: [autofocus] raczej się unika, bo nie wnosi nic ciekawego w UX a właśnie [type=number], [type=range], [type=date] się używa bardzo często z powodu UI, jakie daje przeglądarka.”
    Chodzi o problemy ze stylowaniem, brak obsługi na wielu platformach, a nawet wycofywanie się z obsługi przy kolejnej wersji przeglądarki (patrz iOS).

    „Ale przecież role standardu ARIA są opisane dokładnie w ten sam sposób.”
    No więc całe ostrze krytyki zasadza się w tym, że nie są opisane w ten sam sposób – np. wg standardu HTML5 znacznik header może wystąpić w każdym section, a w ARIA role=banner może wystąpić na całej stronie co najwyżej raz. Ponadto WAI-ARIA przynajmniej pomaga ludziom niepełnosprawnym korzystającym z czytników. Znaczniki strukturalne w HTML5 są opisane zdecydowanie niejednoznacznie (bardzo ostra krytyka w książce), co nie pomaga ani webmasterom, ani użytkownikom, ani aplikacjom przetwarzającym kod WWW. Często mówi się że te znaczniki wprowadzono na podstawie badań – autor książki zdecydowanie temu zaprzecza, i ma powody. Często spotykanym wzorcem w Internecie jest wzorzec post+komentarze; HTML5 niestety nie ma jednoznacznego tagowania na tę okoliczność. Okazuje się że zarówno post jak i komentarz to według HTML5 znacznik article.

    „Ale co ma wyszukiwarka do semantyki? (…) Semantyka jest dla użytkownika a nie jakiegoś robota, który nie rozumie gramatyki języka.”
    Wyszukiwarki od dawna atakują warstwę semantyczną zamiast poprzestawać tylko na przetwarzaniu znaków. O semantyce w Internecie mówi się głównie w kontekście wyszukiwarek. Patrz np. Google Knowledge Graph, polski projekt Nekst. Powiedziałbym nawet że w dzisiejszych czasach przewaga jednej wyszukiwarki nad inną będzie się sprowadzała do lepszej obsługi semantyki, a przynajmniej gramatyki; sam tekst bez prób jego zrozumienia to już XIX wiek.

    „Polecam raczej po prostu poczytać informacje na CanIUse.com + wersję specki na WHATWG.org i tyle.”
    Oj, przy takim podejściu to książki, blogi i fora o HTML5 w ogóle nie są potrzebne. Mnie jednak interesuje również i to, co o specyfikacji ma do powiedzenia świat webmasterów praktyków – a pod tym względem książka się wyróżnia (dużo wartościowych cytatów z grup dyskusyjnych), widać że autor śledzi wątki na bieżąco. Mimo wszystko polecam książkę przynajmniej przejrzeć, oczywiście ze świadomością że tekst drukowany zawsze będzie w tyle względem świata online – zwłaszcza w takich dziedzinach jak HTML5.

  3. Wpadki i wypadki #1 — WebKrytyk.pl napisał(a):

    […] o to, że celowo mój koment został usunięty w odmęty zapomnienia, niemniej – chciałbym skończyć, co zacząłem. Dlatego też zamieszczam swój (obszerny) komentarz […]

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>