środa, 22 grudnia 2010

Wszystko co chcę Wam powiedzieć o HTML5 i nawet nie wpadlibyście na to, żeby zapytać

WHATWGOstatnimi czasy w świecie przedniokońcowej deweloperki strasznie dużo mówi się o nowym standardzie kodowania czyli HTML5. Moje podejście do standardów jest takie, że warto je znać i się ich trzymać, ale na pewno nie ekscytować. W związku z tym zabrało mi sporo czasu zanim zainteresowałem się jakież to zmiany poza wyrzuceniem spacji i iteracją numerka w nazwie zaserwują nam panowie z W3C.


Nowe podejście do standardów.

Historia powstawania HTML5 jest, co mnie bardzo zaskoczyło na prawdę interesująca. Zaczęło się od tego że W3C zostało opanowane przez złych sithów, których głównym celem było ograniczanie wolności twórców stron. Za pomocą nowego standardu, który przygotowywali (xHTML 2.0) chcieli zabić kreatywność, wszystko standaryzować, a na koniec posiąść nasze kobiety! Przyświecała im myśl, którą można streścić xml rządzi, html ssie.

Na szczęście pojawiła się rebelia. Nadeszła z najmniej oczekiwanej, a jednocześnie mającej najwięcej do powiedzenia strony. Byli to twórcy przeglądarek.  I tak powstała Web Hypertext Application Technology Working Group, w skrócie WHATWG. Oni to postanowili się dogadać i rozpocząć pracę nad nowym standardem. Po raz pierwszy od bardzo dawna miał się on skupiać na wykorzystaniu pełnych możliwości sprzętu i aplikacji oraz innowacjach! Jak się można spodziewać nie spodobało się to W3C(onsortium), które od tego momentu nazywano W3I(mperium).


Imperium kontratakuje.

Największą różnicą w funkcjonowaniu WHATWG i W3I było to w jaki sposób podejmowano decyzje. Jak pokazała historia W3C demokracja do niczego dobrego nie prowadzi, więc WHATWG zaadoptował system na kształt monarchii konstytucyjnej. Dyskutowano, omawiano, głosowano, ale ostatnie słowo zawsze należało do ojca założyciela nazywanego 'The Editor' - Iana Hickinsona. Dzięki temu prace posuwały się szybko i w całkiem sensownym kierunku.

I W3C zobaczyło, że wszystko co zostało stworzone przez rebeliantów było dobre. Przyznano to w październiku 2006 i powołano HTML Working Group, która przyjęła wszystkie ustalenia WHATWG jako podstawę nowego standardu HTML 5 (ze spacją). Jednocześnie zajęło im trochę czasu (nie tak długo jak programistom M$ ogarnięcie wsparcia dla .png, ale prawie 3 lata zleciały) aby w końcu otworzyli oczy na fakt że maszyny się różnią od ludzi i kod xml nie jest zbyt dobrze do naszej percepcji dopasowany.

Co ciekawe od tego momentu rozwijane są dwa standardy HTML5(WHATWG) i HTML 5(W3C). Jeśli ktoś widzi w tym jakiś sens poza argumentem o urażonej ambicji W3C byłbym wdzięczny za rozjaśnienie.


Co powinieneś wiedzieć o HTML5

Po pierwsze to, że jeśli kodujesz wg xHTML to kodujesz dobrze i nie musisz się niczego nowego uczyć. Z punktu widzenia składni nowy standard jest dużo bardziej liberalny. Prawdę powiedziawszy jeśli lubisz porządek w kodzie żaden język Ci nie będzie przeszkadzał, ale od teraz nikt nie będzie Ci też tego narzucał.

Po drugie w końcu ktoś pomyślał o nas - ludziach którzy używają tych języków na co dzień. Mam na myśli uproszczoną składnię deklaracji, których nigdy nie mogłem zapamiętać. Dla przykładu:

deklaracja języka w xHTML 1:
<!DOCTYPE html PUBLIC »
"-//W3C//DTD XHTML 1.0 Strict //EN" »
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

deklaracja języka HTML5:
<!DOCTYPE html>

deklaracja kodowania znaków HTML 4.1:
<meta http-equiv="Content-Type" content="text/html; »
charset=UTF-8">

to samo w HTML5:
<meta charset="UTF-8">


Prawda że poręczne;)


Innowacje. 

Z mojego punktu widzenia innowacje są dwie. Po pierwsze natywne wsparcie dla plików multimedialnych. W HTML5 możemy na stronie umieścić film czy muzykę bez użycia wtyczek. Za pomocą wygodnych atrybutów takich jak autoplay czy loop jesteśmy w stanie uprzykrzyć naszym użytkownikom życie(dużo bardziej niż znienawidzony i wyrzucony ze specyfikacji kilka lat temu przez W3C atrybut target="_blank"). Aby było jeszcze straszniej możemy nadpisywać interfejsy sterujące zagnieżdżonymi mediami i doprowadzić internautów do białej gorączki kamuflując stop pod przewijaniem, a w regulacji głośności zamieniając bieguny.

Druga innowacja to słynny już element <canvas>. Brzmi świetnie. Biorąc pod uwagę fakt, że to taki bardziej interaktywny .svg ma też spory potencjał. Pod warunkiem oczywiście, że w przeciwieństwie do .svg zacznie być wspierany przez IE. Cudów bym się nie spodziewał chociaż M$ zapowiada, że 9. wersja ichniejszej przeglądarki ma być canvas friendly.


Liberalna składnia, ale coś tam uporządkować próbują.

I to nie takie coś tam! WHATWG pracuje nad stworzeniem kompletnej specyfikacji Javy Script dla przeglądarek. Nareszcie! Już nie mogę się doczekać czasu kiedy sprawdzanie czy kod JS działa wszędzie będę mógł wykonywać na dowolnej przeglądarce i IE;) Dla mnie to jest najważniejsza nowość. 

Ale przecież <video>, <audio>, <canvas>?

Jasne, z tym tylko, że to jak umieszczam na stronie wideo raczej się nie zmieni. Bo czy nie lepiej jest wstawić kod zewnętrznego serwisu dysponującego nieograniczonym transferem i giga-bitowymi  łączami niż polegać na swoim hostingu? Pewnie, że lepiej. 

Praktyczne(czytaj używane na co dzień) zastosowanie elementu canvas, moim zdaniem, odbywało się będzie za pomocą dodatkowych frameworków i narzędzi (wynika to przede wszystkim z masy kodu jaką trzeba wygenerować żeby zobaczyć coś sensownego). Takie rozwiązania - generujące dowolne obrazy w locie - są dostępne dzisiaj. Różnica polega na tym że wykorzystują one moc obliczeniową jakiś serwerów, a w przyszłości ma się to odbywać na maszynie klienta. Z punktu widzenia projektanta różnica będzie bardzo mała.

Natomiast standaryzacja poleceń i co ważniejsze tego jak są wykonywane Javy Script to rewelacja. Marzyliśmy o tym całe lata. No może od momentu powstania jQuery, mootools i prototype nie tak intensywnie;p


Reasumując - poczekajmy.

Podsumowując nie do końca rozumiem zamieszanie w okół HTML5. Podobnie jak wszystkie wcześniejsze specyfikacje nie sądzę żeby ta odmieniła moje życie. Twórcom należy się wielki szacunek za to, że postawili na swoim. 

Śmieszy mnie jednak kiedy widzę ogłoszenia o pracę dla web developerów z wymaganą znajomością HTML5. Kto do Hulia może znać specyfikację, która nie została opublikowana? Czy ktoś mógłby mi to wytłumaczyć? 

Opamiętajmy się. Otwórzmy sobie piwko i poczekajmy. Perspektywy są bardzo ładne, ale jak będzie ocenimy za kilka lat. Sam 'The Editor' powiedział, że jego zdaniem HTML5 będzie 'zalecanym językiem kodowania stron' w okolicach roku 2022.

P.S.

To wydzielenie się WHATWG z W3C to była SCHIZMA, a ja zawsze chciałem napisać to słowo w jakimś opublikowanym tekście. 

Brak komentarzy:

Prześlij komentarz