Hlavní navigace

Pořiďte si prohlížeč QuarkIN

Martin Kopta

V diskusi pod recenzí nového Živě se jeden z našich čtenářů dožadoval optimalizace pro prohlížeč QuarkIN. Žádný prohlížeč toho jména pravděpodobně neexistuje. Položme si ale otázku: měli by oni tři kamarádi, kteří QuarkIN používají, nebo spolužáci z vyšších ročníků, kteří programují vlastní prohlížeč, právo na podporu svých aplikací na webu?

Na položenou otázku by se dalo odpovědět naprosto lapidárně: nemají. Web stojí na standardech, které vydává World Wide Web Consortium (W3C). Chtějí-li tedy naši tři kamarádi a jejich spolužáci z vyšších ročníků produkovat vlastní prohlížeče, měli by přistoupit nejdříve na platné standardy webu. Pak se mohou spolehnout, že webdesigneři jejich prohlížeč podporovat budou. My totiž netvoříme pro prohlížeče, my tvoříme pro web.

V desetileté historii snad nikdy neexistoval prohlížeč, který by naprosto správně a bez výhrad podporoval kompletní standard HTML (červenec 1997), natož pak kaskádové styly (prosinec 1996) nebo objektový model (říjen 1998). Zato však už od počátku vznikají prohlížeče, které přinášejí vlastní rozšíření (naposledy třeba poloprůhlednost v CSS Mozilly). Prohlížečů a jejich verzí je dnes na světě nepočítaně. Právě před chvílí jsem se probíral logem z webserveru, který měsíc zaznamenával jednotlivé user-agenty, a ten log, ačkoli je v něm každý user-agent uveden jen jednou, zabírá na disku přes 4 MB v textovém souboru.

Inkompatibilitou vpřed!

Nechci brát Netscape a Microsoftu zásluhy o rozvoj webdesignu, kterého dosáhli právě proprietárním rozšířením platných standardů; vynálezy rámových struktur a tabulek nebo klientského skriptu posunuly vývoj o pořádný skok dopředu, ale přesto bychom měli mít neustále na zřeteli principy webu.

Rád bych viděl, jak by se propagátoři kteréhokoli browseru tvářili, kdyby jim někdo nabízel prohlížeč (řekněme) JPEGu, který by byl naprosto úžasný, dokonce by přinášel vlastní rozšíření platného standardu o záznam vůně, měl by ale pár drobnějších vad: odstín barvy by zobrazoval s posunem o 15 ° a zaznamenané objekty by ležely na jiných souřadnicích, nežli je ve zdrojovém kódu definováno. Chtěl bych slyšet, kam všude by grafik programátory posílal, až by mu řekli, že jejich produkt má 80% podíl na trhu, a že očekávají, že se jim tvůrci přizpůsobí.

Co by vypadalo jako naprostý nesmysl v jiném odvětví, jeví se na poli webdesignu naprosto seriozně. Pokud mám uvést příklad z poslední doby, tak producent Internet Exploreru ohlásil, že nová verze bude i nadále špatně renderovat rozměry prvků v dokumentech HTML 4.0 Transitional, kdežto v dokumentech Strict už bude probíhat renderování podle standardu. Tvůrci Mozilly se dali slyšet, že sice ještě není možné přistupovat k objektům stylu prostřednictvím DOM, ale už se jim podařilo do aplikace zahrnout přístupové objekty Microsoftu. Programátoři nejrychlejšího browseru na světě zašli ve švejkování ještě dál, když do Opery zahrnuli objekt z IE document.all, který je však dostupný pouze v okamžiku, kdy se user-agent identifikuje jako Internet Explorer.

Miliony webdesignerů po celém světě tedy píší tři skripty pro přístup k pojmenovaným entitám:

document.getE­lementById(id)
podle specifikace W3C DOM (IE5, NN6, O5, Mozilla 0);

document.all[id]
pro prohlížeče MS a pro Operu maskovanou za IE;

document.id
pro nejnovější verze Netscape Navigatoru řady 4.

Čtyři cesty ke světlu

Existují čtyři možnosti, jak se k realitě stavět. Můžete se identifikovat s hnutím poorismu (poor — chudý), které trvá na tvůrčím minimalismu. Pooristické weby obsahují výhradně prvky, které byly zavedeny s historickými standardy (píše se rok 1995, novinkou je Netscape 2.0 a neoficiální HTML 3.0), a proto lze předpokládat, že je budou podporovat takřka všechny užívané prohlížeče, textové nevyjímaje. Pooristický přístup vyhovuje všude tam, kde je důraz kladen na poskytovanou službu, všude tam, kde se bojuje o každého klienta, všude tam, kde záleží, kdo bude první v návštěvnosti. Proto nepřekvapí, že se u nás chrámem pooristů stal vyhledavač Seznam, za humny pak Google.

Druhou alternativu nabízí sekta brandistů (brand — značka), kterážto usiluje o spravedlivý svět ve světle poučky, že spravedlnost je prospěch silnějšího. Tím silnějším v minulosti byl nejdřív Mozaik, pak Netscape a nyní Microsoft. Bude příštím nejrozšířenějším prohlížečem Mozilla? nebo Opera? Arachne? iCab? nebo QuarkIN? Příklon k určité platformě je pragmatický: většina dostane obsah stránek s největším myslitelným komfortem, a ostatní alespoň uvidí, že ne vždy se vyplácí jít vlastní cestou, a příště se podle toho (snad) zařídí. U nás k brandistům patří především Živě, kde dokonce Jiří Hlavenka publikoval filipiku proti W3C pod názvem Je lepších více prohlížečů nebo jediný a monopolní?, kam vnáší tyto velice zajímavé závěry:

Za současné situace by tedy byla existence jediného standardu a jediného prohlížeče pro trh přínosem, protože umožní rychlejší vývoj, rychlejší zlepšování kvality Internetu. (…) Ostatně se to už ukázalo v posledních dvou letech: pokud někdo podstatně posunul dopředu vývoj Internetu, nebyly to instituce typu W3C, ale privátní firmy jako Microsoft, Sun Microsystems nebo Macromedia.

Třetí cestou se vydal křižácký řád (cross-platform — napříč vyznáními). Křižáci se zformovali do šiku v době, kdy ještě nebylo jasné, který prohlížeč bude nejspravedlivější a jelikož se z řádu nedá jednoduše vystoupit, slouží dnes křižáci ne dvěma pánům, ale pokaždé, když se objeví nový pán, chtějí pro jistotu sloužit i jemu. Proto v jejich ohromných knihovnách funkcí najdete alternativní objektový model, jímž se dá přistupovat k prohlížečům Netscape, Microsoftu, Mozilly i Opery. A pokud znáte další prohlížeč s podporou javascriptu, napište jim, oni jej zahrnou do příští verze DynAPI. Spolehlivým poznávacím znakem křižáků je křížení párových tagů HTML (podívejte se na značku form ve zdrojovém kódu Lupy, ať víte, o čem mluvím).

Křižákům a brandistům Internet vděčí za přívětivou tvář a komfort. Jak Internet stárne, objevují se na přívětivé tváři vrásky, někdy i pukliny a dřívější komfort se viklá, neklíží, ba co víc — hrozí úrazem. A to mu letos bylo teprve deset let! Slíbil jsem vám ale čtyři cesty ke světlu…

Normalizační charta

Na začátku jsem chlapcům z QuarkINa ukázal záda, když se dožadovali optimalizace, a pak jsem začal vypočítávat přínosy inkompatibility a proprietality u jejich konkurence. Historický exkurz to byl sice dlouhý, ale pro pochopení pointy důležitý.

Příběh webdesignera je jako pohádka o chytré horákyni: máte tvořit podle standardu, ale prohlížeč standard nepodoruje, takže jestli nechcete psát aplikaci jen pro validátor, musíte přistoupit na libůstky browserů. Platforem je ale hodně a neustále se mění, takže pokud si přejete, aby vaše aplikace přetrvala alespoň nejbližší upgrade prohlížečů, měli byste mít v sobě něco ze Sibyliných vloh. Práce webdesignera je k zbláznění, nejlepší by bylo udělat všechno ve flashi.

Jelikož nejsem sám, komu připadá divné, že by miliony webdesignerů měly pracovat se svými aplikacemi tak, aby byly funkční i pod platformami, které de facto nejsou pravými klienty webu, ale spíše parazity, protože ač se tak tváří, nepodporují jeho standardy, kdežto pár desítek či stovek programátorů, kteří ty nekompatibilní browsery produkují, se mohou dále předhánět v tom, kdo z nich vyrobí větší paskvil celému světu naschvál, vznikla na Internetu z několika ohnisek normalizační revoluce.

EBF17

Normalizátoři webu jsou mladí naivní snílkové, kteří věří, že by byl svět lepší, kdyby se výrobci prohlížečů shodli na jediném otevřeném (!) standardu, který by pak zajedno podporovali, a webdesigneři by volně tvořili a nastal by ráj na webu. Jedná se vlastně o spojení představ pooristů, brandistů i křižáků. Úlohu zvěstovatele nových pořádků přijal Jeffrey Zeldman, který celebruje A List Apart.

Čas přichází

Vývoj několika posledních let nám dává naději, že by v brzké době mohla nastat situace, kdy bude naprosto jedno, jaký používáte prohlížeč, protože všechny budou podporovat tytéž standardy alespoň v jejich minimální variantě. Podpora standardů je důležitá nejen pro browsery, ale i pro další user-agenty — například pro indexovací roboty, pro hlídače odkazů, pro čtečky obrazovek (pro slepce). Pokud tedy plánujete napsat QuarkINa a jste připraveni dodržovat standardy W3C, pak se, hoši, nemusíte bát, že by na vás webdesigneři při psaní svých aplikací nebrali ohledy.

Anketa

Jakým prohlížečem právě čtete tento článek?

Našli jste v článku chybu?