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.