Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
discount 30 + hiring
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:7.10.2021 9:05

Ahoj, věnuji se tvorbě webových a mobilních aplikací v .NETu. Aktuálně jsem trochu na vážkách jakou cestou se vydat. Nejde mi o to, aby jste mi řekli jaká technologie je nejlepší, ale spíše o to vyvolat nějakou diskuzi. Aktuálně tvořím weby pomocí asp.net mvc. Tady nastava moje otazka, pokud delate v .net jakym zpusobem resite weby vy? MVC, Razor Pages, API + Angular? Ohledne MVC a Razor Pages jsem si vsiml, ze se spise vice vyviji RazorPages a ze tedy asi byli lepsi volbou váš názor? API + Angular je fajn, ale nevim zda ma smysl v nekterych pripadech. Pokud chce zakaznik interni slozitejsi formularovku, tak nevim zda ma smysl pouziti angularu... A zkratka nevim jestli pouziti spa v techto aplikacich dava smysl. Tady stále vedu nějaký vnitřní boj :D Takže prosím klidně názory :) To ze se stranky prenactou mi neva a asynchroni dotahovani se da udelat celkem pohodlne pomoci jquery unobtrusive. Take jsem koukal na Blazor, ale popravde na to jaky je kolem toho povyk to ma stale dost problemu a taky nevim jestli je to uplne ta cesta. Jake jsou vase nazory? Diky moc

Zkusil jsem: Ptát se lidí na jinýchj portálech

Chci docílit: Přijemného vývoje

 
Odpovědět
7.10.2021 9:05
Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Petr Kasnal
Radek Veverka:8.10.2021 16:28

Ty problémy s Blazorem by mě docela zajímaly. Nějakou dobu s tím už dělám, zatím jsem na nic vážného nenarazil. Nejméně příjemné věci jsou podle mě chybějící podpora hot-realoadu a špatná podpora dynamických komponent. Obojí je vyřešeno v .NET 6, které má myslím vyjít v listopadu. Už nemám potřebu a ani nechci dělat v budoucnu web v něčem jiném, po prokousání node js a angularem jsem konečně našel technologii s velkým T. Takže jak mluvíš o tom příjemném vývoji - dlouho jsem ho taky hledal, a Blazor zatím jednoznačně vítězí.

 
Nahoru Odpovědět
8.10.2021 16:28
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Radek Veverka
Petr Kasnal:10.10.2021 9:11

Ahoj, diky za odpověď. Četl jsem například, že pokud potřebujes doplnit js, tak je to celkem neprijemny. Ale mozna uz je to ted v novych verzich opravene. A pouzivas server side a nebo wasm?

 
Nahoru Odpovědět
10.10.2021 9:11
Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Petr Kasnal
Radek Veverka:10.10.2021 10:35

WASM jedině v případě, že je potřeba oddělit klienta od serveru a propojit je přes API. Pak možná ještě na realtime hry (i když tady fakt blazor, angular a podobní nemají smysl vůbec). Jinak vesměs zbytečné. Dříve jsem byl skeptický vůči server side kvůli odezvě, ale praxe ukázala, že je více než dostačující a žádné zpomalení ve srovnání s WASM nepociťuji, právě naopak, mnohem rychleji se web načte.
Samozřejmě když budeš dělat web pro miliony uživatelů, tak možná raději šáhneš po WASM a API, abys převedl výpočetní výkon na uživatele. Každé se prostě hodí na něco jiného.

Pokud potřebuješ doplnit js, zpravidla to děláš jen občas. Nevím jestli je to nepříjemné, podle mě to nijak hrozné není, ale i kdyby bylo, je to stále až poslední řešení. Je pravda, že v C# nenajdeš tolik frontendích knihoven jako v JS, ale to důležité už většinou pokryté je, např. integrace google recaptcha nebo tinymce editor. Oni vnitřně sice JS využívají, ale vystaví ti Blazor komponentu a nemusíš nic extra řešit.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
10.10.2021 10:35
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Radek Veverka
Petr Kasnal:10.10.2021 12:10

Rozumím. Taky jsem byl trochu skeptický co se týče server side aa jeho výkonu, ale pokud je to takhle v pohodě, tak to asi zkusím. Chápu, že pokud budu mít milion lidí, tak je vždycky lepší api a nějakej frontend, ale myslím, že zatím apky pro milion lidí dělat nebudu. :D Díky moc zkusím mu dát šanci na jednom projektu a prostě uvidím :)

 
Nahoru Odpovědět
10.10.2021 12:10
Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Petr Kasnal
Radek Veverka:10.10.2021 13:14

Taky další věc je, že záleží na kvalitě serveru. Já mám k dispozici dobrý server s dobrou sítí a šlape to bez problému, stránka reaguje prakticky ihned. Samozřejmě nevím, jak to bude, když to pak nahraješ na nějaké servery typu webzdarma a podobné.

Já třeba mimo jiné preferuji Blazor, protože moc nemusím JS a líbí se mi prostě ta myšlenka C# všude. Zkus no a uvidíš, je však třeba věnovat hodně času dokumentaci a pořádně pochopit, jak to funguje.

 
Nahoru Odpovědět
10.10.2021 13:14
Avatar
Patrik Valkovič
Člen IT Redactor Gang
Avatar
Patrik Valkovič:10.10.2021 21:32

TLDR: Server-side rendering není problém, pokud lze aplikace replikovat a zátěž distribuovat.
Ono výkon v případě server-side renderingu se prostě pro velké weby řeší několika instancemi a load balancingem. Nemusí člověk živit jeden velký server (lterý ještě navíc může spadnout), ale má několik menších serverů a zátěž distribuuje mezi ně.
Má to háček a to že s tím aplikace musí počítat. Samotná aplikace musí fungovat state-less (protože další požadavek může přijít na jiný server) a tak například sesion se typicky řeší před externí rychlou služby (například Redis). Potom je otázka, jak moc škálují ty služby na pozadí, protože pokud na relační databázi pálí 100 instancí tak to nemusí zvládat sama o sobě (například DynamoDB od AWS je děláno na velké zátěže).

Nahoru Odpovědět
10.10.2021 21:32
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.