Weby na bazi JS [ex Existují v ČR startupy na úrovni?]

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Weby na bazi JS [ex Existují v ČR startupy na úrovni?]
« Odpověď #15 kdy: 02. 04. 2017, 08:06:31 »
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.

Citace: noef
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 ).

Citace
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...)

Citace
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