Portál AbcLinuxu, 2. května 2025 07:25
Som rád, že bol spomenutý react a nie bloatware angular. Čo sa týka preprocesorov zvyknem odporúčať skôr sass / scss. Referenčná implementácia je síce v ruby, ale libsass je v C++ a ide pekne rýchlo.
U začiatočníkov je to normálne. Ja som tiež natočil tutoriál ako zbúchať blog za 15 minút a použil som pri tom bootstrap lebo to bolo najrýchlejšie riešenie
V takom prípade je podľa googlu odporúčaný postup načítať web s malým inline CSS a zvyšok dotiahnuť pomocou javascriptu.Aha, tím by se asi dalo vysvětlit, proč se mi hromada "moderních" webů po povolení JS v NoScriptu přenačte s jiným fontem. Jinak ještě k těm fontům jsi zapomněl zmínit, že používat dneska obrázky je taky pěkně oldschool, když může mít člověk vlastní font a v něm "unést" libovolný Unicode znak pro svou potřebu. Tady se asi pro změnu na nějaký obsah vs. forma moc nehraje.
Oni sú blbé naschval. V každom prípade s tým druhým sa stretávam každú chvíľu. Prišlo mi vtipné ako sa všetci bili za to, že treba oddeliť obsah od formy (teda nedávať konkrétny layout do html) a zrazu tu prídu frameworky ktoré robia v HTML rovnaký bordel ako tabuľky. Samozrejme aspoň sémanticky je to iné, div nemá žiaden sémantický význam na rozdiel od table.
box-sizing
, takže si to lze nastavit, jak se to zrovna hodí. Btw, HTML5 je úspěšné hlavně kvůli tomu, že s ním W3C nemá nic společného (narozdíl od XHTML).
In 1996, CSS introduced margin, border and padding for many more elements. It adopted a definition width in relation to content, border, margin and padding similar to that for a table cell. This has since become known as the W3C box model.
At the time, very few browser vendors implemented the W3C box model to the letter. The two major browsers at the time, Netscape 4.0 and Internet Explorer 4.0 both defined width and height as the distance from border to border. This has been referred to as the traditional or the Internet Explorer box model.
table, thead, tfoot, tbody, tr, th, td { display: block; }… A z tabulky je pár odstavců. Dál můžeš stylovat dle libosti stejně, jako by to byly divy.
Nie všetky takéto triky fungujú. Nedávno som sa k niečomu snažil pomocou CSS ohnúť django admin a vo firefoxe to malo poriadne problémy. IE radšej ani nebudem spomínať Na zopár škaredých bugov s renderovaním tabuliek som narazil aj vo webkite, neviem teraz či sú už opravené, keď som na to pozeral tak v bugzille boli zaznamenané chyby.
Nejak jsem ten odpor k tabulkam nepochopil.Prvně to bylo "Nepoužívejte tabulky na layout!", protože staré prohlížeče neuměly dynamicky překreslovat stránku během načítání, což ve spojení s pomalým připojením způsobovalo to, že uživatel čučel do čisté stránky, dokud se nenačetl celý obsah (tedy, ono těch problémů s layoutem pomocí tabulek bylo trochu víc, ale tento je asi ten nejdůležitější). No a někteří to pochopili jako "Tabulky jsou Zlo! ZLO!!!" a ve své snaze být papežštější než papež přestali tabulky používat úplně, včetně případů, kdy jejich použití je vhodné a naprosto logické. Osobně se domnívám, že existuje velmi jednoduché pravidlo, kdy použít tabulku, a to tehdy, pokud by mělo smysl, aby uživatel přislušná data označil a nakopíroval si je do svého Oblíbeného Tabulkového Procesoru (TM).
Bootstrap je skvely pomocnik, protoze diky tomu i "lama" muze vytvorit validni web
Mne vadí keď je tam pár tisíc nepoužitých pravidiel. Ak niekto ide na web bootstrapu, zvolí custom build, vyberie si len grid nič zásadné proti tomu nemám. Vadí mi však, že ľudia sú už tak leniví, že tam hodia celý bootstrap a všetky elementy pracne preštýlujú pričom by im skutočne stačil grid.
Navic vizualizace pomoci font-awesome ci glyphicons preci umoznuji s obrazkem pracovat jako s fontem.
V niečom je to dobré, v niečom nie. Na telefóne mi napr. z default konfiguráciou väčšinu webových fontov zobrazuje ako štvorčeky a ak tam nie je text musím si domyslieť na čo klikám. Kým je to len ako doplňujúca ikona k tlačidlu nevadí mi to.
A samotne jQuery? Prijde mi, ze se stalo modou na jQuery hrozne nadavat, ale samotny selector v jQuery je tak mocna vec, ze nakonec i ti zariti odpurci po nem proste sahnou. Osobne jsem si nevsiml, ze bych nekdy musel silene hackovat nekolik verzi jQuery.
Na pracovné veci jQuery používam, na osobné nie. jQuery nemám rád, je plné antipatternov, neskutočne pomalé a katastrofálne sa ladí. Dostávam však hotovú šablóny s javascriptom takže nemám moc na výber.
Za seba spomeniem pár vecí ktoré mi na jQuery zásadne vadia:
$('#neexistujuciprvok').plugin()
nevyhodí chybu (viem, je to filozofia jQuery, nevyhovuje mi to, radšej new Plugin(_.id('neexistujuciprvok'))
)Čo sa týka angularu vadí mi viacej vecí. Asi najviac ma vytáčalo, že nemá žiaden fallback pre browsery bez js (unobtrusive js). Nie že by to v dnešnej dobe až tak vadilo, ale ak ten web má prechádzať google musí sa mu servírovať statický obsah. Oficiálne riešenie od googlu: nainštalovať na webserver webkit browser, automaticky prechádzať web a ukladať statické súbory. Fakt super. React aspoň ráta s nejakým fallbackom, takže nemusím sa starať zvlášť o službu ktorá je tam len kvôli indexácii webu.
Webove prohlizece jsou na takove urovni, ze i moloch bootstrap+jquery+angular+XXpluginu neznamena, ze by web byl pomaly ci nepouzitelny.
Na googlackych produktoch sa mi dosť často stáva, že vďaka ich asynchrónnej inicializácii mám web načítaný tak za 5s. Teda tvári sa tak. Ďalších 25s čakám až môžem na niečo kliknúť. Ak je na nejakých elementoch href="#" tak je to celkom super lebo môžem naň kliknúť aj keď ešte nie je načítaný web a nič sa nestane. Ak je tam skutočný odkaz tak mi otvorí nejaký web a ja musím stlačiť späť a počkať až sa to znovu natiahne. Najlepšie na tom je, že netuším či sú všetky skripty natiahnuté lebo sa načítavajú asynchrónne (takže ani v hlavične tabu nevidieť načítavanie).
K samotnej použiteľnosti .. neviem ako je to v česku. Kde sa pohybujem ja ide internet väčšinou do 20kB/s. Čoraz častejšie narážam na weby ktoré sa načítavajú 5-10 minút.
Jakym prohlizecem jsi web oteviral?
Safari. Ale mám iphone 3G takže podporu fontov tam mám slabú (myslím, že len SVG).
Pokud se teda clovek nedostane do faze, kdy potrebuje vyuzit pluginy, ktere jsou prave jQuery.
Toto ma tak trochu štve, lebo všetci píšu pre jQuery aj keď v súčasnosti už browsery podporujú pekne hračky ako selectory, aj forEach funguje dobre ... nevidím dôvod kvôli nejakému malému efektu tam dávať celé jQuery.
Startup webu, hlavne tech angularovskych je skutecne problem.
Štart je ešte v pohode keď tá aplikácia aspoň funguje. Ako užívateľovi sa mi často stávalo, že ten kto písal angular aplikáciu niečo nemal ošetrené a v istom momente prestala reagovať na udalosti. Teda v istom momente = asi po 10s používania :D Takže f5 a zase si počkať až to celé natiahne ...
Nevim jak ostatni, ale rychlost 20kB/s je spise historii, ne?
Vyššie rýchlosti sú v mestách. Ja som na Slovensku. Je to celkom hornatá krajina. Ak chytím 20kB tak som celkom rád. Tu v horách by musel byť vysielač na každom kopci čo je trochu ťažko realizovateľné.
Kazdopadne ja mam javascript rad a i kdyz jsem v nem videl uz hodne prasackeho kodu, tak to neni chybou jazyka, ale pouze tech, kteri ten jazyk vyuzili.
S týmto neviem či môžem súhlasiť. Čo je to prasácky kód? Keď sa snažím písať objektovo? Keď dedičnosť riešim prekopírovaním property? JS nemá definovaný žiaden coding štandard, takže všetci píšu hlava nehlava, nikto nevie poriadne vysvetliť na čo je prototypová dedičnosť dobrá ...
S Javascriptem se do budoucna pocitat musi, zatim nic lepsiho nikdo nevymyslel.Lepších jazyků je celá řada, JavaScript totiž patří mezi ty horší jazyky. Osobně bych upřednostnil, kdyby prohlížeče podporovali například LLVM IR.
Osobně bych upřednostnil, kdyby prohlížeče podporovali například LLVM IR.WebAssembly
Proč nemají goto, nevimHádám, že proto, aby se to snadno přeložilo do JS nebo asm.js.
v high-level jazycích většinou neníTo ano, ale některé jiné konstrukce z high-level jazyků se překládají na kód s goto – například pattern matching.
Kromě toho koukáš na naprostý prototyp, finální standard se imho bude ještě dost lišitTo je pravda, přidat goto v budoucnu zvažují jako možnost.
Mne vadí keď je tam pár tisíc nepoužitých pravidiel. Ak niekto ide na web bootstrapu, zvolí custom build, vyberie si len grid nič zásadné proti tomu nemám. Vadí mi však, že ľudia sú už tak leniví, že tam hodia celý bootstrap a všetky elementy pracne preštýlujú pričom by im skutočne stačil grid.Když už musim dělat něco pro web, používám PureCSS, většinou to stačí a grids má imho lepší než bootstrap.
Rozumnejšie by bolo keby to bolo spracované nejakým CSS preprocesorom a vygenerovalo by sa ich len toľko koľko je potrebných.
Chapu, ze je to cele ironie, ale na druhou stranu tyhle nove pristupy prave umoznuji z webu vymackat maximum.Me teda "moderni" web moc maximalni nepripada. Jenom se veci ktery driv delal browser presunuji do javascriptu, protoze autori webu jsou prece mnohem chytrejsi a lip vedi jak delat UI.
Jenom se veci ktery driv delal browser presunuji do javascriptuTeď se do JavaScriptu přesouvá ledacos. Za chvíli bude internetový prohlížeč poskytovat víc funkcionality než operační systém.
Existuje, sám som ho pár krát implementoval. Myslel som skôr toto.
Webove prohlizece jsou na takove urovni, ze i moloch bootstrap+jquery+angular+XXpluginu neznamena, ze by web byl pomaly ci nepouzitelny. Tyhle casy jsou davno pryc :)Na desktopu možná, ale dnes leze dost velká část uživatelů na web ze zařízení, které rozhodně nemají výkonu nazbyt a pokud ano, tak je draze vykoupen zkrázením provozní doby při běhu na baterie. Použít takovýto obludný moloch na stránku, kterou by jako čisté HTML zobrazil snad i lepší jednočip, je jako vzít si na kopání brambor bagr (a u některých webů by to bylo spíš důlní rypadlo
Myslím, že budeme mať problém aj s definíciou lepšieho ;) Dnes som napr. hľadal chybu v kóde a objavil som tam použitie značiek spam. Kedysi by na to validátor niečo vypísal, lenže HTML5 ;)
OK beriem späť, teraz som to revalidoval a HTML parser sa správa trochu inak než som čakal. Keď som opravil ostatné chyby tak spam už zobrazuje ako chybu.
Hmm čo také úžasné robia webové aplikácie že sú tak náročné na výkon?
Pamätám si časy keď sa js intepretoval 100x pomalšie ako dnes. Pamätám si časy keď som mal 10x slabší stroj.
Otvorím si napr http://ckeditor.com/builder. V stĺpci Available plugins napíšem "aaaa" a čakám 10s až mi vyhodí, že môjmu vyhľadávaniu zodpovedá 0 pluginov (zatiaľ CPU na 100%). Vyhľadávanie v necelých 150 položkách! To už ide tak pomalý, že by som mohol očami prejsť a vybrať tie položky a budem približne rovnako rýchly.
OK, mám možno starý stroj, o to nejde. Chcel som tým povedať, že väčšina ľudí píše ako prasce. Ó tom, že sa to dá napísať dobre ma netreba presviedčať, ja sa tou prácou živím.
Vyvíjať sa dá dnes omnoho lepšie než pred 10 rokmi, nástroje sú neporovnateľne lepšie, podpora prehliadačov o ktorej sa nám ani nesnívalo ak nie je potrebné optimalizovať pre IE6. Napriek tomu si ľudia nedajú ani trochu námahy optimalizovať.
Dobre, trochu preháňam, 1.2s na znak. Core(TM)2 Duo CPU T5250, firefox. Mimochodom v tom super vyhľadávaní nefunguje ani paste ;) Čakal by som že zaregistrujú aspoň oninput.
Paste klávesovou skratkou funguje, ale myšítkom alebo cez kontextové menu nie keďže majú registrované len onkeyup. Chápem, že niekto registruje onkeyup kvôli kompatibilite, ale v súčasnosti by sa už malo registrovať hlavne oninput, ktoré rieši všetky možné spôsoby zadávania textu.
Aj dnes môžem otvoriť koľko chcem tabov. Kým je to číslo menšie než 5.
Niekedy funguje, niekedy nie. Upravoval som po bývalom kolegovi angular aplikáciu a fungovalo to ... no niekedy áno niekedy nie. Pri kliknutí na niečo kým niečo iné nebolo načítané spôsobovalo krásny race condition, takže sa celá aplikácia rozletela. Vlastne stačilo 2x stlačiť späť pred tým než sa stihol načítať obsah a celé sa to rozpadlo.
Toľko k výhodám. Samozrejme angular mal aj svoje temné stránky napr. nefungujúce otvorenie na novej karte a podobne.
Ta "tuna" javascriptu, o ktere se zde nekdo zminoval, ma totiz hlavni efekt a to je v tom, ze diky tomu UI funguje pomoci AJAXu, coz prave onen web dost zrychluje.S tim jsem ted udelal zajimavou zkusenost - procitam si nejaky historicky dokumenty na webu NASA na ktery evidentne nikdo nesah od vynalezu Mosaicu - a je to skvely. Da se to bez problemu cist na mobilu v metru: stranky se stihaj dotahnout behem cekani ve stanici, nezere to baterky ani pamet, necha se to pohodlne ovladat z displeje… Zadny ajaxovy web mi nefungoval tak dobre. Tak kde je ten spravny smer?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.