Hlavní navigace

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

Martin Kopta 16. 5. 2001

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.

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?

18. 5. 2001 21:01

Martin Kopta (neregistrovaný)
V tomhle případě zaujímám brandistický postoj: ALT je tam kvůliu slepcům (především), kvůli vypnutejm obrázkům a textovejm browserům. Pokud nynější SW nezvládá ALT="", budu psát ALT=" ", protože mi v tomhle pripade jde vic o lidi než o standardy. Aby to v MSIE neházelo tooltip, zachovám se jako křižák a zapíšu to jako ALT=" " TITLE="". Nejkrásnější na tom je, že jsem se nezpronevěřil ani svým normalizačním zásadám.

BTW: Koskovy formuláře pro…

18. 5. 2001 2:13

Jerry III (neregistrovaný)
Podle me ignorovani prazdnych retezcu je chyba programu, nejen ze muzu pouzit neco na styl variantu a ukladat jak typ tak hodnotu a pak testovat typ na Null ale i pres ukazatele to jde, if( pszAlt != 0 ) je totiz uplne neco jineho nez if( *pszAlt != 0 ) ... nemluve o tom ze to druhy padne pokud tam ALT nebude vubec ... A dalsi vec je specifikace [X]HTML ktery rika ze prazdnej atribut je definovanej, akorat je prazdnej ...
DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: Analýza letáků: Na co lákají do prodejen?

Analýza letáků: Na co lákají do prodejen?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Naučí vás péct kváskový chléb bez lepku i s lepkem

Naučí vás péct kváskový chléb bez lepku i s lepkem

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

120na80.cz: 5 poporodních problémů a jejich řešení

5 poporodních problémů a jejich řešení

Měšec.cz: Platby do zahraničí: pozor na tučné poplatky

Platby do zahraničí: pozor na tučné poplatky

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Pravda o přibírání na zimu

Pravda o přibírání na zimu