Paweł Wimmer - blog towarzyszący kursowi języka HTML w Helionie. Założony 10 czerwca 2006.


Wyszukiwarka software'u



darmowe liczniki - od 17.02.2008
Add to Google - zaabonuj RSS
Blog > Komentarze do wpisu
Czy HTML 5 będzie rzeczywistym standardem?

W TechCrunch ukazał się obszerny wpis Nika Cubrilovica zatytułowany Sieć następnej generacji: HTML5 - czy kiedykolwiek zobaczymy rzeczywisty standard? Zadałem sobie trud przetłumaczenia tego tekstu, bo przynosi sporo ciekawej wiedzy, także historycznej. Warto przeczytać, kształcące.

Z góry przepraszam za ewentualne niedoskonałości tłumaczenia - uwagi są mile widziane. Oczywiście jestem tylko pośrednikiem, a nie stroną.

Sieć następnej generacji: HTML5 - czy kiedykolwiek zobaczymy rzeczywisty standard?

W ubiegłym tygodniu przyjrzeliśmy się, w jaki sposób niektóre przeglądarki i wtyczki adoptują API związane z przechowywaniem danych, co jest częścią nowego HTML5. Podczas gdy Gears, Opera i Webkit zaimplementowały te API, pozostała część specyfikacji HTML5 pozostaje obecnie niezaimplementowana i jest też ciągle w stadium zmian. HTML5 jest zakrojoną na szeroką skalę próbą sprowadzenia wszystkich przeglądarek pod wspólny, standardowy język znaczników i zbiór API - ale widząc Microsoft, Adobe i inne firmy pędzące do przodu z ich własnymi technologiami sieci następnej generacji, czy kiedykolwiek zobaczymy rzeczywisty standard HTML5?

Ucząc się z historii

W kategoriach celu i podjętego wysiłku, inicjatywa HTML5 ma swoją historyczną analogię w specyfikacji HTML 3.0. W kwietniu 1995 roku opublikowano szkic HTML 3.0 jako zgodnej wstecznie metody dodawania nowych funkcji (jak tabele) do HTML 2.0. W3C dopiero co powstało, a HTML 3.0 było jedną z pierwszych specyfikacji, która miała być opracowana przez nową grupę roboczą. W owym czasie wojny przeglądarek były tuż za rogiem, gdyż Navigator był na rynku od zaledwie 5 miesięcy, a już zdobył 80% rynku. Nie uszło to uwagi Microsoftu, który spieszył się z wypuszczeniem Internet Explorera 1.0, który miał się ukazać kilka miesięcy później.

Jak dzisiaj wiadomo, w 1995 roku różne przeglądarki obsługiwały częściowo odmienne zbiory znaczników. Nowe wydanie 1.1 Netscape'a poszło do przodu i wprowadziło tabele, pływające ilustracje i inne elementy nawigacyjne (jak odwiedzone linki). IE1 był kompletnym (hack of a browser - brakuje mi celnego polskiego określenia, przyp. pw), który starał się renderować wszystko za wszelką cenę, co oznaczało, że gdy nie był w stanie zrozumieć, co zamierzał autor, starał się zgadywać i prezentować cokolwiek. Skutkiem były rozmaite problemy, jak zdolność do mieszania tagów, co pozwalało autorom stron na niedbalstwo, gdyż IE kompensował błędy.

Gdy rynkowy udział Internet Explorera stale rósł i ukazywały się regularne aktualizacje programów Netscape'a i Microsoftu, obie przeglądarki coraz bardziej się "rozjeżdżały", a rynek był dzielony na dwa obozy. Inicjatywa wypuszczenia specyfikacji HTML, która wcześniej przyjęła formę dokumentów RFC, miała zjednoczyć ponownie przeglądarki i sformalizować nowe funkcje, które przeglądarki już wcześniej wprowadziły. Miały też miejsce istotne napięcia między współautorami specyfikacji co do tego, która z przeglądarek lepiej implementuje nowe funkcje. Przykładowo, Netscape i Explorer miały całkiem odmienne podejścia do map na obrazkach, gdzie były ze sobą niezgodne.

Problem polegał nie na tym, że nowe funkcje były już "na wolności", lecz na tym, że istniały dwa ostro konkurujące produkty, z których każdy implementował swoją własną wersję Sieci, aby zabezpieczyć swój udział w rynku i zdobyć jeszcze większą nad nim kontrolę. W końcu zarówno Netscape, jak i Microsoft, zrezygnowały z prób wprowadzenia właściwej specyfikacji HTML 3.0.

Oświadczenie Netscape'a:

Netscape pozostaje wierny wsparciu HTML 3.0. W tym celu poszliśmy do przodu i zaimplementowaliśmy szereg stabilnych propozycji, w oczekiwaniu, że zostaną zaaprobowane. Wierzymy, że Navigator 2.0 obsługuje więcej ze specyfikacji HTML 3.0 niż jakakolwiek komercyjna przeglądarka.

Dodatkowo włączyliśmy w Netscape Navigatorze szereg nowych obszarów funkcjonalności HTML, których nie ma obecnie w specyfikacji HTML 3.0. Sądzimy, że one tam przynależą i proponujemy ich włączenie jako część procesu standaryzacyjnego.

I Microsoftu:

Netscape cieszy się dosłownym monopolem na rynku przeglądarek (ok. 90%, według niektórych szacunków) i to pozwoliło mu jeszcze bardziej umocnić swoją pozycję przez wprowadzenie nieoficjalnych, czy rozszerzonych, znaczników HTML. W rezultacie Sieć jest wypełniona stronami, które działają skutecznie tylko gdy są oglądane w Navigatorze. Do chwili, gdy inne przeglądarki nadrobią stratę, Netscape wprowadzi nowe dodatki.

Ale nie trwało to długo i Microsoft zmęczył się tą grą. Następne wydania nawet nie wspominały już o HTML, a w zamian mówiły o Sieci budowanej na technologii Microsoftu:

Microsoft Internet Explorer 3.0 jest pierwszym klientem Internetu, który wprowadza technologię ActiveX, umożliwiającą twórcom witryn tworzenie wysoce interaktywnych aplikacji i treści dla Internetu. Technologie te pozwalają witrynom WWW być równie bogatymi i interaktywnymi, jak gry akcji, encyklopedie multimedialne czy aplikacje. Po raz pierwszy witryna WWW jest limitowana jedynie wyobraźnią autora, a nie ograniczeniami technologii.

W ciągu następnego roku wojna przeglądarek przerodziła się z walki o wsparcie znaczników HTML w zmagania wokół formatów i języków, które miały dawać bogatsze aplikacje po stronie klienta. Walka między JavaScript (własnościowym, klienckim językiem skryptowym Netscape'a) a ActiveX (własnościowym kontenerem obiektów z Microsoftu) była tuż za rogiem, z chwilą wydania w sierpniu 1996 roku Internet Explorera 3.0.

Reszta tej historii, gdzie Microsoft wygrywa, i co istotne, w jaki sposób wygrywa, wojnę przeglądarek, jest powszechnie znana. Sieć została znacząco rozbita, z reperkusjami, które trwały przez ponad dekadę, gdy niezliczone tysiące deweloperskich godzin pracy zostały zmarnowane na produkowanie uniwersalnych obejść. Pomimo tego, że Microsoft uzyskał dominację nad rynkiem przeglądarek i promował kolejne warstwy własnościowych technologii do budowania sieciowych aplikacji, jakimś cudem prosty HTML, JavaScript i CSS w końcu wygrały i Web 2.0 nie został zbudowany na ActiveX.

Szybko przez 10 lat

Gdy Netscape zniknął i został zastąpiony przez Firefoksa, walka o dzisiejszą Sieć przebiega nie tylko między przeglądarkami, lecz także między platformami webowymi i technologiami. Rynkowy udział Internet Explorera został, według niektórych szacunków, sprowadzony do 78% (z wysokich 95% w 2004 roku), Firefox ma 16%, a Safari, Opera i inne - pozostałe 6%. HTML 4.01 został opublikowany w 1999 roku i stał się standardem ISO, podczas gdy główne przeglądarki wprowadziły obsługę tej specyfikacji. HTML 4.01 dalej pozostaje najszerzej i najlepiej wspieranym standardem HTML, ale problemy przeniosły się do innych części zbioru technologii sieciowych, w szczególności w obszarach CSS i DOM.

W tym, co określamy mianem Web 2.0, opracowano tysiące bogatych aplikacji webowych za pomocą HTML, CSS i XML - najczęściej określanych mianem Ajax (jak na ironię , "a" i "x" w terminie Ajax startowało jako własnościowe dodatki do Internet Explorera w postaci xmlhttprequest).  Aplikacje ajaksowe szybko osiągnęły granice tego, co da się zrobić za pomocą dzisiejszych technologii, ale zmniejszyły one nieco lukę między aplikacjami webowymi i desktopowymi. Pewna liczba wspieranych przez producentów klienckich platform webowych, jak Flash z Adobe i Silverlight z Microsoftu powstała w postaci warstw nad przeglądarką, dając deweloperom bardzo bogate środowisko rozwojowe dla aplikacji webowych. Te nowe platformy pracują za pośrednictwem wtyczek do przeglądarek, a w sytuacji, gdy te komercyjne rozwiązania już działają, nie ma żadnej sensownej alternatywy opartej na zasadach open source i na otwartych standardach, która wychodziłaby poza Ajax.

Sfrustrowana brakiem postępu w HTML5 w W3C, grupa producentów przeglądarek wydzieliła się z niej i utworzyła WHATWG, aby dalej rozwijać specyfikację. Podstawową misją HTML5 było skonstatowanie, że Sieć zmieniła się od czasów pierwotnych specyfikacji HTML, a aplikacje webowe są teraz w stanie oferować bardzo złożone interfejsy użytkownika i mogą wykorzystać bardziej zaawansowane funkcje systemowe (w przypadku interfejsu Silverlight korzysta z XAML, a Flex/Flash z MXML). Specyfikacja rozpoczęła swoje istnienie jako Web Applications 1.0, co jest zbiorczym terminem opisującym nie tylko nową specyfikację HTML5, ale i stowarzyszone z nią specyfikacje, jak CSS2, DOM5, ECMAv4 i nowe wywołania API (jak lokalne przechowywanie danych).

Specyfikacja grupy roboczej WHATWG w końcu (po czterech latach) powróciła pod skrzydła W3C, a Microsoft ponownie się do niej przyłączył. W międzyczasie deweloperzy szukający platformy dla bogatych aplikacji webowych poza Ajaksem mieli małe możliwości wyboru, poza dołączeniem do światów Microsoftu czy Adobe. Postęp w implementowaniu HTML5 był ciągle bardzo powolny, aż Google zorientował się w zagrożeniu zdominowania Sieci przez Microsoft czy Adobe i wkroczył ze swoją technologią Gears. Jest to sposób Google'a na przyspieszenie implementacji cech HTML5 w przeglądarkach, wspierany na każdym kroku przez dodawanie we własnych usługach, jak Gmail czy Reader, wsparcia dla nowych wywołań API.

Apple jest kolejną firmą, która w pełni wspiera otwartą alternatywę w postaci HTML5 dla bogatych aplikacji internetowych. Zaledwie 5 lat temu odwiedzający witrynę Apple znajdował strony zdominowane przez Flash I PDF. Dzisiaj Apple ma swoją własną, opartą na otwartych standardach przeglądarkę Safari, i wspiera opensource'owy projekt Webkit. Firma wzmocniła także wsparcie dla wolnych i otwartych alternatyw przez przekonstruowanie swoich stron i aplikacji, które przedkładają teraz używanie Ajaksa nad własnościowe rozwiązania, jak Flash.

Jesteśmy ponownie w 1996 roku i HTML5 jest nowym HTML-em 3.0, ale zamiast dwóch głównych producentów przeglądarek mamy dziś liczne strony sporu zainteresowane określeniem jak powinien wyglądać nowy API dla Sieci i maszyna wirtualna. W wersji wydarzeń z lat 90. otwarte standardy w końcu wygrają - co uznają także Microsoft i Adobe, publikując kod źródłowy i szczegóły API dotyczące niektórych części ich platform.

Historia Sieci uczy nas, że zwykle jest pojedynczy zwycięzca, a wszyscy użytkownicy migrują do zwycięskiego rozwiązania, które narzuca się jako standard (przypomnij sobie, że wiele dzisiejszych standardów rozpoczynało jako technologie własnościowe). Jest jednak wielka różnica między standardem takim, jak system operacyjny Windows, a otwartym standardem, jak HTML5 - powtórka tego pierwszego jest największym zagrożeniem, przed jakimi stoją teraz takie firmy, jak Google i Apple.

piątek, 06 czerwca 2008, prwimmer

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do notki:
Komentarze
2008/06/07 00:21:08
Niestety, boję się, że wyjdzie jak zwykle...
Z moich odwiecznych prawie walk z webmasterką (dzięki, Pawle, za twój kurs ;P) nadal nie potrafię zrozumieć, dlaczego zrobienie 3-kolumnowego layoutu w gołym CSS wymaga kontenerów w kontenerach, sztuczek z przemieszczaniem, hacków - a i tak gdzieś się coś rozjeżdża w epiphany... A przecież na logikę to powinno starczyć dosłownie 5-6 klas w CSS i 5 div-ów - nagłówek, 3 kolumny i stopka. Aż czasem kusi wrócić do tabelek.
-
Gość: lenrock, chello089077127204.chello.pl
2008/06/07 01:19:46
Mnie aktualne projekty html 5.0 nie przekonują. Więc nawet mam nadzieję że zostanie po staremu i ktos po prostu swoim pomysłem opanuje ryneki. Wolałbym jak by zaczęto wprowadzać masowo Css3 , xForms i Gearsy (bo te rozwiązania cokolwiek wnoszą i są postępowe) , wówczas o wiele lepiej by zareagowała sieć niż na sztuczne wprowadzania semantyczności z pod znaku html 5.0 .
-
2008/06/07 01:27:21
@Zbyszek, Kornel - ja wręcz się obawiam, że technologie własnościowe znowu zajmą rynek; zobaczcie, ile sieciowych fotoretuszerów robi się teraz we Flashu - praktycznie wszystkie. Programy do prezentacji - też Flash.
Nie mówię, że te "maszyny wirtualne" nie są w ostatecznym efekcie fajne, ale jakoś tak dziwnie się robi. Może na zasadzie przekory bardzo mnie rajcują dobre aplikacje ajaksowe.
A Silverlighta jakoś ciągle nie widać. Ciekawe.
-
2008/06/07 19:30:29
Pawle, ale fotoretuszera w gołym ajaxie ciężko. Niby Firefox wspiera Canvas, ale mimo wszystko... a poza tym są wolnościowe implementacje flasha, więc chyba nie jest tak źle.
W sumie ciekawe, java została mocno wyparta ze stron WWW, a przecież się lepiej nadaje do takich zastosowań poważnych.
-
2008/06/08 00:15:24
@Zbyszek - kolumny to by była świetna rzecz i coś co chyba się pojawi w css3 (tzn. jest w).

Zapomnieliście o JavaFX- nowym wynalazku Sun. Flash i Java dryfują w stronę wolnych rozwiązań i otwartości... to chyba dobrze? :-)

Generalnie mnogość tych nowych technologi np. air, javafx itd mnie przeraża... świetny i trafny artykuł
Pisz swój dziennik w Internecie