Disassembler

Artificial intelligence is no match for natural stupidity.
09duben2013

Nemám rád Firefox


Nikdy jsem nebyl hodná ovečka, naslouchající názoru většiny. Vždycky jsem se snažil prosadit si svou a dělat věci tak jak se líbí a hodí mně, protože nějaká většina mi může milostivě políbit pozadí. Proto třeba nemám rád Apple, nemám rád Facebook a nečetl jsem Babičku. Taky jsem nikdy nechápal co je tak úžasného na Firefoxu, že ho každá správná ovce musí mít, aby se mohla povyšovat a tvrdit, že „IE suxxx“ aniž by vůbec věděla proč. A to nejsem stavu pochopit dodnes.

CSS3


Nemám rád Firefox

<rant type="flamestarter">

Říká se, že noční můrou každého HTML kodéra je optimalizace pro IE. Tohle možná platilo pro IE6 a IE7. Já mám vždy největší problémy právě s Firefoxem. Tak třeba dnes. Mám jednoduché webové rozhraní. 700px šířka body pomocí margin: auto centrováno na střed. V něm h1, nav a table, vše s width: 100%. U všech tří elementů jsou okraje, různě nastavené tak, aby byl kolem celé stránky jednoduchý rámeček - tj. h1 má horní, levý a pravý okraj, nav levý a pravý a table levý, pravý a spodní. Protože tabulka má border-collapse: collapse, ve výchozím nastavení dělá okraj ostudu. Přihnu tedy ostatní dva elementy a nastavím jim box-sizing: border-box, aby mi okraj neuskakoval. V Opeře, Chrome i IE10 vypadá vše v pořádku. Firefox se svým renderovacím jádrem Gecko CSS3 vlastnost box-sizing ignoruje. Proč proboha? Není to tak dávno, co si honili triko, jak jsou s HTML5 a CSS3 daleko. Ale Gecko box-sizing umí. Jen se mu musí říkat -moz-box-sizing, protože milá Mozilla považuje svoji implementaci stále za experimentální, a experimentální CSS3 a XUL-related vlastnosti prefixuje svým -moz-. Nedělá to ale samozřejmě u všech CSS3 vlastností, ale jen u vybraných. Jak pohodlné. A ano, vím, že WebKit to má taky tak, ale jednak je WebKit je od Apple, takže tam se s okázalým ignorováním čehokoliv počítá implicitně a jednak Chrome rozumí i neprefixovanému „experimentálnímu“ parametru. Nemůžu se dočkat, až Chrome s Operou přeběhnou na Blink a budou dělat věci tak, aby dávaly smysl.

A tak dále


HTML5 přišlo s hromadou fíčur. Lokální úložiště, plátno, in-place editace obsahu, hromada nových tagů a atributů a dalších užitečných věcí. Ale zkuste si ve Firefoxu zobrazit třeba <input type=”slider”>. Firefox jej neumí. Do verze 18 měl šílené problémy se SVG a spotřeboval obludné množství systémových prostředků při práci s webovými fonty. Co ale verze 18 opravila, to zase jinde rozbila, protože nový IonMonkey JIT compiler zpomalil JavaScript a znefunkčnil některé skripty psané v jQuery a Mootools. Překvapivě proto, že i JavaScript museli tvůrci optimalizovat explicitně pro Firefox. Taky mě vytáčí nesprávné zobrazování elementů při zoomování, kdy některé elementy (checkboxy a radiobuttony) pro jistotu nezoomují vůbec. A to se prosím tenhle bug (ne)řeší v podstatě už od 8.4.1999! Jelikož jsem nucen Firefox používat v zaměstnání, téměř každodenně se setkávám s problémy s dlouhými URL při připojení přes proxy servery, kdy Firefox prostě odmítá požadavek odeslat. Jistá část viny bude téměř určitě i na straně proxy serveru, nicméně Chrome i Opera stejný URI dokážou vyžádat úspěšně. A v neposlední řadě skřípu zuby u zamrzání, zejména při vyhledávání řetězců v dlouhých tabulkách (tisíce řádků). A to raději ani nezačínám na téma bezpečnosti.

Pluginy


Firefox je ve výchozím stavu internetový prohlížeč. To by samozřejmě bylo OK. Do té doby, než se na scéně vyskytne jiný prohlížeč, který integruje i mailového klienta, torrent klienta, vývojové a debugovací prostředí, pohybové příkazy myší a ovládání hlasem, přičemž je téměř do poslední ikonky a lišty uživatelsky upravitelný, s vyšším měřitelným výkonem JS engine, načítání i vykreslování a nižšími systémovými nároky. Pak jaksi přestává být relevantní, že Franta z prasečáku povídal, že Fajrfox je kůl, a musí být kůl, protože Franta z prasečáku počítačům rozumí, když umí nastavit aji Outlůk. Ale pro mě za mě si stáhněte svých patnáct pluginů, které potřebujete k tomu, aby se ta hrůza vůbec dala používat, když myslíte, že je to v pořádku. Drtivou většinu pluginů vyvíjí a udržuje samozřejmě někdo úplně jiný než vývojáři prohlížeče, takže pak není divu, že každý plugin vypadá jinak, chová se jinak, případně s něčím koliduje. A že v nové verzi Firefoxu změní API, takže polovina pluginů nebude několik dní fungovat? Taky váš problém. A ano, opět vím, že Chrome to má podobně, ale ten má alespoň pořádný sandbox. Nehledě na to, že Firefox po vzoru Chrome naprosto nesmyslně sází čísla verzí, takže vlastně ani nevíte, jestli v nové major verzi najdete hromadu nových featur nebo jestli jen opravili něco, co před týdnem rozbili a nikomu o tom neřekli.

Rozejděte se


Na přelomu milénia, kdy webu kraloval IE5 a IE6, oba děravé jako řešeta, měla alternativa smysl, protože přidanou hodnotou a důvodem k přechodu, byla právě rychlost, bezpečnost a nulové pořizovací náklady. To už dnes neplatí zdaleka v takové míře jako tenkrát, protože prohlížeče jsou bezpečné všechny a s rychlostí na tom také nejsou tak hrozně, aby se stala hlavním atributem při propagaci. I když dostatečně neznalému a naivnímu člověku lze bohužel namluvit cokoliv. Třeba i to, že Firefox je spolehlivý, rychlý a bezpečný. Mozilla prostě usnula na vavřínech, protože kolem roku 2004, kdy vyšla první verze FF a díky široké uživatelské základně předchozích produktů (Mozilla Suite) byla přijata veskrze kladně, se jednalo o skutečně kvalitní a odladěný browser. Navíc zdarma a bez reklam. Jenže od té doby se vlastně nic zásadního nezměnilo. Jen svět okolo se posunul zas o kus dál, zanechav pandu červenou viset na stromě s otevřenou tlamou. A ta se teď honem snaží zase všechno dohonit. Svému úspěchu tedy v posledních letech vděčí hlavně dobrému startu z minulého desetiletí a vynikající masáži ovcí marketingové strategii. Pokud můžete, sáhněte raději po Opeře nebo Chrome. Sakra, i Internet Explorer 9 a 10 jsou zatraceně použitelné a dost možná i bezpečnější, když jim trochu zatnete tipec a nenarvete do nich třicet toolbarů a ActiveX pluginů.

</rant>