Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: robotron 01. 04. 2017, 01:52:11
-
Zkusim odpovedet na par poznamek k webum, ktere bez JS nezobrazi nic, nebo aspon nic rozumneho, co bylo zapocato ponekud OT ve vlakne "Existuji v CR startupy na urovni?". Pravdepodobnost mlaceni prazdne slamy je vysoka, *ale* tak nejak doufam, ze si to treba precte zatim jeste ne uplne rozhodnuty mlamoj ci dite a mozna pak bude o par (debilnich) webu min.
Argument: JS umozni uspornou a rychlou vymenu kusu DOM stromu. OK, toto nezpochybnuju. Zpochybnuju ovsem realnou potrebu delat takovy veci oproti prostredkum, ktere nabizelo drevni (a nijak zvlast promysleny) HTTP+HTML v dobach <2000. U webu, kde je celkem prd a deset vet, se nic neusetri. U webu nabitejch obsahem -- bud nactu vsechno a #odkazuju (viz treba normy W3C), nebo mohu postupovat jako u knih prevedenejch latex2html (nebo tth, nebo zkratka podobnym systemem). Proc by melo vadit, ze se na kazdy tuknuti otevre jina (malinka, 1..4KB) stranka?
Samozrejme netvrdim, ze weby jako webmail, mapy (+ pripadne diskutabilne treba e-shop nebo jizdni rady) se bez Turingovsky uplnejch fci na strane klienta obejdou. Ale pro vetsinu pouziti to potreba neni. Chci se neco docist, videt fotku, ukazku, rozcestnik jinam. JS fce na klientsky strane mi v tom nejen nepomahaj, ale zhusta skodej. Podobne se da rict i pro prehnany radoby-responzivni (fskutecnosti domrveny) stylovani.
Proc si myslim, ze je to blbe?
Klasickej hypertext bez vlozeneho SW je pomerne predpovidatelna struktura. Da se transformovat, parsovat, cacheovat, indexovat, zobrazit ruznejma zpusobama. Pokud tam nahrnete JS, kterej vicemene supluje puvodni ucel Hyper-Text-Transferu vlastnima fcema, pak vznika bordel nekde na puli cesty mezi puvodnim ucelem a vlastne takovym vzdalenym GUI (na zpusob AJAXu). Vetsinou ne proto, ze by to uzivatel chtel, ale proto, ze tvurce se snazi vnutit prijemci svoji jedinou predstavu, jak ma ten web vypadat, co se ma po kliknuti prekreslit a co ne a jak se to ma chovat. To je CHYBA. Stejna chyba, jako kdyz se tvurce rozhoduje, od kolika pixelu ci jinejch indikatoru zacina mobilni verze webu a kdyz si tvurce stupidne mysli, ze si dokaze predstavit variabilitu uzivatelu, jejich HW, SW a zdravotnich specifik, navyku a potreb a snazi se jim nastylovat neco, co ve skutecnosti funguje (vyrazne!) hur, nez kdyby tam bylo praveky HTML1.0 a nejaky implicitni chovani prohlizece, maximalne doplneny fci zvetsi/zmensi.
Pristup, kdy klient-JS vymejsli svoje cesty, jak aktualizovat DOM (a proc, sakra, v ty chvili nechat hnit 90% ty puvodni stranky? Neni ona nahodou spis blbe vymyslena? User uz je retard, ze nezna fci "zpet"?) je podle me hloupe na puli cesty mezi tupym klasickym hypertextem a vzdalenym GUI. Podobne blbe to doplnuje tragika nekreativnich pijaku kaficka s roznozenou morskou pannou, kteri maji urputnou potrebu vnutit takovymu webu vsechny stylovy detaily vcetne fontu a hektaru bilyho mista bez niceho a megapixlovejch fotek bez obsahu.
Misto toho to GUI uz dotahnete aspon do konce, napiste si jedinej spravnej JS framework, muze se jmenovat X11.js nebo VNC.js a uz interagujte s uzivatelem jen pres vzdaleny terminal... priblizite se tak celkem funkcnimu modelu, kterej pouzivaly napriklad terminaly Minitel, jazyk NAPLPS, BBS Workgroup a podobne. Jo, chodilo to, v pohode -- ale ma to i nevyhody.
A ano, banku jsem si vybiral i s ohledem na bezproblemovou funkcnost v podivnejch prohlizecich, pod Linuxem, bez nutnosti instalovat podezrely softy. Solim jim kilo mesicne po dobu cca 13 let. Kdyz hledam nejaky prumyslovy zbozi a web je tak dementni, jako web Techloopu, tak nad tim nelamentuju a nezkoumam, jak to rozchodit, a behem cca sekundy uz koukam na konkurenci. (Samozrejme, jsou obcas speky, ktery dodava 1-2 lidi na Zemekouli a nekdy je tezky se k nim dostat, to pak prichazi na radu kdejaky laborovani, obnasejici treba i archive.org, faxy, postu,... ale to se netyka veci, kde je aspon minimalni konkurence.)
A nakonec: taky je vtipna argumentace 1% uzivatelu. Co kdyz je znacna cast z tohohle 1% pro vas vyznamna? Nedavno tu nekdo lamentoval nad pomalym netem v cely Australii. V Cine a Tchaj-wanu je to asi jeste horsi. Brazilie je pomerne velka a nesmirne rostouci zeme a je znamo, ze tam coby pocitace a mobily pouzivaj strasnej doslova odpadovej, zastaralej a vyslouzilej srot. Tak pokud se nekomu vyplati mit kvuli efektnim zhasinacim pseudo-GUI picovinkam web nedostupnej pro takovyhle potencialne zajimavy lidi, tak je dle meho tupcem.
-
Je docela hloupé, že po tolika letech ve W3C nevymysleli něco jako <a href="..." target="#prvek_html">.
Ale jinak souhlas, že je zbytečné cpát javascript do statických čistě textových webů. Mám konspirační pocit, že tam je hlavně kvůli reklamám.
Něco jiného jsou grafické / mapové aplikace, případně databázové aplikace, které nějakou interaktivní grafiku obsahují.
Pokud jde o formulářové aplikace, tam asi javascript nahrazuje framesety a iframy, protože ty jsou fuj (narozdíl od javascriptu?). Speciální případ je interaktivní formulář, kde zadání jednoho prvku ovlivní následující prvky.
-
Vy vůbec netušíte, pánové. To si opravdu nedokážete představit pod JS cokoliv jiného, než nějakou tupou náhradu iframů? To byl hit v roce 199x... A přesně tam někde jste zamrzli. http://html5index.org.
No a k těm kecům na začátku jsem chtěl ještě něco dodat, ale pak si říkám: "má to smysl"? No nemá, kurva, nemá. Protože všechno bylo vysvětleno už v minulém vlákně a od lidí, kteří tuhle práci opravdu dělají a ne že jenom v serverovně přemýtají, "jak by ten web dělali, kdyby to uměli". Tak sbohem.
-
Je docela hloupé, že po tolika letech ve W3C nevymysleli něco jako <a href="..." target="#prvek_html">.
Protože by to bylo celkem k ničemu. Ne vždycky je oblast co chceš refreshnout jedna. Ne vždycky je předem daná (= závisí na odesílaných datech nebo stavu aplikace). Potřebuješ nějak reagovat na chyby (jak technické typu "nelze se spojit", tak aplikační).
-
Prohlížeč se to jmenuje jen z historických důvodů, jinak jde o distribuovaný operační systém. Naopak, weby by vůbec neměly obsahovat HTML a měly by být vytvářeny výhradně v JS. Pro účely strojů a programátorů by měly mít svou verzi webu v XML předzpracovanou pro účely vyhledávání a strojového zpracování.
Jde o to, že stránky by měly být plnohodnotné aplikace a ne hypertext, nakonec tyto obě formy mohou žít pohodlně vedle sebe.
Ještě lepší by bylo, kdyby prohlížeč obsahoval standardizované běhové prostředí, nad kterým by se daly vytvořit překladače z různých jazyků a nebyli bychom omezeni jen na javascript. Toto běhové prostředí by umělo automaticky vygenerovat potřebný XML výstup pro potřeby strojů a programátorů a AI. V podstatě k sandboxovanému JVM přidat prohlížeč.
S rozvojem AI se stejně bude muset internet sandboxovat tak, aby AI neměla přístup ke všem informacím, ale jenom k těm, které ji poskytneme. To by asi nefungovalo, proto pro AI bude třeba vytvořit "Bibli", aby se dokázala orientovat v tom, co je dobré a co zlé z morálního a ne jen čistě utilitárního hlediska. To pro naše bezpečí.
Ale v realitě máme jen javascript, pomocí kterého je toto možno zrealizovat, a tak to asi i zůstane.
-
Vy vůbec netušíte, pánové. To si opravdu nedokážete představit pod JS cokoliv jiného, než nějakou tupou náhradu iframů? To byl hit v roce 199x... A přesně tam někde jste zamrzli. http://html5index.org.
No a k těm kecům na začátku jsem chtěl ještě něco dodat, ale pak si říkám: "má to smysl"? No nemá, kurva, nemá. Protože všechno bylo vysvětleno už v minulém vlákně a od lidí, kteří tuhle práci opravdu dělají a ne že jenom v serverovně přemýtají, "jak by ten web dělali, kdyby to uměli". Tak sbohem.
Teď možná nechápu, zda jsi pro anebo proti toto předělávat na JS-based řešení. Ta odkazovaná stránka (velmi užitečná btw) je bez JS, s framy, s fallbackem na html single (vyzkoušeno v lynxu), načítá se "hned" a udělaná je asi někým, kdo o JS ví hodně, takže za mě ++.
-
Dlouhé a o ničem.
Web je už aplikační platforma, ne jen vystavka prezentací a slinkovaného textu.
Díky JS na frontendu je možné mít i obyčejnou prezentaci rychlou, omezit load na server pomocí cachování (service workers dokonce cachuji i mezi běhy), udělat pořádně responzivitu a také plně využít motion design který JE velmi oblíbený pokud je udělaný správně.
Idea vnořených iframu je myslenka stara 20 let, dnes tady uz nema co delat.
Co sem si tak všim, tak na js rich web nadavaj ruzní alobalový čepicáři a lenoši který se nechtěj učit nic novýho.
A nebojte, reklamky vedi koho prcate a jak ho mate velkyho i bez js. Internetovy provideři si zhusta vylepšují rozpocty prodavanim vasi historie.
-
Řešením by bylo, kdyby každý prohlížeč podporoval WPF a .NET. Nebo něco obdobného, ale pořádného. Protože to co dnes vidím s těma "aplikacema" v JS, to vypadá jak venezuelský supermarket.
-
Řešením by bylo, kdyby každý prohlížeč podporoval WPF a .NET. Nebo něco obdobného, ale pořádného. Protože to co dnes vidím s těma "aplikacema" v JS, to vypadá jak venezuelský supermarket.
co konkrétně WPF umí navíc z pohledu uživatele?
-
Řešením by bylo, kdyby každý prohlížeč podporoval WPF a .NET. Nebo něco obdobného, ale pořádného. Protože to co dnes vidím s těma "aplikacema" v JS, to vypadá jak venezuelský supermarket.
MS sa uz o to snazil cez Silverlight co bolo vpodstate orezane WPF, ale moc im to nevyslo.
Řešením by bylo, kdyby každý prohlížeč podporoval WPF a .NET. Nebo něco obdobného, ale pořádného. Protože to co dnes vidím s těma "aplikacema" v JS, to vypadá jak venezuelský supermarket.
co konkrétně WPF umí navíc z pohledu uživatele?
No hlavne to funguje... skus si spravit v Reacte editovatelny datagrid so 100000 zaznamami vo WPF to mas raz dva hotove a bezi to ako hodinky v Reacte musis riesit nejake nizkourovnove optimalizacie uz aj pri 5000 polozkach.
-
MS sa uz o to snazil cez Silverlight co bolo vpodstate orezane WPF, ale moc im to nevyslo.
Byl to špatný kompromis. Dovedeno do důsledků, co to je za hloupý nápad spouštět aplikace v prohlížeči? Prohlížeč má sloužit k prohlížení webu, ne ke spouštění programů.
Když půjdeme dnešní "moderní" cestou, tak za pět let se budou apky spouštět v Telnetu a tady se bude vykřikovat, jaké to je úžasné a že se nemusí nic instalovat.
-
Vy vůbec netušíte, pánové. To si opravdu nedokážete představit pod JS cokoliv jiného, než nějakou tupou náhradu iframů? To byl hit v roce 199x... A přesně tam někde jste zamrzli. http://html5index.org.
No a k těm kecům na začátku jsem chtěl ještě něco dodat, ale pak si říkám: "má to smysl"? No nemá, kurva, nemá. Protože všechno bylo vysvětleno už v minulém vlákně a od lidí, kteří tuhle práci opravdu dělají a ne že jenom v serverovně přemýtají, "jak by ten web dělali, kdyby to uměli". Tak sbohem.
+1
Lze delat stranky bez JS, ale aktualne to nema zadny smysl. Klient bude chtit SPA (ostatne proc by nechtel - pri spravnem pouziti je to stejne rychle na nacteni jako bez SPA, a oproti ne-SPA je to mnohem rychlejsi pri prechazeni mezi podstrankami a pri jakyhkoliv dynamickych akcich, podstatne jednodussi backend take neni zanedbatelna vec, v neposledni rade take mensi naroky na zelezo pro BE), grafik/koder bude chtit pouzivat aktualni CSS a i on by pravdepodobne nebyl nadseny ze non-JS reseni, protoze tak vypadnou vsechny vstupni komponenty, ktere vetsinou nelze bez JS vytvorit (navic ty nativni je vetsinou obtizne, casto nemozne, stylovat, takze se tim nahrazuji i ty nativni). A kdyz mene nez 1% (to navic asi zahrnuje i roboty, takze v realu je cislo pravdepodobne hluboko pod 1%) uzivatelu ma zakazany JS, tak se neni o cem rozhodovat (prohlizec nepodporujici JS je hnijici vykopavka, pro ty se nevyviji nic).
Taky si prosim uvedomte, ze ty "nabobtnale" JS knihovny co do velikosti strci casto do kapsy par obrazku. O nejakem videu na uvodni strance snad ani nemusim mluvit, to bude vetsi nez vsechny skripty a obrazky na vsech podstrankach. Take, na rozdil od obrazku, ktere jsou na kazde strance jine, ty skripty se tahaji pouze jednou a pak jsou nacachovane => tydny se klidne nic ohledne JS nesosa, za to obrazky u novinek budou vzdy nove - kazdy den s dalsimi clanky a novinkami.
A jiste, psal jsem to uz v minulem vlaknu, pisu o globalnim trhu, ne o zadnem "specifickem" jako je root, tam samozrejmne rozhodnuti prilis nespolehat na JS chapu a je IMO spravne.
-
Už dost let se zabývám vícevrstvým aplikační vývojem na webu. V podstatě mě to napadlo už v dobách netscape. Dnešní stav co se týče aplikací dovoluje i díky modernímu užití JS redukovat počet starostí a také navrhnout aplikaci tak aby fungovala stejně rychle jako web prezentace. A to máme aplikace které reálně musí pracovat i s tisícovkami záznamů tak aby člověk vůbec nepoznal že se tam něco načítá a zároveň musí pracovat produktivně. Každopádně souhlasím že pro prosté web prezentace vždy velmi zvažuju na kolik vůbec použít framework nebo i JS jako takové. Je zde spousta pro a proti. Ale když programátor není kopyto může to využít ve prospěch. Doba textových prohlížečů i podstaty sdílení pouze textu je dávno pryč. Dneska je publikován nejen obsah ale i logika a je nutností efektivně to distribuovat a zároveň přinést produktivitu. Každopádně je aplikační vývoj pro web brutálně drahý, o proti jiným formám. Občas uvažuju jetli to to znásilnění html a http vlastně za to stojí. A jestli bychom na engine prohlížeče a protokoly neměli pohlížet jinak.
-
Internetovy provideři si zhusta vylepšují rozpocty prodavanim vasi historie.
V americe o tom Teprve hlasují, tak asi těžko to mohou dělat jinde, kde se o tom ani nehlasovalo
-
Diky za rozumne odpovedi.
(..) Dovedeno do důsledků, co to je za hloupý nápad spouštět aplikace v prohlížeči? Prohlížeč má sloužit k prohlížení webu, ne ke spouštění programů. Když půjdeme dnešní "moderní" cestou, tak za pět let se budou apky spouštět v Telnetu a tady se bude vykřikovat, jaké to je úžasné a že se nemusí nic instalovat.
Ano, presne. To je to, nac narazim s VNC/X11.js ci NAPLPSem, Minitelem.
Povazuji za dve diametralne odlisna pouziti "aplikace" a "stranky". Chapu (podle meho posahanou, ale vetsinovou) logiku dneska, ze z nedostatku graficky poutave vypadajicich Telnetu se pouziva (ba rekl bych spise zneuziva) jazyk puvodne urcenej pro hypertext na prostredi pro tvorbu tenkejch klientu. Podle me je to debilni a GUI by mela byt stavena jinak (treba jako XML popisy v OpenSTEPu ci Qt), stejne tak celkove prostredi pro spoustenej kod. (Tohle chtela z velke casti resit ciste Java.)
Necht tedy pripustime html+css+js pro tvorbu tenkejch klientu, rekneme z nouze nebo vrtochu vyvoje civilizace. Budiz. Ale povazuju za tragickej pruser, ze se pak "aplikace" michaji se "strankama". Malo myslici nebo linej clovek si muze rict (a jak je vidno v diskusi, casto rika): jeee, to je super, ja vlastne muzu delat stranky, jejich kusy budou tak trochu aplikace!
Zel, vysledky jsou tristni. Ta "aplikacni" cast zpusobuje, ze jsou stranky vsemoznym zpusobem spatne pouzitelny jako stranky, prikladem budiz tolik diskutovany "novy Root.cz" a to zde bych jeste rekl, ze byla ze strany konstruktivnich kibicu a pana Krcmare vynalozena velka snaha, aby to fungovalo a lidi moc nestvalo. Zdaleka nejde jen o SW podporu JS v prohlizeci; jde o to, ze tvurce vnucuje nejakou svoji logiku chovani tech aplikacnich prvku a to je u "stranky" pitomost -- muze to prinejmensim skodit malo, ale nikdy to nemuze bejt lepsi, nez kdyz ctu poslusnou pasivni stranku dle logiky sveho prohlizece.
grafik/koder bude chtit pouzivat aktualni CSS a i on by pravdepodobne nebyl nadseny ze non-JS reseni, protoze tak vypadnou vsechny vstupni komponenty, ktere vetsinou nelze bez JS vytvorit (navic ty nativni je vetsinou obtizne, casto nemozne, stylovat, takze se tim nahrazuji i ty nativni).
Hle, esence tuposti a zla! At pagrafik/pseudokoder slevi ze sveho ega a neomylnosti a prizna si, ze bude nejlepsi, kdyz se misto jeho posmatlaneho hipsta-sedo-sedeho stylu s rane renesancnim fontem zobrazi uzivateli stranka treba nejak uplne jinak, ale tak, aby se to uzivateli dobre prohlizelo. Jak byvalo ostatne hned na prvnim miste ve vsech priruckach k psani a prohlizeni webu v dobach davno minulych. Proc se tento zakladni pokyn k tvorbe HTML vytratil a byl nahrazen honbou tvorit na pixel vytuneny designy? Blbost je rozsahla a lide zde ocividne soutezi ve spatne discipline.
A kdyz mene nez 1% (to navic asi zahrnuje i roboty, takze v realu je cislo pravdepodobne hluboko pod 1%) uzivatelu ma zakazany JS, tak se neni o cem rozhodovat (prohlizec nepodporujici JS je hnijici vykopavka, pro ty se nevyviji nic).
Viz vyse, nejde zdaleka o nepodporu JS. Sam mam JS zapnutej, jak jsem ostatne hlasil i ve sve prvni odpovedi na (u me nefunkcni) Techloop. Ale jde o to, ze to vselijak otravuje a prasi tam, kde to NENI VUBEC POTREBA.
A to máme aplikace které reálně musí pracovat i s tisícovkami záznamů tak aby člověk vůbec nepoznal že se tam něco načítá a zároveň musí pracovat produktivně.
Naprosto souhlasim a nepopiram, ze rezim "aplikace" je dulezitej, at uz to ma byt psano v jakychkoli SW prostredcich. Tenkej klient (nebo resp. jakejkoli vzdalenej terminal informacniho systemu) potreba je. Jesti to bude opravdu (neco jako) Telnet, pouzivanej napr. pro rezervace letenek v systemu Amadeus, nebo v drazni unii UIC pro rezervace jizdenek, nebo neco duhovyho a s litajicima kocickama, to je otazka podruzna, potreba to ale urcite je.
Každopádně souhlasím že pro prosté web prezentace vždy velmi zvažuju na kolik vůbec použít framework nebo i JS jako takové.
Osviceny clovek, vice takovych.
Občas uvažuju jetli to to znásilnění html a http vlastně za to stojí. A jestli bychom na engine prohlížeče a protokoly neměli pohlížet jinak.
To si rikam taky. Jako prednostni ukol bych ale videl rozsireni te myslenky vyse: rezim stranky pro prohlizec bez aplikacnich chujovin neni horsi, ba je naopak lepsi, nez stranka se samomrcasicima a za uzivatele lepe myslicima blbostma.
No ale jak se bude vyvijet tvorba tech aplikaci, to me samozrejme taky zajima. A jestli se (opet po letech) dockame nakejch distribuovanejch GUI v necem jinym nez html+js.
-
Necht tedy pripustime html+css+js pro tvorbu tenkejch klientu, rekneme z nouze nebo vrtochu vyvoje civilizace. Budiz. Ale povazuju za tragickej pruser, ze se pak "aplikace" michaji se "strankama". Malo myslici nebo linej clovek si muze rict (a jak je vidno v diskusi, casto rika): jeee, to je super, ja vlastne muzu delat stranky, jejich kusy budou tak trochu aplikace!
Tady vas moc nechapu, pokud mam stranky a pouzivam SPA pristup, tak to je z definice aplikace. Osobne nevidim problem pouzivat JS i na chudsi webove prezentace, stale mam vyhody rychlejsiho nacitani kusu stranky (podobne jak prinesly iframy) a mam vzdy moznost jednoduse pokracovat ve vyvoji dale, pokud bude potreba pridat narocnejsi funkcionalitu - nemusim to cele prepisovat do SPA.
Drive tento pristup nebyl mozny, protoze byly problemy s kompatibilitou a celkove podporou JS. IMO profesionalove na stranky pro masy nemaji problem jit do JS-only reseni, pouze ve specialnich pripadech (root) je vhodne zvazovat podporu i non-JS, udelat kompromis a mit chudou funkcionalitu (pouze mensi vylepseni - progressive enhancement).
Zel, vysledky jsou tristni. Ta "aplikacni" cast zpusobuje, ze jsou stranky vsemoznym zpusobem spatne pouzitelny jako stranky, prikladem budiz tolik diskutovany "novy Root.cz"
Zvolil jste priklad spatneho uziti JS a celkove spatneho rozhodnuti delat redesign u velmi konzervativni a na funkcnost zamerene stranky, kde uzivatele (vcetne me) silne preferuji funkcnost pred vzhledem. U roota neni problem JS, ale uplne selhani v analyze pri vyvoji noveho designu, ktery zcela ignoruje cilove uzivatele. Je to vysledek toho, ze vzali bastl z lupy a soupli ho i semka. Jaksi ale zapomneli, ze IT-pozitivnim lidem budou vadit veci, jak zahrabani fora na titulce nekam dolu, nebo vsudypritomna otravovatka se vsim moznym (do ted nechapu, jak se to animovane logo mohlo vubec dostat do bety, jako WTF? ja nejsem zadny grafik ani UI/UX odbornik a presto vim, ze animace jsou fuj a je jen velmi malo pripadu, kdy je lze dobre pouzit).
a to zde bych jeste rekl, ze byla ze strany konstruktivnich kibicu a pana Krcmare vynalozena velka snaha, aby to fungovalo a lidi moc nestvalo.
To je pravda, ale ze strany vyvojaru nebyla vynalozena skoro zadna snaha. Vetsinu problemu jsem byl schopen ve svem custom reskinu vyresit behem minut, ty problemy nejsou na rootu stale vyreseny...
Celkove jste zvolil spatny priklad. Jak jsem napsal, prasit jde ve vsem. Navic u roota neni problem jen s JS ale i s CSS (poskakovani stranky pri nacitani, prekryvani obsahu reklamou atp.). Zacnete ted taky zbrojit proti CSS?
Zdaleka nejde jen o SW podporu JS v prohlizeci; jde o to, ze tvurce vnucuje nejakou svoji logiku chovani tech aplikacnich prvku a to je u "stranky" pitomost -- muze to prinejmensim skodit malo, ale nikdy to nemuze bejt lepsi, nez kdyz ctu poslusnou pasivni stranku dle logiky sveho prohlizece.
Vas prohlizec nikoho nezajima, vse se pise pro Chrome. Pouzivam FF a zazivam casto ruzne bugy na strankach, ktere v Chromu nejsou. A to prosim je FF porad dost pouzivany prohlizec, pokud pouzivate neco obskurniho, tak na to nebude brat ohled nikdo.
Je to volba klienta ci vyvojare, co presne povoli ci zakaze. Opet to neni chyba technologie, lze mit SPA Angular aplikaci, kde nepoznate, ze jde o SPA, protoze url se spravne prepisuje. Pokud chce klient po naklepnuti odkazu pomale odrolovani po strance, tak je to volba klienta, technologie, at Angular (ktery to ani sam neumi) nebo JS, za to opravdu nemuze.
Opet poukazu na problem UX, ktery me na mobilu stve mnohem vice, nez pul vteriny jednou za mesic nacitani navic - nemoznost menit scale (pinch gesto) u responzivnich stranek - jsou proste zamcene na jedne velikosti - nelze je zoomovat ani scalovat font. A tohle je problem CSS, nebo spise jeho pouziti.
grafik/koder bude chtit pouzivat aktualni CSS a i on by pravdepodobne nebyl nadseny ze non-JS reseni, protoze tak vypadnou vsechny vstupni komponenty, ktere vetsinou nelze bez JS vytvorit (navic ty nativni je vetsinou obtizne, casto nemozne, stylovat, takze se tim nahrazuji i ty nativni).
Hle, esence tuposti a zla! At pagrafik/pseudokoder slevi ze sveho ega a neomylnosti a prizna si, ze bude nejlepsi, kdyz se misto jeho posmatlaneho hipsta-sedo-sedeho stylu s rane renesancnim fontem zobrazi uzivateli stranka treba nejak uplne jinak, ale tak, aby se to uzivateli dobre prohlizelo. Jak byvalo ostatne hned na prvnim miste ve vsech priruckach k psani a prohlizeni webu v dobach davno minulych. Proc se tento zakladni pokyn k tvorbe HTML vytratil a byl nahrazen honbou tvorit na pixel vytuneny designy? Blbost je rozsahla a lide zde ocividne soutezi ve spatne discipline.
Ten grafik (ne pseudo) je placeny za to, aby to nastyloval. On je zodpovedny za vzhled aplikace. Pokud rekne klientovi, ze to "nejde" (coz neni pravda) a klient vi, ze konkurence to udela, tak jde klient ke konkurenci. Opet - neni duvod to nepouzit, protoze stylovani nativnich elementu, ktere se vetsinou lisi i v defaultnim stylu, je problematicke - lisi se napric prohlizeci a OS. Proto je lepsi pouzivat nejakou JS komponentu, ktera vypada vsude stejne a nebude tedy rozbijet vzhled stranky. Chapu, asi mate priority jinde, ale takto to funguje v praxi, s blbosti grafiku to nema nic spolecneho (ne, nejsem grafik, od CSS se drzim dale, jak to jen jde :D ).
A kdyz mene nez 1% (to navic asi zahrnuje i roboty, takze v realu je cislo pravdepodobne hluboko pod 1%) uzivatelu ma zakazany JS, tak se neni o cem rozhodovat (prohlizec nepodporujici JS je hnijici vykopavka, pro ty se nevyviji nic).
Viz vyse, nejde zdaleka o nepodporu JS. Sam mam JS zapnutej, jak jsem ostatne hlasil i ve sve prvni odpovedi na (u me nefunkcni) Techloop. Ale jde o to, ze to vselijak otravuje a prasi tam, kde to NENI VUBEC POTREBA.
Vsimnete si, ze to je silne subjektivni. Napr. je Java potreba pro napsani toho softu? Ne, neni, muzu to klepat v hexa editoru ve strojaku. Co je potreba pridat na stranku rozhoduje klient, kdyz si navymysli box s doporucenim dalsiho clanku, co prekryje text aktualniho clanku a vzdy se uzivatele nablble pta znovu, tak je to chyba klienta a/nebo implementace. Neni to chyba JS. A opravdu "potreba" je jen html se kterym ale neoslnite a aplikace se bude pouzivat priserne. Proto tu mame ty vsechny CSS s animacemi a JavaScripty s template enginy, client side routovanim, UI frameworky atd.
(JS mam defaultne vypnuty. Usmevne, kdyz se zivim vyvojem v JS...)
Občas uvažuju jetli to to znásilnění html a http vlastně za to stojí. A jestli bychom na engine prohlížeče a protokoly neměli pohlížet jinak.
To si rikam taky. Jako prednostni ukol bych ale videl rozsireni te myslenky vyse: rezim stranky pro prohlizec bez aplikacnich chujovin neni horsi, ba je naopak lepsi, nez stranka se samomrcasicima a za uzivatele lepe myslicima blbostma.
Taky mi dost JS pitomosti vadi, ale jsem si jisty, ze "za uzivatele lepe myslicima blbostma" je na cilovem vzorku uzivatelu "za uzivatele lepe myslicima ficurama", protoze jinak by to v a/b (a dalsich) testech pohorelo -> prestalo by se to pouzivat na jednotlivych strankach a pozdeji by to UX experti oznacili za blbost a prestali by to pouzivat vsichni.
Zase si myslim, ze jde o problem "pokrocily uzivatel, ktery vi co chce" a BFU na ktere jsou ty pitomosti cilene. To BFU to ohromi, bude to i treba pouzivat (na lupe treba to sdileni oznacenim textu, spam box o dalsim clanku, ktery nici cteni aktualniho, ...) a bude z toho nadseny. My pokrocili, kdyz chceme takovou funkcionalitu, tak si ji pridame formou addonu nebo si ji dobastlime sami. Si vsimnete, ze ani hloupy dark skin nam pro root neudelali, bylo by to moc prace - hlavne ze mistni to meli hotove za par hodin (ten jednodussi, moje varianta ma nastaveni a hral jsem si s pro me novymi technologiemi, takze jsem tim vyplnil nekolik vikendu). Proste priorita je masa = BFU.
No ale jak se bude vyvijet tvorba tech aplikaci, to me samozrejme taky zajima. A jestli se (opet po letech) dockame nakejch distribuovanejch GUI v necem jinym nez html+js.
Libilo by se mi pouzivat treba Scalu i na webu (ScalaJS existuje, ale neni prilis rozsirena a nema mnoho knihoven). Bohuzel si nemyslim, ze se JavaScriptu zbavime v dohledne dobe. Mozna s WebASM (nebo jak se to jmenuje) zazijeme dobu, kdy JS bude jen jakysi nizkourovnovy jazyk do ktereho se kompiluje z vyssich a hezcich jazyku. Mame sice trochu hezci TypeScript, ktery pridava trochu type-safety (pouze do urcite miry, nesrovnatelne se Scalou/Haskellem atp.), ale je to porad JS se vsemi jeho problemy. Full-blown jazyky typu Dart nebo ScalaJS se myslim moc nechytaji :(.
Odklon od HTML&CSS se mi take nezda pravdepodobny, protoze s novymi vecmi se to blizi tem XML jazykum pro popis GUI: web komponenty a vsechny ty vychytavky z html5, CSS zlepsujici moznosti layoutu - flexbox a mozna se dockame i nativniho gridu.
- : Mam pocit, ze vsechno co kritizujete by vyresily nejake best-practices, typu "dat moznost uzivatel vypnout si jednotliva vylepseni jako jsou napr. plynule skorolovani po kliku na odkaz s fragmentem, zavazejici upoutavka na dalsi clanek, zakazani zoomu/scalu, schovat komentare na zvlastni stranku". Bohuzel stranky se tvori pro BFU, ne pro nas, takze se toho asi nedockame :-\.
Omlouvam se za wall-of-text, je mi to ale blizka vec, tak jsem se trochu rezepsal.
PS: Nefunguje vam na nekterych mistech smejici se smajlik (minimalne v nahledu, mozna to ma co delat se zavorkou o mezeru za tim): :D