Blazor Wasm

Blazor Wasm
2021-01-03T01:09:09+01:00
2021-01-05T13:04:37+01:00
2022-10-17T11:50:35+02:00
  • Üzleti appra tökéletes. Nekem pl  nagyon interaktív ,drag-droppal átrendezhető dashboardot kell csinálnom. A csempék többsége meg HighCharts diagram. Jelenleg nincs Blazor supportja a HighCharts-nak. Valamint szintén dragdopos , feladat és erőforrás beosztó  az egyik modul amit csinálnom kell. Ezek nem tipikus  Blazorra termett feladatok. A méret nálunk sem számít, a partnereink ki tudják várni a 20 mega letöltést. Csak egyszerűen ez a szerszám nem erre a feladatra való.
    Mutasd a teljes hozzászólást!
  • Ha néhány kisebb dologra odafigyelsz, nagyon egyszerűen oda-vissza tudsz konvertálni a szerver/kliens Blazor között.

    Ha nem is kapcsoló, de kb. néhány sor a különbség.
    Mutasd a teljes hozzászólást!
  • Nincs ilyen kapcsoló. Vagy Server-side appot csinálsz, vagy Wasm-est, nyilván vannak közös dolgok, amiket használhatnál, ha mindkettőt támogatni szeretnéd - csak minek.
    Igazából én úgy érzem, hogy a Server-side Blazor egy kényszerpálya volt, mert nem volt még Wasm-es. Biztos van olyan alkalmazás, ahol a Server-side-rendering előnyben lenne a wasm-hez képest, de én nem látom, hogy mi lenne az.
    Mutasd a teljes hozzászólást!
  • Nem tévedsz, csak nincs relevanciája a Server-side Blazor csatlakozási problémáknak egy Bazor Wasm topikban


    Háát, én úgy emlékszem, hogy anno azzal reklámozták a blazort, hogy egy kapcsoló átbillentésével lehet váltani a wasm meg a szerveroldali blazor között váltani.
    Szerintem innentől kezdve releváns lehet bárhol a téma, ahol blazorról diskurálnak.


    Amúgy meg mivel éppen arról volt szó, hogy nagy a blazor által lerántott libek mérete 40 mb, miért ne lehetne felhozni mellékszálként, hogy a szerveroldali blazor ilyen szempontból pehelysúlyú? (cserébe a signalr-es terhelésért)
    Mutasd a teljes hozzászólást!
  • Mondjuk én üzleti appokon dolgozom, ott annyira nem szempont hogy ratyi weben is mennie kell. De ha ez annyira gond lenne, akkor az index.hu sem lenne 40 mega.

    A mostani projektünkön is Angular az UI. El lehet lenni vele, de egyszerûbb lenne az élet csak C# alapokon.
    Mutasd a teljes hozzászólást!
  • Nem tévedsz, csak nincs relevanciája a Server-side Blazor csatlakozási problémáknak egy Bazor Wasm topikban, ennyi erővel ideírhatom, hogy "most épp süt a nap", csak minek... :)
    Mutasd a teljes hozzászólást!
  •  És a server side Blazorhoz fűztem nagy reményeket egy ötlet kapcsán

    A véleményemet azért gondolom leírhatom valamiről a hozzászólásom egy részében , ami közben eszembe jutott. Szólj ha tévedek.
    Mutasd a teljes hozzászólást!
  • A SignalR-t a server side Blazor használja. mi itt a Wasm Blazorról beszélünk! Miután letöltődött, ennek nem kell semmilyen connection (nyilván az API hívások kivételével, ha vannak)
    Mutasd a teljes hozzászólást!
  • Ezt szerintem bármiben megírhatod, talán pont egy ilyen  jól definiált feladaton érdemes kipróbálni a Blazort.  És a server side Blazorhoz fűztem nagy reményeket egy ötlet kapcsán, de aztán kijózanodtam. Nagyon nagy a latency ha másik kontinensről használják a cuccodat. 

    Yes, the server-side flavor of Blazor is dependent on the network latency to the server. If the latency (ping, lag) is around 100-ish milliseconds, you will start noticing lagging, at about 200 the app starts breaking because the SignalR data requests come out of sync too much, and also the end user lag becomes very noticeable.

    Szóval ezt megint csak intranetre tudom elképzelni.
    Ami a jövőbeni potenciált illeti, nálam több mint 3 éve tart a szerelem az Angularral, egyre jobb dolgokat tesznek bele.  Itt olvastam : r/Blazor, több Angular fejlesztő is nekiugrott a céges appokat átrakni, de a vége az lett, hogy majd 1-2 év múlva újra nekifutnak, mert nem váltotta be a hozzá fűzött reményeket. Jó lesz ez majd, 2021 vége felé. Méreten is fognak faragni megígérték.
    Mutasd a teljes hozzászólást!
  • Ugye azt tudod, hogy az 3G-n mennyi idő alatt jön le?  Értsd meg hogy amire én utalok az a felhasználási terület egy customer facing dolog, amit mondjuk az összes kontinensen használnának. Ne félj  a .Net buborékon kívül is gondolkozni. Én megtettem , és nem bántam meg. Ez a csakadotnet gondolkodásmód amivel látod a világot, hasonlít a Stargate sorozatban az Ori szálhoz.
    Ori (Stargate) - Wikipedia
    Mutasd a teljes hozzászólást!
  • Azt ugye tudod, hogy a 40 mega az kb. az Index.hu főoldala ?
    Mutasd a teljes hozzászólást!
  • Nekem amire kéne az egy klasszikus SPA. Gyakorlatilag egy SaaS, amiért az ügyfél fizet x pénzt havonta és naponta vagy pár naponta használja. Valószínűleg az Angular is jó lenne rá, csak így talán kényelmesebb és nagyobb jövőbeli potenciált látok benne mint egy Angularban.
    Mutasd a teljes hozzászólást!
  • Ugyanarról beszélünk.  A 40 mega sem probléma egy céges hálón, 100 Mbites hálón. De egy public facing appot ugye nem csak 100 Mbiten látogatnak.  És bizonyára ismered a méréseket, hogy az user 3-4 sec után már lép is le, ha nem jön be a főoldal. Tehát ott probléma lehet a méret illetve az idő.  Persze PWA, de annak is le kell csorognia először, meg persze minden program update-kor.

    Én simán benyelem a 2 DTO-t ha cserébe olyan eszközt kapok, amiben nagyon nehéz gányolni, és ha odaülsz egy kolléga kódjához, akkor jó eséllyel ugyanúgy oldott meg mindent , mint te. Ezt szokták az Angular  hátrányaként emlegetni, de ez egy nagyobb teamnél kifejezetten előny.
    Mutasd a teljes hozzászólást!
  • Nincs az 5 sec, mert tömörítve jönnek le a csomagok.
    Mutasd a teljes hozzászólást!
  • Ezt a 40 Mb-ot nem értem. Egy 100 Mbit-es hálón ez 5 másodperc, első alkalommal. Ha valami olyan SPA-t készítesz amit mondjuk a user minden nap használ akkor igazából csak az első nap amikor lassú a betöltés és utána már minden megy flottul.

    Jelenleg a Blazor észrevehetően lassabb mint az Angular és a React, de ez állítólag 2021 végére elmúlik, amint készen lesz az AOT.

    Igen, sajnos az AOT-t kivették az 5-ös .net-ből.

    Amúgy tényleg nem értem mennyiben produktívabb a Blazor mint az Angular

    Én ahogy értettem, jobb az architektúra, nem kell vesződni a rengeteg DTO-vel két oldalon is.
    Mutasd a teljes hozzászólást!
  • A 30-40 mb valós sajnos, 3rd party libek használata esetén, de csak az első betöltéskor kell kivárni a letöltését, mivel a böngésző gyorsítótárazza. JS interop-ot csak 2 dologhoz kellett használnom: showalert és setfocus. Nem értem, ez milyen performancia-csökkenést okoz...
    Mutasd a teljes hozzászólást!
  • Igen, a kolléga ebben írta a saját OAUTH szerverünk admin felületét. Arra tökéletesen megfelel. De erősen UI centrikus alkalmazáshoz én nem ajánlanám. Ha js interopozni kell , akkor az bizony performancia csökkenéssel jár, meg plusz kódolással. Amúgy tényleg nem értem mennyiben produktívabb a Blazor mint az Angular ( mondom ezt úgy hogy fullstackes vagyok, .Net Core & Angular stacken). A TS már nagyon komoly nyelvvé nőtte ki magát. Az Angular meg eleve annyira enterprise koncepció mentén épült, hogy öröm nézni.  Még valami, a méret. Csak céges apphoz tudom elképzelni , ahol a usernek ki KELL várnia hogy végetérjen az előjáték, és letöltődjön az app, mivel az a munkaeszköze. Nem a 4 mega a sok, hanem a mellérakott Devexpress, Kendo , SyncFusion. Ott már 30-40 megában kell gondolkozni. Ha belső használatra kell valami,  és a kollégák C# on szocializálódtak, akkor nem kérdés hogy a Blazor a jó választás. Jelenleg a Blazor észrevehetően lassabb mint az Angular és a React, de ez állítólag 2021 végére elmúlik, amint készen lesz az AOT.
    Mutasd a teljes hozzászólást!
  • Sebességben mennyire érezted lassabbnak egy Angularhoz vagy Reacthoz képest?

    React-tal nem nagyon lehet versenyezni, ha low-end rendszereken kell futni, de a Blazor nekem nem tűnik lassabbnak, mint egy Angular.

    Sebesség szempontjából a fő probléma a payload-dal van. .NET 5 alatt (ahol már sokat optimalizáltak) pl. a System.Private.CoreLib és a dotnet.wasm 4,1 MB, ehhez jön hozzá minden más. Nálam egy kis néhány oldalból álló kattintgatós app 8-9 MB-ot húz le. Ugyanez az app React/Angular-ban nem lenne több, mint 0,5-1MB.

    Nyilván nem lineárisan emelkedik majd az app mérete, hiszen a base lib-ek teszik ki ennek a 60-80%-át, de ezzel akkor is számolni kell.

    A fejlesztési élmény viszont nem összehasonlítható egy React-tal, ami ott fél oldal boilerplate, itt egy sor. Nagyon szépen átgondolt architektúra, olvasható kód.

    Így nekem enterprise használatra tűnik inkább alkalmasabbnak, consumer oldalra egyelőre maradnék a natív megoldásoknál. Sok külső lib-hez úgyis meglévő natív JS lib-eket kell behúzni, és a JS interop-nak is van performance overhead-je.

    Ha van sávszélesség és gyorsan kell egy karbantartható natív klienst összedobni, a Blazor kitűnő megoldás lehet. Optimalizált scenario-kra én ma még nem használnám.
    Mutasd a teljes hozzászólást!
  • Vannak 3rd party libek már, az összes nyagy gyártó megcsinálta a magáét. Devexpress-t használtam ebben. Vannak benne még bugok, meg hiányzó feature-ök, de már egészen használható.
    Van amúgy a Blazorize nevű csomag, az Open source, nyilván kisebb tudással - előbb azt nézegettem, de kevésnek bizonyult sajnos.
    Szerintem nincs gond a sebességével. Az én appomban elég sok adatot kell kezelni gyakran egy képernyőn, de nem tűnik lassúnak (nyilván lassabb, mintha mondjuk Wpf-es app lenne). Angularban nem csináltam meg ugyanezeket, úgyhogy azzal összehasonlítani nem tudom. :)
    Hja, jól össze van rakva és külön öröm (nekem legalábbis), hogy kliens oldalon is C#-ban dolgozol és nem a JS-ben. Használhatsz pl. közös classokat a szerverben és a kliensben közös dll-ből, meg sorolhatnám az előnyöket...
    Mutasd a teljes hozzászólást!
  • Konkrét még nincs. Inkább tágabb. Használtál valami third party komponens gyűjteményt? Nekem anno a Devexpressnél nagyon bejött, hogy sokszor ha kért valamit a user akkor vagy már készen volt vagy pár opció bekapcsolásával már ott is volt. Ez megérte azt, hogy kevésbé volt rugalmas a rendszer és kicsit be volt határolva a dolog.
    Sebességben mennyire érezted lassabbnak egy Angularhoz vagy Reacthoz képest? Én amiket olvastam, hogy architekturálisan nagyon jól össze van rakva az egész kliens oldali Blazor.
    Mutasd a teljes hozzászólást!
  • Igen, én csináltam benne egy kisebb vállalatirányítást, ami már élesben van. Egész kiforrottnak mondható a cucc. Kérdezz bátran, ha van valami konkrét...
    Mutasd a teljes hozzászólást!
  • Van itt bárki aki 1-2 napnál többet foglalkozott Blazor Wasm fejlesztéssel, esetleg csinált benne éles projektet?
    Tapasztalatok érdekelnének.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd