Náhrada PHP nebo ASP.NET Core

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #75 kdy: 18. 02. 2021, 15:56:58 »
U addClass je classlist super, ale pak je tady ještě IE s řadou záludností,

prečo tu niekto ešte spomína IE ktorý už neexistuje a samotný Microsoft ho pochová už 17. Augusta tohoto roku... tieto argumenty sú ako keby ste tu obhajovali <marque> lebo NetScape ešte nevie takú animáciu cez CSS. To vôbec nie je argument.

Zrovna u ready potřebuješ ještě další podmínku, viz i ten kód u jquery. Tvoje řešení on vyžaduje, aby element existoval a nepodporuje to u lazy elementu jako u jQuery.

Samozřejmě se to dá napsat i v čistém js, jen jsem chtěl říct, že to není tak jednoduchý a dobu, kdy byla půlka webů rozbitých právě kvůli nedostatečně obecné implementaci bez testů si živě pamatuji, nerad bych opakoval chyby z minulosti. Doporučování vanillaJS jako řešení nepovažuji za rozumné.

Ako pár vecí je ešte v čistom JS ako zložitejších, ale aj tak to ako argument pre jQuery neobstojí keď existujú knižnice 10x menšie a výkonnejšie ktoré to riešia.

Doporučování jQuery jako řešení nepovažuji za rozumné.
« Poslední změna: 18. 02. 2021, 15:59:45 od Mlocik97 »


Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #76 kdy: 18. 02. 2021, 16:11:40 »
A k tomu ready som teraz našiel že to tiež nie je absolútne potrebné a v čistom JS to sa dá spraviť 0 riadkami JS, stačí len pridať do tagu <script> jeden atribút defer. Alebo umiestniť <script> do <body> nakoniec (viď https://stackoverflow.com/a/18775368 ), a nepotrebujete vôbec žiadne .ready() a teda ani .on() takže vlastne čo sa tu rieši.
« Poslední změna: 18. 02. 2021, 16:17:40 od Mlocik97 »

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #77 kdy: 18. 02. 2021, 16:47:54 »
Takže si to zhrnme čo sa ako tá nahradiť v čistom JS:

$.ajax() -> fetch()
$(document).ready() -> defer
$("el") -> $("el") ............... s využitím jednoriadkového aliasu, možno dvoj ak chcete pre všetky elementy a automaticky aplikovať forEach()
.addStyle() -> classList.add()
.css() -> .style
.on() -> snaď jediná vec, ktorá je v čistom JS náročnejšia (ak chceme lazy), dá sa nahradiť drobnou rýchlou knižnicou
.delegate() -> .matches()
.fadeIn() -> css opacity a transition

ok, čo ideme ďalej?
« Poslední změna: 18. 02. 2021, 16:52:39 od Mlocik97 »

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #78 kdy: 18. 02. 2021, 17:44:08 »
Samozřejmě se to dá napsat i v čistém js, jen jsem chtěl říct, že to není tak jednoduchý a dobu, kdy byla půlka webů rozbitých právě kvůli nedostatečně obecné implementaci bez testů si živě pamatuji, nerad bych opakoval chyby z minulosti. Doporučování vanillaJS jako řešení nepovažuji za rozumné.
Chybou je připravovat se na minulé války. Dříve bylo použití jQuery rozumné, protože odstiňovalo vývojáře od rozdílech v implementacích v různých prohlížečích, a poskytovalo funkce, které přímo prohlížeče neimplementovaly. Dnes je naopak použití jQuery nerozumné, protože si do stránky zbytečně natáhnete velkou knihovnu, která nic nepřináší, akorát tam máte spoustu zbytečného kódu pro podporu prohlížečů, které nikdo nepoužívá.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #79 kdy: 18. 02. 2021, 18:06:41 »
aby bylo jasno, jQuery nikomu nedoporučuji a nepovažuji to za vhodné věc, ale stejně tak nikomu nedoporučuji používat bezhlavě vanillaJs, to je zase módní věc poslední dobou a vznikají v tom chyb, viz i doporučování v tomhle vlákně.

Pro IE se pořád vyvíjí, v českém prostředí to je poměrně častý prohlížeč u bank a operátorů, takže pokud člověk pro ně dělá produkty, měl by na to prozatím myslet. Nerad zabíjím podporu něčeho jen proto, že se mi to zdá příliš staré. Fetch nefunguje na Androidu 4, koukám do statistiky a pořád existují 3 % návštěvníků u jednoho z velkých webů v ČR. U Zahraničních webů pro Maďarsko,Ukrajinu dokonce vidím i 10 % z mobilních prohlížečů.

Tohle prostě nepovažuji na dobrou náhradu. Pokud chci vyřešit podporu i pro ty starší, už to tak málo kódu není a potřebuji pomoc nějakého frameworku/knihovny, která přidá polyfill. VanillaJS je sice cool, ale těch plnohodnotných webů v tom moc není, jen se o tom mluví a píšou tutoriály na jednoduché příklady.

Už jen tyhle příklady, doteď mám jeden js soubor s aplikací, teď to najednou musím rozsekat, init volat jako defer, aninamace dát do css a přepínat třídy. To už vyžaduje trochu větší um než bylo potřeba s jQuery. Vzhledem k tomu jaká je cílovka a pozice jQuery prostě nevidím vhodné doporučovat přejít na čistý JS.


Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #80 kdy: 18. 02. 2021, 18:37:32 »
stejně tak nikomu nedoporučuji používat bezhlavě vanillaJs, to je zase módní věc poslední dobou a vznikají v tom chyb, viz i doporučování v tomhle vlákně.
Jak můžete „bezhlavě“ používat čistý JavaScript? Buď podporované prohlížeče danou funkci umí (nebo ji transpilujete), pak je hloupost používat něco jiného – zpomalujete tím načítání stránky (čeká se na další kód) i zpomalení provádění (implementace v JavaScriptu je obvykle pomalejší, než nativní implementace). Nebo ji neumí, a pak musíte použít nějakou funkci, která to implementuje. Nevidím tam prostor pro nějakou bezhlavost.

Nevím, jaké chyby tím podle vás reálně vznikají – tady jsem zaznamenal akorát příklady toho, že divnou implementaci jQuery, které je dobré se zdaleka vyhnout, není úplně jednoduché zreplikovat. Chyba ale je jenom to, pokud někdo něco takového chce programovat.

Tohle prostě nepovažuji na dobrou náhradu.
Ona to také není žádná náhrada. Ono prostě už jen jQuery není potřeba.

Pokud chci vyřešit podporu i pro ty starší, už to tak málo kódu není a potřebuji pomoc nějakého frameworku/knihovny, která přidá polyfill.
Ano, přidá se polyfill pro ty používané funkce, ne zbytečná knihovna, která má spoustu anti-vzorů.

VanillaJS je sice cool, ale těch plnohodnotných webů v tom moc není, jen se o tom mluví a píšou tutoriály na jednoduché příklady.
To jako podle vás všechny weby používají jQuery? Web je napsaný v Reactu, Svelte, Vue, Angularu nebo něčem podobném, a do toho je tam přidané jQuery? Vážně?

To už vyžaduje trochu větší um než bylo potřeba s jQuery.
Teď jste trefil hřebíček na hlavičku. jQuery se výborně hodí, když chcete prasit a vůbec vás nezajímá, jak bude ten výsledný web vypadat, jak bude pomalý a datově náročný. Kdo chce web dělat pořádně, ten se jQuery vyhne.

Vzhledem k tomu jaká je cílovka a pozice jQuery prostě nevidím vhodné doporučovat přejít na čistý JS.
Nikdo nedoporučuje „přejít na čistý JS“. Doporučení je používat současné nástroje. Spousta věcí se dnes napíše přímo pomocí funkcí prohlížeče, další se udělají pomocí CSS, pro další máte samostatné malé knihovny.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #81 kdy: 18. 02. 2021, 20:30:03 »
ano, jQuery dominuje tam, kde nejsou programátoři, ale spíše lepiči, pro ně to je prostě přijatelné řešení.

jQuery je sice pomalé, ale proti reactu je to sportovec; myslím, že ochota dělat stránky rychlé, paměťově a zdrojově nenáročné prostě právě s Reactem umřela.

S vanillaJS si musím být vědom omezení a daleko více testovat mezi prohlížeči. Doporučení na čistý js tady zaznělo ve vláknu několikrát.


Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #82 kdy: 18. 02. 2021, 20:43:24 »
jQuery je sice pomalé, ale proti reactu je to sportovec; myslím, že ochota dělat stránky rychlé, paměťově a zdrojově nenáročné prostě právě s Reactem umřela.

Ak chceš rýchlosť na úrovni čistého JS tak skús ten Svelte čo tu už štvrtý krát odporúčam. Ten je nie len športovec ale stíhačka.

S vanillaJS si musím být vědom omezení a daleko více testovat mezi prohlížeči.

To nesúhlasím.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #83 kdy: 18. 02. 2021, 20:54:00 »
jQuery je sice pomalé, ale proti reactu je to sportovec; myslím, že ochota dělat stránky rychlé, paměťově a zdrojově nenáročné prostě právě s Reactem umřela.

S vanillaJS si musím být vědom omezení a daleko více testovat mezi prohlížeči. Doporučení na čistý js tady zaznělo ve vláknu několikrát.
Když vy pořád porovnáváte jablka s krokodýlama. To není tak, že ten samý web budete psát v čistém JavaScriptu bez jakýchkoli knihoven, nebo v jQuery, nebo v Reactu. Když budete psát webovou aplikaci, použiju Svelte, React, Vue, Angular, Preact nebo třeba webcomponents. Když budu potřebovat jenom nějaké drobnosti, budu psát třeba v ES2019 a transpilovat do verze, kterou podporují všechny prohlížeče, které chci podporovat. Případně použiju nějakou knihovnu pro to, co potřebuji.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #84 kdy: 18. 02. 2021, 23:03:39 »
jQuery je sice pomalé, ale proti reactu je to sportovec; myslím, že ochota dělat stránky rychlé, paměťově a zdrojově nenáročné prostě právě s Reactem umřela.

jasně, dobrý plky. To, že někdo neumí optimalizovat React, neznamená že je špatný. Ono neoptimalizace je "přínos" dnešní doby, kdy už ani frameworky moc neřeší zdroje - procesory jsou výkonější, máme více paměti apod.

Podle vaší analogie mohu říci, že všechno co není psané v Asembleru je na ho*no.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #85 kdy: 18. 02. 2021, 23:39:28 »
... to je jako ten Flak 88, než bych to uměl dobře...
Flak 88? To zní spíš jako jméno neonacistické kapely. Zřejmě máte na mysli legendární a rozšířené protiletadlové dělo, které ale neslo označení 8,8-cm-FlaK 18, 8,8-cm-FlaK 36 nebo 8,8-cm-FlaK 37.

... flak...8 lidí to obsluhuje, ale poradí si to se vším...
V tomto ohledu bych byl skeptičtější. Diskutované dělo bylo velmi dobré akorát tak na dvě věci.

Může se to zdát off-topic, ale sám zakladatel tématu to zde hned v prvním příspěvku nakousl a pak se k tomu ještě vrátil, takže...
Provozoval internetový portál, ale chodili mu tam lidi.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #86 kdy: 19. 02. 2021, 05:22:51 »
Já vnímám jQuery pořád jako knihovnu pro zjednodušení práce s DOM/CSS v čistém JS, tam své místo pořád má, dokud podobné věci neumí JS sám o sobě.
Na rozdíl od velkých FW, které když začnu používat, tak už nemůžu uhnout (a proto je moc nemusím), tak jQuery mě do ničeho nenutí, nemusím jí nijak přizpůsobovat návrh projektu, jen využívám zjednodušení syntaxe tam, kde se to hodí.

Já bych s tím souhlasil.

jQuery je oblíbené a pohodlné.


To ste prekvapený čo?

To skutečně jsem. Nevšiml jsi si, že jsem psal, že nativní funkce používám? Nebo se jen vytahuješ že to umíš taky?

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #87 kdy: 19. 02. 2021, 12:17:14 »
jQuery je sice pomalé, ale proti reactu je to sportovec; myslím, že ochota dělat stránky rychlé, paměťově a zdrojově nenáročné prostě právě s Reactem umřela.

jasně, dobrý plky. To, že někdo neumí optimalizovat React, neznamená že je špatný. Ono neoptimalizace je "přínos" dnešní doby, kdy už ani frameworky moc neřeší zdroje - procesory jsou výkonější, máme více paměti apod.

Podle vaší analogie mohu říci, že všechno co není psané v Asembleru je na ho*no.

ano, musíš ho optimalizovat a to tak, že v něm prostě data nemáš nebo vše cpeš do immutable struktur, pureComponent rulezz a celou dobu bojuješ s re-render problémem. Náklady na optimalizaci u vývoje u reactu dosahují už pěkného poměru k samotnému vývoji. Mně připadalo zajímavé na jedné straně mluvit o tom, že jQuery zbytečně zpomaluje web a pak říct, že se dá také použít React.

O ASM jsem nepsal ani slovo, stačí se podívat jak spotřeba paměti a CPU roste každým rokem, z tohohle pohledu to jQuery vlastně nebyl tak špatné :). Naopak např. napsat v ASM efektivnější kód než produkují novodobé JIT kompilery není vůbec snadné. Jinak moje neoblíbenější stránka vždy byla http://microjs.com a třeba způsob jak je schopný se vypořádat s efektivitou https://github.com/mafintosh je unášející, škoda, že tak o tom nepřemýšlí jiní tvůrci frameworků. Zajímavou cestou jde Svelte, ale to už tady bylo dříve (např. třeba Google Dart, dnes již mrtvý), na první pohled dobrá efektivita je vykoupena vendor lock-inem, špatnou interportabilitou a celkovou uvězněností v jednom světě, tohle web z kolen nevytrhne, Google Closure je za mě použitelnější a pěkněji vyřešená sada nástrojů pro tvorbu.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #88 kdy: 19. 02. 2021, 12:28:29 »
ano, musíš ho optimalizovat a to tak, že v něm prostě data nemáš nebo vše cpeš do immutable struktur, pureComponent rulezz a celou dobu bojuješ s re-render problémem. Náklady na optimalizaci u vývoje u reactu dosahují už pěkného poměru k samotnému vývoji. Mně připadalo zajímavé na jedné straně mluvit o tom, že jQuery zbytečně zpomaluje web a pak říct, že se dá také použít React.
Akorát jste k tomu zapomněl napsat takovou drobnost – že ten web v Reactu, o jehož optimalizaci píšete, je tak složitý, že s jQuery byste ho vůbec nenapsal.

O zpomalování webu jQuery byla řeč v souvislosti s tím, že potřebujete vybrat pár elementů a jim nastavit nějaký ovladač události – a místo abyste to udělal prostředky, které má každý dnes používaný prohlížeč, dotáhnete tam celou knihovnu jQuery (a pokud možno ještě tak, aby její stažení blokovalo vykreslení stránky).

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #89 kdy: 19. 02. 2021, 15:31:20 »
Nakouknul jsem co je Svelte zač - a zjistil, že s JS knihovnami typu jQuery to nemá nic společného.
Není to nic, co by rozšiřovalo možnosti skriptování v JS na straně klienta, ale je to vývojový FW který transpiluje nějaký zdrojový kód do JS/CSS - jeden kód píšu a jiný kód jde do browseru.
To už se asi raději naučím Blazor - stejně serverovou část píšu v ASP .NET c#.