Hlavní navigace

Budovat web jako ekosystém

26. 1. 2008 22:57 (aktualizováno) Martin Hassman

K tomuto zamyšlení mě inspiroval Karl Dubost z W3C příspěvkem The Web as An Ecosystem. Vyjadřuje se v něm k nedávným sporům o současném vývoji webu, o kterých v češtině psal Adam Hauner v Zastavit inovaci Webu?

Karl vidí současný web jako ekosystém. Přiměl mě podívat se na věc trochu šířeji. V zásadě celý IT obor je složen z ekosystémů. Plný dravců bojujících se sebou navzájem a snažících se požírat ty menší, stád býložravců, kterým stačí ke spokojenosti jedna veliká louka anebo také dinosaurů, kteří nějak zapomněli vyhynout a čekají, že jednou přijde znovu doba, když savci zalezou zpět do nor a oni se stanou zase pány planety.

Máme tu ekosystém programovacích jazyků (rodí se v něm noví a noví jedinci, občas spolu soupeří, evolučně se vyvíjejí a zastaralí jedinci postupně vymírají), máme tu ekosystém metod softwarového inženýrství (zde platí snad vše, co u jazyků, až na to vymírání), máme tu ekosystém formátů (ať už obrázků, audia, videa, dokumentů…).

Ani u webu bychom neměli sázet na jednu jedinou kartu, abychom se jednoho dne náhodou nenašli na větvi určené k vyhynutí. I zde se již vytvořil ekosystém. Neničme ho.

Pár příkladů

Stále panují spory, zda je lepší vzhled značkovacího jazyka definovat pomocí CSS nebo XSLT a odpověď nepřichází, nikdo to prostě neví, a tak se používají a dále vyvíjí oba.

Máme tu SVG pro vektorovou grafiku, ale již dnes webové prohlížeče mají implementován canvas, který dělá v zásadě totéž, ale jiným způsobem. Takže opět výběr ze dvou možností.

Dále tu máme CSS selektory a XPath, oba řeší téměř totéž, jen opět jinak a brzy se budou oba plnohodnotně používat při práci s DOM objekty.

Budoucnost nelze předpovědět

Možná, že jednoho dne jedna z technologií evolučně přeroste druhou, ale nebude to dnes, ani napřesrok a už vůbec nedokážeme odhadnout, která z nich to bude, ani zda k tomu někdy opravdu dojde. Proto potřebujeme obě.

Až někdo přijde s další myšlenkou, nápadem, který již bude v nějaké podobě obsažen v CSS nebo XSLT, nezahazujme ho jen proto, že „to tady už přeci máme“, ptejme se, co nám může přinést. Nakonec z toho může vzniknout onen vývojový článek, který své předchůdce jednou přeroste.

Sdílet

  • 27. 6. 2007 8:26

    Vlasta Neubauer (neregistrovaný)

    zdá se mi, že tady jste trochu vedle:
    1) CSS a XSLT v žádném případě nejsou konkutenty. css je fromátovací jazyk, xslt je, už podle názvu, jazyk pro transformaci dokumentů. ekolog by řekl, že žijí v úplné jine nice. nemyslel jste náhodou formátovací jazyk XSLFO?
    2) SVG a canvas taktéž nejsou konkurenty. SVG je plnohodnotný souborový formát pro vektorovou grafiku, zatímco canvas je v podstatě kreslící plátno s api, díky nemuž lze na něj kreslit pomocí skriptů na straně klienta. samožřejmě lze kanvas použít k prostému zobrazení nebo i animaci, ale jeho použití je vždy podmíněno možností skriptování a jeho nároky na prostředky jsou mnohem vyšší. canvas nelze používat jako náhradu <img>, zatímco <svg> ano.

    se selektory a xpath máte pravdu. to jsou skutečně nástroje konkurenční

  • 27. 6. 2007 11:49

    Martin Hassman (neregistrovaný)

    Dobře, pokusím se vysvětlit podrobněji, bude pak pochopitelnější, co zmiňovaná porovnání znamenají.

    To, že některé technologie v jisté oblasti, řeší totéž, ale jinak (a přesně o tom píšu - o konkrétních oblastech použití), automaticky neznamená, že technologie, která má použití i mimo tento společný průnik, je lepší a nemají se od sebe čemu učit, nebo jednou obě sloužit jako inspiraci třetí technologie, která jednoho dne snad nastoupí a možná jednu z nich nebo dokonce obě nahradí.

    SVG vs. canvas - myslím, že za pár let se budeme divit. Osobně bych tipoval, že v oblasti webové grafiky poměr SVG : canvas bude tak 50 : 50, možná i trochu víc pro canvas. Právě tím, že každý z nich má odlišný přístup se skvěle doplňují (asi víc než konkurují). Na tu správnou technologii pro vektory na webu si ještě počkáme. Překvapilo mě, že už dnes, kdy specifikace canvasu není zdaleka finální, Yahoo! používá canvas v produkční aplikaci, zatím nevím o podobném použití SVG na webu od tak veliké firmy (rád se nechám přesvědčit o opaku).

    CSS a XSLT si pro definici zobrazení dokumentu konkuruje (tady asi skutečně spíše platí konkuruje, než doplňuje) už léta, viz diskuse např. na xml.com (to, že CSS definuje vzhled dokumentů přímo, zatímco XSLT definuje vzhled dokumentu jeho transformací do jiného - libovolného - jazyka, který již má definováno své zobrazení, je technický detail).

  • 27. 6. 2007 12:41

    Daniel Kvasnička (neregistrovaný)

    Namitka p. Neubauera je podle mne spravna, michate dohromady XSLT a XSL-FO, prip. pouziti typu XML -> TeX. Tam je CSS regulerni konkurenci.

    Pri praci s webem a prohlizecem je ale vztah mezi XSLT a CSS seriovy. XSLT transformuje XML na XHTML a v semantickem XHTML nemaji informace o vzhledu co delat, od toho jsou prave CSS styly, aby informaci o vzhledu dodaly. CSS dodava XML dokumentu vzhled a jestli jde o puvodni dokument nebo stokrat transformovany, to je pak vec XSLT, ale vzhled je v tomto pripade mimo hru.

    Stacilo by jen trochu vic rozlisovat.

  • 27. 6. 2007 13:03

    Vlasta Neubauer (neregistrovaný)

    to že výstupem XSLT transformace může být finální zformátovaný dokument ještě neznamená, že XSLT je jazyk formátovací. obvykle, alespoň já jsem takový přístup již několikrát viděl (a jednou i použil), je vstupní XML transformováno v jiný XML nebo HTML dokument, a _následně_ formátováno pomocí CSS. a co se týká třeba cesty XML+XSLT->XSLFO->PDF, nebo XML+XSLT->TeX, tak to už nemluvíme o webu.

    canvas je primárně určen pro bitmapovou grafiku (prostě plátno), ale samozřejmě jako každé GUI obsahuje fukce pro vykreslování vektorové grafiky. to z něj však nedělá vektorový formát. canvas není formát/jazyk, ale grafické api. dovedu si celkem dobře představit, že vzniknou třeba JS knihovny vykreslující SVG vstup na canvas.

    canvas bude ubírat prostor spíše na úkor Flashe a JAVA appletů. prostě tam, kde byla třeba interaktivita a grafika generovaná na straně klienta. a naopak SVG bude částečně vytlačovat webovou grafiku v GIF a PNG

  • 27. 6. 2007 13:07

    Daniel Kvasnička (neregistrovaný)

    Jeste k SVG. Myslim, ze rozsireni canvasu bude z casti zalezet i na tom, zda tvurci vektorovych grafickych editoru canvas vezmou v uvahu. Jedna vec jsou vektory psane rucne nebo generovane strojove (grafy etc.), ale pokud jde o design a vyhody vektoru (mensi velikost, zadna degradace zpusobna kompresi), tak ten se mi rucne moc delat nechce ;-)

  • 27. 6. 2007 14:15

    Martin Hassman (neregistrovaný)

    [4] Povíme si to za tři roky, já odhaduji SVG : canvas bude na webu minimálně 50 na 50 pro canvas. XSLT vs. CSS pořád se míjíme v některých pojmech. Zkusím o tom ještě někdy příště napsat, třeba to vyjádřím jasněji.