Jenže ten standard je hodně rozsáhlý a ne všechny prohlížeče (a hlavně všechny používané verze prohlížečů) podporují všechno. Viz web https://caniuse.com/
A ne každý standard je dokonalý, takže občas jsou nepokryté corner-cases (nebo prohlížeč standard úplně nesplňuje).
Prostě, šedivá je teorie, zelený strom praxe.
7. 12. 2023, 07:27 editováno autorem komentáře
A i věci, které nějak fungují, mohou být někdy pomalé nebo trhané.
Pamatuju si, jak jsem před lety řešil optimalizaci StickyTableHeaders. Ono při běžném použití to asi nebylo tak nutné, ale v případě mé obří tabulky jo. (Dnes naštěstí lze tuto knihovnu nahradit CSS a takovéto ladění odpadá.)
A nebo i u prostého CSS. Dělal jsem expanzi tabulky. Tuším, že na počítači to vypadalo OK, ale na telefonu to vypadalo, že tlačítko nereaguje (nebo že jsem se do něj netrefil), a měl jsem sám tendenci to mačkat podruhé. A možná jsem tam řešil i animaci (chtěl jsem zvýraznit, co po expanzi přibylo), tuším, že i tu bylo potřeba nějak upravit, aby byla použitelná na telefonu.
Ano, standard nemusí být dokonalý. Řešil jsem s jedním zákazníkem, že je v programu chyba. Já na to koukal a zjistil jsem, že program je správně, chyba je v dokumentaci. Ve standardu. Dokumentace pro celý svět. Tak jsem poukázal na to, že bychom měli opravit dokumentaci, načež mi tu dokumentaci zákazník omlátil o hlavu s tím, že dokumentace je svatá a mám chybu zavést do programu.
"mám chybu zavést do programu"
To vypada, jako ze nerozumis ani zakladum. Pokud se neco nejak chova, tak se ocekava, ze se !stejne! bude chovat vse.
Osobne sem rval na dodavatele, ktery jednu takovou "chybu" opravil, a prestaly kvuli tomu fungovat vsechny napojene aplikace, protoze vsechny s tou chybou pocitaly. Pekne jsem mu predestrel tenkrat cca 30M na jeho ucet na na upravy vseho toho, a behem hodiny byla chyba zpet.
Přesně tak. To zas vymyslel někdo, kdo tomu absolutně nerozumí. Jako jestli budou podporovat pouze chromium engine, tak to je amaterismus, nic jiného. Boj s verzema jasně chápu, ale pokud se bavíme o podpoře posledních verzí, tak zase není, co řešit.
Jestli chtějí zahodit podporu pro Quantum, tak to opravdu už nechápu dnešní uvažování...
Od dob "designed for MSIE x.y" jsme sice ušli pěkný kus cesty, ale stále to nefunguje tak, že uděláš web a on běží "ve všem" (pokud není naprosto primitivní webík). Každý prohlížeč podporuje trochu jiný set featur, občas se liší v nějakých corner-casech.
Takže v reálu je to jako to dělá ministerstvo - dáš si limit používanosti a co je nad tím, na to bereš ohled, v těch prohlížečích to testuješ. Jestli dva lidi používají deset let starou vykopávku, tak kvůli tomu si práci přidělávat nebudeš. Neznamená to, že web nebude fungovat vůbec, ale sem tam něco bude rozpadlé, protože ten prohližeč tu featuru prostě neumí.
7. 12. 2023, 07:20 editováno autorem komentáře
IMHO není ani tak důležité podporovat konkrétní prohlížeče
, jako spíš nestavět hned na každé extra-super-mega-moderní feature, kterou právě přinesl některý z těch velkých hráčů.
Stránky by prostě měly (byť s omezeními) fungovat na všem běžném.
(Ano, i tak, že když nějakou funkčnost nedostanou, tak se bez ní obejdou nebo si řeknou, co potřebují. Stránek, které potřebují CAPTCHA, ale já se o tom ani nedozvím, jsou stovky, tisíce...)
Pokud postavíte web na "extra-super-mega-moderní" feature, tak moc lidem nepojede. V okamžiku, kdy má featura rozumnou podporu, tak už dávno moderní není.
A když se mám rozhodovat, jestli použiju grid layout, nebo to budu prasit negativními marginy jako se to dělalo dřív, tak je to celkem jasné. Podobně flex gap podpora.
Mně mnohem víc vadí třeba vynucování moderních WYSIWYG textových editačních polí i tam, kam stačí napsat obyčejný neformátovaný text do formuláře, využívání různých řešení třetích stran (Google Docs...) i pro jednoduché formuláře, předpoklad, že když mi to funguje, tak to to funguje všem - a komu ne, tak je to jeho problém
.
Vadí mi bezdůvodné využívání plovoucích video oken třebas pro spuštění reklamního videa - a když to nefunguje, nenačte se obsah.
Vadí mi formuláře, které si na pozadí kontrolují správnost vyplnění a jinak nejdou odeslat. (Ulice Jana Nerudy
nebo Nerudova
? Číslo popisné vím, ale jaké je to orientační jsem se zapomněl zeptat... Telefonní číslo s mezerami nebo bez mezer? A proč je povinné, když není k ničemu potřeba?)
Vadí mi různé našeptávače, které i z vyplnění krátkého textu dělají dobrodružství s vybíráním náhodně vybraných podobných slov.
Vadí mi design předpokládající spouštění na středním mobilu s OLED displayem, orientovaný na výšku, který na Full HD šestibitovém TN displayi průměrného levného notebooku nejde rozumně přečíst.
Vadí mi skoroceloobrazockový formuláž souhlasu s cookies, kvůli kterému musím bádat, kterou komponentu třetí strany povolit, abych se dostal k obsahu. Vadí mi závislost na povolení cookies jen proto, aby bylo kam zapsat souhlas s povolením cookies.
A vadí mi, když tohle vše (nebo většina) je na webu, který používat nechci
, ale musím, protože tam mám povinnost zadat nějaké údaje.
Nikto nevytvara ziadne nechutne aplikacie. Vacsina modernych frameworkov ako React, Vue, Angular sa transpiluje do potrebneho 'low-level' JS (browserslist https://medium.com/@codingscenes/what-is-browserlist-in-package-json-2c3fa3c96d05). HTML taktiez netvorite rucne ale pouzivate nejaku komponentovu kniznicu. Takze prave tieto aplikacie obvykle funguju celkom dobre. Horsie je to s tym bordelom ohladom roznych CMS systemov ale to nie su z mojho pohladu webove aplikacie ale 'lepicom' poskladane kusky bordelu.
Abychom to otestovali v praxi, tak potřebujeme konkrétní prohlížeče, ve kterých to pustíme. K čemu je uživateli, že "by to mělo fungovat ". A tady je ten problém s Firefoxem - ať zvolíme sebemenší hranici marketshare, tak Firefox jí dřív nebo později propadne. Změnit zadání na 2 enginy taky nepomůže, když samostatně engine testovat nejde a ke všemu je Gecko nevhodné pro integraci do 3rd-party aplikací, takže další prohlížeče ani nejsou? (Fork celého Firefoxu nepočítám.)
A tady je ten problém s Firefoxem - ať zvolíme sebemenší hranici marketshare, tak Firefox jí dřív nebo později propadne.
Nebyl bych takový fatalista. Jsou určité náznaky, že se Firefox odrazil ode dna. Za poslední půlrok jeho tržní podíl posílil o 20 %. Je to snad první růst za posledních 10 let. Vidím to i kolem sebe, že se část lidí vrátila zpět. Jestli Google opravdu řízne do adblocků v Manifestv3, bude to další impulz k růstu.
Na Androidu by zase mohlo pomoct to, že od příštího týdne bude Firefox podporovat stovky rozšíření. Já se nemůžu dočkat toho, až budou moct nainstalovat Conset-O-Matic na odklikávání souhlasů s cookies jako na desktopu. To jsou hmatatelné výhody, alespoň pro jednotky procent uživatelů, které můžou pomoct udržet Firefox nad vodou.
7. 12. 2023, 17:17 editováno autorem komentáře
Z nuly se roste rychle :-) A teď vážně, rozšíření na Androidu dřív fungovala, ale pak je zařízli. A roky slibovali, že je vrátí, a slibovali a postupně uživatelé odpadávali. Uvidíme, jestli se jim podaří je znovu oslovit. Nejhorší je, že mě odnaučili rozšíření používat, takže to pro mě už není důvod se vrátit.
Ten trh je tak obrovský, že ani z nuly se rychle a jednoduše neroste. Jen chytrých telefonů je celosvětově asi 7 miliard + tablety + osobní počítače. Zvednout i tříprocentní podíl o 20 % znamená přesvědčit vysoké desítky milionů uživatelů, že nemají používat výchozí prohlížeč, ale nainstalovat si Firefox.
Jinak nevím, jak ta rozšíření dřív ve Firefoxu pro Android fungovala, ale oni je do určité míry podporovali vždy, akorát jich bylo oficiálně asi jen 10. Teď se to má rozšířit na 400 a do budoucna na víc. Aktuálně žádný jiný dostatečně relevantní mobilní prohlížeč takto široce rozšíření nepodporuje.
Dřív to fungovalo jako na desktopu. Tj. web Mozilly se seznamem všech rozšíření a ty jsi nainstaloval kterékoli (nicméně spousta byla na mobilu rozdrbaná - nepočítala s ním). Pak byl omezený seznam asi 10, ale já nějakou dobu kvůli firemnímu systému používal fork, kde jich bylo asi +20, včetně toho jednoho, které jsem potřeboval (zvolení jiného browser stringu, aby mi systém nezobrazil nefunkční verzi pro mobily - nefunkční, že jsme ji neimplementovali, ne chyba prohlížeče). +400 mě ale nezajímá, když tam nebude to jedno, které potřebuju (ale samozřejmě je větší pravděpodobnost, že tam bude). Nicméně to většina lidí neví, ale i stávající Firefox pro Android umí libovolný seznam rozšíření - ale komplikovaně přes osobní seznam oblíbených naklikaný na webu a někde v internals vyměnit hash předpřipraveného seznamu za ten můj.
I když to tak nevypadá, 2 % je docela dost. To totiž v praxi znamená cca 5 % uživatelů. Chtěl bych vidět management jakékoliv firmy, za kterým bych přišel a řekl bych, že sorry, ale obrat teď bude o 5 % nižší protože se nám prohlížeče s méně než 2 % zastoupením nechce podporovat. To bych letěl hodně rychle.
A u státu je to na pováženou ještě víc.
2% jsou 2%, žádných 5%
Když za managementem přijdete a řeknete "obrat bude o 2% nižší, ale ušetříme 30% nákladů", tak nepoletíte, ale dostanete hezký bonus. Podobné cutoffy jsou naprosto běžné i u komerčních webů, protože od určité hranice se podpora fosilních prohlížečů prostě nevyplatí. Typicky je to ještě tak, že jsou hranice dvě, jedna, nad kterou to musí fungovat bezvadně, druhá, kde mohou být různé glitche a menší problémy, ale web je ještě použitelný. No a teprve u procenta uživatelů pod ní mohou být nějaké zásadnější problémy.
7. 12. 2023, 10:15 editováno autorem komentáře
Ano, děláte přesně stejně myšlenkovou chybu jako autor toho ustanovení. Suma prohlížečů s podílem menším než 2 % trhu dohromady dělá podstatně více než 2 % celkem. A ta podpora zase tolik fakt nestojí jak jistě víte, pokud se frontendem zabýváte. Spíš to celé stanovoval diletant uvažující stejně nesmyslně jako vy.
Je fakt tak těžké to pochopit?
A ta podpora zase tolik fakt nestojí jak jistě víte, pokud se frontendem zabýváte.
Vůbec ne, jen kodér musí tu site otevírat a ladit 2x. Potom ji 2x otevře tester. Potom ji 2x otevře někdo kdo schvaluje release (např. produkťák). Nedej bože že se to bude v FF chovat divně a vracet to bude až produkťák...
V lepším případě jste zdvojil práci celkem třem lidem. Ale to bude asi zdarma ;-)
Dobře. A teď si spočítejte, kolik je 5 % i jen ze stomilionového obratu což je na velký e-shop pár korun. Fakt vás to bude stát během roku pět set tisíc pokud máte i jen 10 % marži což je zase na většinu segmentů (kromě několika) dost málo? Tak to bych rád viděl...
A jestli u vás ano a platíte vývojáře takhle, dejte vědět, pro koho pracujete, jdu k vám.
Fakt ten vývoj a testování stojí tolik nebo se to prostě managerům nechtělo řešit? Podle mé zkušenosti totiž velmi často platí to druhé. Tím víc, čím je firma větší korporát a jim to vlastně může být jedno. Naopak menší firmy to vždy řešily podstatně víc protože se jakýkoliv výpadek obratu pochopitelně podstatně výrazněji projevil v cash-flow.
Ostatně dodatečný vývoj a testování, kterého zase tolik nebude, zcela určitě nestojí tolik, aby to stálo 2 500 000 USD, tzn. cca 55 000 000 CZK ročně na nákladech a to jsem ještě s tou marží dost skromný.
Jako ano, viděl bych to spíš jinak: vývoj a testování by to zaplatilo ale cash-flow je dostatečné na to, aby mohl být management dostatečně liný a neřešit to. Aneb argumentace davem: 95 % zákazníkům to stačí a zbytek ať neotravuje. A akcionářům/majiteli to říkat nebudeme, zbytečné je s tím zatěžovat.
7. 12. 2023, 12:40 editováno autorem komentáře
Marže není čistý zisk. Třeba Alza má čistou marži asi 3% z obratu a to je fakt dobrá.
Pak chybně předpokládáte, že pokud prohlížeč člověka nepodporujete, tak vůbec nenakoupí. Nakoupí, akorát to třeba nebude úplně tip-ťop. Nebo použije podporovaný prohlížeč.
Dále je tu otázka nákladů přiležitosti. Kdybyste úsilí věnované do podpory minoritních prohlížečů věnoval jinam, třeba by to přineslo větší zvýšení obratu, než podpora těch prohlížečů. Ono to není jen o prohlížečích, obecně velké (větší) firmy nepodporují okrajové části trhu.
Je samozřejmě možné, že máte pravdu. V tom případě GRATULUJI! Objevil jste díru na trhu a máte skvělou příležitost zbohatnout tím, že váš e-shop bude podporovat i minoritní prohlížeče. Těším se, až sem dáte link na ten svůj skvěly e-shop, kde nakoupí opravdu každý :-)
7. 12. 2023, 13:03 editováno autorem komentáře
> Pak chybně předpokládáte, že pokud prohlížeč člověka nepodporujete, tak vůbec nenakoupí.
Koneckonců každý velký OS má svůj výchozí prohlížeč a i dost linuxových dister má něco jiného než Firefox. Takže i když si člověk nainstaluje Firefox , tak má k dispozici ještě funkční prohlížeč.
7. 12. 2023, 14:54 editováno autorem komentáře
Z mojho pohladu mi pride logicke postavit to nie na percentach ale mat urcite minimalne mnoztvo podporovanych prehliadacov bez ohladu na percenta.
Uz len z pohladu toho aby bol zabezpecena funkcnost/dostupnost.
Zoberiem si najpouzivanejsie prehliadace, zaratam do toho pouzivany engine a podporovane platformy danym prehliadacom a vybral by som si tak aby som mal minimalne 2, co najviac nezavisle prehliadace.
Nieco sa stane s jednym prehliadacom, tak mam v zalohe dalsi, ktory v pripade potreby viem pouzit.
Edge je len Chrome s inou ikonkou. Safari je problematickejší než Firefox, ktorý je prakticky pred smrťou... stačí sa pozrieť na vývojárov VueJS, Svelte či Vite... bežne v commitoch nájdeš perličky:
https://github.com/sveltejs/kit/pull/5583/commits/81255cb0dec5896dc49bef4cfb4f66241a296526
"i hate safari with the fire of a thousand suns"
Takže vážne moc tu výber nie je.... reálne máme tu 3 ako tak žijúce browser enginy, z toho Firefox je na pokraji smrti s tým market share, a Safari je buggy. Čo nám teda zostáva? Chrome a prípadne Chrome prezlečený v inom kabáte (Edge, Vivaldi, etc.). Skutočne tu toho moc na výber nie je.
Protože ty "standardy" jsou už šílený bordel a nikdo nenaprogramuje engine (HTML, CSS, JS) od nuly. Safari je nové IE v tom, že nová verze není každé 2 až 4 týdny jako ostatní, ale jednou za rok s novým OS. Takže pokud tam je chyba (např. výkon ve WebGL 2), tak tam ta chyba je celej zk.venej rok. Což je na navázaný business konec nebo se musí kód předělat. Jinak Edge/Vivaldi/Opera nejsou jen Chrome s jinou ikonou. Přidávají funkce, vylepšují GUI a přidávají optimalizace. Nicméně díky vlastnostem opensource je Google pak merguje do Chrome, proto pro většinu lidí nepřekročí rozdíl hranici, aby přešli na alternativnu :-)
7. 12. 2023, 20:30 editováno autorem komentáře
Podle ceho soudite ze "Firefox je prakticky pred smrti?" Pokud vim tak ma radove vetsi market share nez Vivaldi/Opera/Brave.
Staci si projit mozilla.dev.platform (https://groups.google.com/a/mozilla.org/g/dev-platform) nebo se podivat na pocty comitu (https://hg.mozilla.org/mozilla-central/).
Problémy s kompatibilitou jsou plody všelijakých pitomých webdesignérských
frameworků, redakčních systémů a podobných tvořítek obludností, kterými
rádobywebmasteři (web kiddies) generují neskutečně odporné a nepřehledné
HTML-kódy zasviněné spoustou zbytečných javaskriptů a CSS. Zvlášt když jim to
umožňuje HTML5, CSS3 ap. - nechtěl bych dělat implementaci ničeho z toho a
dokonce se domnívám, že některé definice si mohou navzájem odporovat, takže pak
není divu, že se každý prohlížeč chová trochu jinak. V jednoduchosti je síla, jenže
když už byly zmíněné džiny vypuštěny z lahve, těžko se bránit. I tak, napíšu-li něco
v HTML5 a CSS3 textovým editorem (vi ap.), téměř jistě nebudu mít problém s tím,
že v jednom browseru to jde a jiném ne. Samozřejmě chápu, že větší služby se tak
dělat nedají, ale nabubřelost tvořidel by měla mít nějaké meze, aby neumožňovala
příliš velkou podporu ztřeštěných nápadů těch, kteří tvoří obsahy webů a přitom vědí
prd o tom, co vlastně jejich "pokročilé" nástroje páchají na svém výstupu.
Pletes se, da se takhel napsat naprosto cokoli a bude to fungovat prakticky v cemkoli, dokonce bez ohledu na stari, jenze ....
Potrebujes na to cloveka, ktery vi co dela, coz neplati o tech milionech patlalu. Ti totiz ani netusi, co jim ze vsemoznych frejmworku ve finale vyleze.
A netyce se to zdaleka jen webu jako takoveho. Nekolikrat jsem si pro sebe upravoval ebooky, ktere se rozpadaly na kazdem zarizeni jinak ... a vysledek? Zredukoval sem velikost v nekterych pripadech i na 1/3 proste tim, ze jsem z toho vyhodil tuny svinstva, aniz by to melo nejak zasadni vliv na puvodni formatovani, zato to najednou bez problemu funguje vsude.
Pro mě je podstatné, že FF (aspoň zatím) vendor OS balíčkuje (i do výběhového
CentOS 7 jsou průběžně portovány poměrně aktuální verze), kdežto třeba
Chrome bych asi musel instalovat a updatovat sám, nehledě na to, že je mnohem
obludnější (víc procesů, víc paměti, víc místa na disku). Zatím mě nezviklala ani
smutná zkušenost, kdy na konferenci CZ.NIC IT21 sice dávali účastníkům FIDO-klíče
umožňující 2F-autentizaci (třeba pro MojeID), ale pro FF nebyl potřebný plugin,
kdežto pro Chrome ano. Co si vymýšlí vláda USA, je mi celkem ukradené, jejich
weby nesleduji. Jak již někdo podotkl, nekompatibilita obvykle není fatální a někdy
je vymezení tzv. podporovaných browserů jen alibismus. Třeba ČNB má své
i-bankovnictví, ke kterému sice oficiálně podporuje jen Chrome a Edge (příznačné pro
tuto organizaci, která je dle zákona sice nezávislá na vládě, ale na M$ značně,
ještě nedávno deklarovali kompatibilitu jen s MSIE, i když už dávno nepodporovaný),
ale s FF to chodí obstojně. Občas sice vzácněji některé weby organizací, které si je
nechají udělat "na klíč" (typicky restaurace, hotely, autoservisy ap.), ukazují srandovně
se překrývající texty, ale po vypnutí stylů se to obvykle dá přečíst, takže to pro mě není
důvod pro změnu browseru (tu jsem udělal naposled asi před 20 lety při přechodu
z Netscape Navigatoru v rámci přesunu desktopu z HP-UX na GNU/Linux).
Zatím mě nezviklala ani smutná zkušenost, kdy na konferenci CZ.NIC IT21 sice dávali účastníkům FIDO-klíčeumožňující 2F-autentizaci (třeba pro MojeID), ale pro FF nebyl potřebný plugin, kdežto pro Chrome ano.
Na tohle snad nikdy nebyl potřeba plugin, ne? Mám ten jejich hardwarový klíč od roku 2020 a ve Firefoxu mi vždy fungoval. Jen donedávna nešlo přihlášení na úrovni "vysoká", protože Firefox nepodporoval hardwarový klíč s PINem.
na konferenci CZ.NIC IT21 sice dávali účastníkům FIDO-klíče umožňující 2F-autentizaci (třeba pro MojeID), ale pro FF nebyl potřebný plugin, kdežto pro Chrome ano
FIDO2 používám ve firefoxu i v chromiu a žádný plugin na to není potřeba. Jediný problém byl dřív v tom, že si firefox neuměl říct o PIN, pokud byl potřeba, ale teď už to umějí i ESR verze.