• TwitterRSS
  • Domů na Webylon
  • Kritika W3C
  • Historie, JS
  • Čaroděj z Netscapu

    6. srpna 2004

    Dynamické HTML se řadí mezi nejmocnější technologie, které se mezi prohlížeči ujaly. Její jednotlivé implementace bývaly však často vzájemně naprosto nekompatibilní.

    Onen geniální nápad — doplnit do prohlížeče jednoduché skriptovací rozhraní — dostal roku 1995 Brendan Eich z Netscape Communications. Svoji odvozeninu C nazval nejprve Mocha, později byla přejmenována na LiveScript. Z marketingových důvodů ani tento název nevydržel.

    Ve srovnání s dnešními možnostmi byl JavaScript v Netscapu 2.0 takřka bezmocný. Na jednoduché úkony ovšem stačil, proto si našel velké množství příznivců.

    Cílevědomý Microsoft následující rok vydal Explorer 3.0 s vlastní implementací JavaScriptu. Na kompatibilitu s Netscapem tenkrát kladl velký důraz, třebaže víc fandil svému vlastnímu VBScriptu.

    Prohlížeč jevištěm

    Explorer 4.0 dal význam pojmu „dynamické HTML“. Svěřil webmasterům absolutní nadvládu nad stránkou. Každá značka, každý atribut i každý styl bylo možné skriptem upravit. Tento inovátorský přístup si získal takovou oblibu, že spousta webmasterů úplně zapomněla na Netscape.

    Uživatelé Netscapu trpěli. Netscape trpěl. Paradoxně díky jazyku, se kterým přišel první.

    Co dělalo tou dobou konsorcium? Paralelně s vydáním Exploreru 4.0 započalo práce na specifikaci objektového modelu dokumentu (DOM). Až o rok později se DOM úrovně 1 stal W3C doporučením. Srovnáte-li DOM a implementaci DHTML v Exploreru 4.0, zjistíte, že nabízí vlastně totéž, ne-li méně. Nekompatibilně. Důvod? Přeci vyšší spolupráceschopnost!

    Specifikace DOM také trpí nedostatkem specifičnosti. Je možné napsat dva prohlížeče, jejichž objektové modely nebudou vůbec kompatibilní, ale stále odpovídající doporučení. Dynamické HTML podle konsorcia rovněž postrádá jakoukoliv dynamičnost: široce podporované a užívané metody window.setTimeout a window.setInterval v něm nenajdete.

    Tvůrci minoritních prohlížečů byly monopolem donuceni založit svůj marketing na podpoře W3C. Proto se na původní DHTML dívají s opovržením a vyzdvihují kvality DOMu. Stále jim ovšem jde především o správné zobrazení každé stránky. Proto pomalu a nenápadně implementují i ty staré „ošklivé“ DHTML techniky.

    Před pár týdny začala Mozilla podporovat document.all. Podpora je nedetekovatelná a to především z toho důvodu, že tuto metodu používají některé starší stránky pouze k rozlišení prohlížeče. S tímto nápadem přišel výše zmíněný Brendan Eich. V Opeře 7.0 je document.all taktéž podporován.

    Slavná proprietální vymoženost Exploreru, vlastnost innerHTML, se také těší široké podpoře. Při správném použití je dokonce několikanásobně rychlejší než ekvivalentní metody DOM.

    Standard s respektem

    Syntaxe JavaScriptu (bez návaznosti na DOM) má svůj vlastní standard. Je jím ISO 16262, alias ECMA-262, specifikace jazyka ECMAScript. Její třetí vydání pochází z roku 1999.

    Na rozdíl od DOMu brala tato norma v úvahu historický vývoj a tvůrcům zbytečně neházela klacky pod nohy. Všechny rozšířené prohlížeče ji už prakticky od začátku plně podporují. Krásný soulad.

    Druhá věta tohoto článku je psána v minulém čase. To proto, že Explorer doporučení DOM téměř okamžitě implementoval, aniž by narušil funkčnost již existujících stránek. Dnes už JavaScript ve spojení s (nejen) objektovým modelem dokumentu umožňuje vytvářet kvalitní a rychlé webové aplikace funkční v dostatečném množství prohlížečů.

    Budoucnost

    V současnosti je rozpracované čtvrté vydání ECMAScriptu. Mezi novinky patří především datové typy a přehlednější práce s objekty. Mozilla už s tímto vývojem počítá v experimentálním JavaScriptu 2.0. Microsoft ve svém JScriptu.NET také. Konsorcium má však zřejmě jiné představy.

    HTML je opět v ohrožení. JavaScript je vůbec nejhorší vynález. […] Představte si, že bychom začli úplně od začátku, nechali složitých 20 % na Javě a do dvou let definovali vlastní jazyk a za další dva roky verzi 2. Doufáme, že toho dosáhneme.

    — Bert Bos (člen hlavního W3C týmu), Workshop W3C k webovým aplikacím, 1. června 2004

    Další reinvence, další úkrok stranou, další problémy.

    Opravdová budoucnost

    Z plácnutí Berta Bosa nakonec nic kloudného nevzejde a i ten JavaScript 2.0 po dalších pěti letech otálení zahyne v půtkách výrobců prohlížečů. Čaroděj z Nombasu Netscapu, ovládne během následujících let World Wide Web mnohem víc, než se v roce 2004 očekává…