úterý 10. července 2007

Applety na odchodu a proč nejsou Sun a Adobe v HTML WG

Když jsem včera psal o přehledu HTML značek, všiml jsem si, že <applet> v nových verzích specifikací chybí. A to nejen v HTML5, ale již ve striktním XHTML1. Rozdílový HTML5 dokument o nich říká:
applet has been obsoleted in favor of object
Java applety jsem nikdy neprogramoval a nedokážu posoudit, zda je <applet> pro programátory výhodnější, než vkládání appletů prostřednictvím <object>ů a <embed>ů.

Nicméně jen existence značky <applet> s sebou nesla jakousi výjimečnost Java appletů mezi ostatními pluginy (poslední dobou zejména před Flashem) a v době, kdy se Sun snaží vrátit Javu na web s JavaFX, se každý zásek navíc počítá. Překvapilo mě, že jsem k tomu nenašel žádnou větší debatu. Nějaký pokus Sunu celé téma znovu otevřít.

A následně jsem si všiml, že Sun, ačkoliv je členem W3C, není členem HTML WG. Přiznávám, že mě to zmátlo. Pokud chce prosazovat Javu na webu, bude na možnostech webu a HTML závislý a je sám proti sobě, když se neúčastní diskusí, které tvář budoucího webu formují.

Stejně je na tom i společnost Adobe, která je členem W3C, ale nemá žádného zástupce v HTML WG. Přitom i její produkty postavené na Flashi (Flex, AIR) jsou na HTML a webu závislé, dokonce mu v některých směrech i konkurují (možná, že to je onen kámen úrazu?).

HTML WG je otevřená skupina a mezi 482 členy najdeme kromě stovek jednotlivců zástupce řady společností, které jsou na webu a HTML závislé, nejen výrobce prohlížečů, ale i Google, Yahoo, IBM a pro mne stále nepochopitelnou The Boeing Company.

Nedělají Sun a Adobe chybu, když se vzdávají možnosti ovlivnit vývoj webu? Čte tento blog nějaký programátor v Javě nebo Flashi, který by pomohl problém objasnit? Přiznám se, že mne tohle téma zajímá.

10 komentářů:

  1. Vývoj HTML obecně vedl k tomu, že si každá firma přidávala vlastní tagy a pak se zjistilo, že totéž dělá vlastně už jiný tag od jiné firmy (embed vs. object vs. applet vs. flash vs. javascript vs jscript .. ajax a objectX atd atd atd...).

    Pro programátory appletů se nic nemění - jediné co se změní je těch pár řádků pro vložení do stránky ... a to většinou nedělá programátor appletu, ale webdesignér ...

    W3C se snaží rozdílné implementace podchycovat a případně říct stop, něco takového už tu máme ... To se stalo i s tagem object. Object v sobě zahrnuje veškeré vstupy z externích souborů (především multimédií jako je již zmiňovaný applet, flash, wma, mp3 atd ...) a rozdílnost se rozezná dle MIME typu ...

    Sun možná není součástí HTML WG, ale kromě JavaFX (což je něco jako AJAX v Javě) nemá s HTML až tak moc společného ... Sun preferuje serverové řešení jako je třeba JSP (tedy něco jako Javovské PHP)!!!, servlety apod ... Tam se používá Java (mimo jiné teda i v appletech)

    S Flashem je to přeci také úplná blbost ... Flash se zobrazuje díky pluginu od Adobe, který to pak celé rozhýbe - Flash není závislý na HTML !

    Zakončím menším zamyšlením nad HTML5 nebo něčím, co prostě příjde příště ... Bude to sice pěkné, ale stejně nakonec dojdeme zase někam zpět k XML + pár vychytávek v prohlížečích, které to rozhýbou ...

    OdpovědětVymazat
  2. Ještě se doplním - Applety jsou napsané v Javě a jsou jen vložené do stránky ... Applet nepotřebuje HTML ani prohlížeč k běhu - potřebuje hnací motor - Java Runtime Enviroment ("nainstalovanou Javu") ... Podobně to funguje i s Flashem ...

    OdpovědětVymazat
  3. Myslím, že to Jiří nevidíš do všech důsledků. Java applety i Flash stejně často běží v HTML stránce a interagují s ní (ať již ony manipulují s obsahem stránky nebo naopak ta volá jejich veřejné metody) a v ledasčem pro ně platí nakonec omezení prohlížečů (práva, AJAX...). Nejedná se úplně o vlastní svět a na webových technologiích včetně toho, co je součástí HTML5, jsou částečně závislé.

    Ještě k té značce object, ta dnes začíná být chápána jako jedna z nejhorších značek HTML 8-), která prostě pohltila vše, co HTML nezvládalo, až toho na ni bylo příliš. V HTML5 je filosofie odlišná, viz nové značky pro video, audio. Zjednodušeně cokoliv, co má na webu své opravdové místo, má nárok na plnou podporu v HTML (nikoliv prostřednictvím pluginů - např. obrázky také mají svou vlastní značku a nevkládáme je přes object) - v HTML5 to jsou hlavně multimédia a stále přemýšlím, proč to nejsou i Java applety.

    OdpovědětVymazat
  4. No myslím si, že to vidím až do důsledků, ale díváme se na to z různého pohledu ... Applety sice mohou reagovat na aktivitu na stránce, ale applet sám o sobě se vkládá pouze "jedním" způsobem (applet x object). Sám o sobě by neběhal bez JRE a podobně tak flash ...

    Interakce se stránkou není záležitostí HTML ale prohlížeče ! Interakci prohlížeče rozšiřují pluginy (JRE, Adobe Flash, QuickTime ...)

    Předávání akcí mezi prohlížečem a appletem prochází přes JRE a je tedy jen na Sunu (a na spolupráci s výrobci prohlížečů), aby to fungovalo ve všech prohlížečích ...


    Je sice pravda, že např. obrázek má svůj tag, ale pokud vím dobře, tak i "img" je plánováno nahradit (alespoň v XHTML2) tagem object :
    [object data="obrazek.png" type="image/png" /]
    Podobně se má nahradit všechno ... HTML je původně stavěno jen na text a příští verze by se měla mírně vrátit k původnímu směru syntaxe značkování ... Zbytek by se měl vkládat přes object ...

    Navíc flash bude nahrazen formátem SVG (tam už Adobe spolupracuje) ...

    Spíše než HTML 5 podle mě vyjde XHTML 2 ... Je sice pěkné, že si skupina výrobců prohlížečů a Google vytvořili tuhle skupinu a chtějí rozšířit HTML o tagy, které by "rozšiřovaly" možnosti HTML o nějakou akci (podobně jako kdysi používané marquee - za které dodnes není v xhtml ekvivalentní náhrada), ale právě takovéhle akce mi připadnou kontraproduktivní. Tag object (sice přetížený) to určitě taky zvládne ... Mít pět tagů na různé věci a mít jeden s jedním parametrem, který řekne co se vkládá mi připadne jednodušší ...

    Příklad : Dneska chceme přidat dejme tomu 5 tagů [google]hledané slovo[/google] který bude odkazovat rovnou na vyhledávání hledaného slova na googlu, tag [flash][/flash]..., tag [java][/java] a tag ... atd ...

    Za pár let vydáme nový jazyk, program, plugin a budeme chtít přidávat další tagy ... Když to přeženu - budeme mít za chvíli 50 tagů, které budou dělat téměř totéž (vkládat podobné objekty) ale budou mít zcela odlišnou syntaxi, která bude za chvíli zcela nepřehledná ...
    W3C se proto snaží tagy standardizovat, unifikovat a zjednodušovat syntaxi ... Zbytek je o výrobcích softwaru ...

    OdpovědětVymazat
  5. Jiří, ještě minulý rok bych to bral jako námět k diskusi, ale ve světle událostí tohoto roku nemohu souhlasit.

    Adobe nenápadně, ale pomalu prosazování SVG na webu opouští. Přeci jen ve Flashi spolu se všemi těmi Flex a AIR má větší budoucnost a na ty se hodlá soustředit. Prosazovat současně dva konkureční produkty pro ni není příliš výhodné a Adobe SVG Viewer byl ohlášen za ukončený.

    A o XHTML2 je zbytečné se bavit, to je v tuto chvíli již opravdu irelevantní. Může se to někomu nelíbit, může na to nadávat, ale to je asi to jediné, co se s tím dá dělat. Já jsem za to osobně rád, ale je mi jasné, že po té několikaleté glorifikaci XHTML2 to každý tak nevidí. Nicméně právě XHTML2 nepřímo způsobilo, proč je dnešní web tak pozadu.

    OdpovědětVymazat
  6. ... přesto to nic nemění na tom, že applety a podobně vkládané objekty fungují až ve spojení s nainstalovaným pluginem ...

    V podstatě od začátku mluvíme každý o něčem jiném ... Já říkám, že HTML je o textu a přes pluginy se připojí další obsah ... což byla odpověď na vaši otázku proč není Sun v HTML WG ... Sun si to zpracuje sám skrz své JRE nebo nějaký zvláštní parser, který do té doby bude součástí jádra a propojen s prohlížečem ...
    To je v podstatě vše co jsem chtěl říct ...
    Zbytek naší diskuse byl offtopic o tagu object, který aktuálně nahrazuje (nebo možná ne/bude nahrazovat) vkládání dalších objektů ...

    Programátory appletů prostě nemusí zajímat, jak se applet do html vloží, to už je práce webdesignéra (případná spolupráce je samozřejmě žádoucí), pro ně je hlavní, že se vloží do stránky ...


    btw.Citace z blogu whatwg.org:
    "What the wider Web community needs is a language which, if implemented by a Web browser, will result in a browser that can render all the existing content on the Web, and which will have new features to make the Web a better place."

    Což povede k novým prohlížečům ... Tedy prohlížečům "s předinstalovaným pluginem" (tedy o tom, o čem se tady teďka bavíme). Vlastně se pak nebudou používat prohlížeče, ale přehrávače :D

    Ale kdo ví, co bude za 15 let ...

    O tom, že Adobe dalo ruce pryč od SVG nevím ... Vím jen, že dalo ruce od Adobe SVG viewer, z důvodu široké rozšířenosti SVG a dostatku SVG pluginů i nativní podpory prohlížečů. Naopak, Adobe do svých programů implementovala možnost uložit do formátu SVG ...

    ale to už je offtopic ...

    OdpovědětVymazat
  7. Ona citace z http://blog.whatwg.org/faq/#why-html5-xhtml2 hovoří o HTML5. Nikoliv o nových prohlížečích, pouze o dotažení specifikace HTML dokonce.

    Ono HTML již dávno není jen o textu (naposled tomu tak bylo u jeho první verze).

    OdpovědětVymazat
  8. pak ale nemá smysl ale mluvit o HyperText Markup Language ...

    a podle mého překladu hovoří o tom, že HTML5 bude zpracovávat prohlížeč ... Nikoliv pluginy ...

    OdpovědětVymazat
  9. Ta úvaha o názvu je zajímá 8-)

    Ta citace s WHATWG FAQ se týká toho, co zmiňuje Ian Hickson ve druhé části rozhovoru na http://www.root.cz/clanky/ian-hickson-o-nove-verzi-html/. HTML prohlížeče mají umět zobrazit nejen současné, ale mi starší HTML dokumenty. HTML5 se snaží na tohle pamatovat. To je ten, jazyk o kterém se hovoří v "What the wider Web community needs is a language..."

    OdpovědětVymazat
  10. Zajímavé porovnání - společnosti, které nějak přispěly k vývoji CSS2.1. Nacházím zde přesně ty společnosti, které - pro mne stále nepochopitelně - chybí u HTML. Byl bych opravdu rád, když by mi tohle někdo dokázal objasnit.

    OdpovědětVymazat

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.