Már kipróbálható a Blazor, a .NET a böngészőkben futó kiadása

Már kipróbálható a Blazor, a .NET a böngészőkben futó kiadása
2018-03-23T10:09:00+01:00
2019-04-23T21:44:48+02:00
2022-10-18T09:20:38+02:00
  • Blazor now in official preview!
    ASP.NET Blog
    Mutasd a teljes hozzászólást!
  • Befektetett munka kérdése.

    Ahogy a managelt kód futtatásra is vannak viták, hogy lassú a nativ kódhoz képest, aztán kiderül hogy annyival mégsem, miközben megcsinálja a GC-t is... a fejlesztési költségeket is figyelve, a nem túl intenzív igényű feladatoknál (adatbázis, 3d motor) optimális döntés lehet pl. a java vagy c# a C++ helyett.
    Ugyanez a helyzet a WASM alatt futó kóddal is.
    Kérdés mennyivel lassabb egy wasm alatt megalkotott futtató motorban futó kód, mint a "natív" wasm, amit C++, Java vagy más magasabb szintű nyelvből fordítunk.
    A másik oldalról nem hw hanem sw krízis van a világban.
    A hw egyre gyorsabb, egyre gyorsabbak és több magúak a processzorok, egyre több memória a norma, míg a dotnet kódok átírására semmi esély, hogy mindent átvigyenek wasm-be.
    Átéltük ezt már sok platformon, mára igen gyakori.
    Mutasd a teljes hozzászólást!
  • Az úgy nem lesz gyors.
    Mutasd a teljes hozzászólást!
  • De a lényeg, hogy nem is akar senki WASM-re fordítani C#-ból.
    Ha ez az eszköz stabilan működik, akkor az IL kódot (magát a DLL-t!) futtaja egy WASM-ben írt futtató motor.

    A legegyszerűbb példa.
    A szabványos nuget csomagokat töltheti le és futtathatja.
    Mutasd a teljes hozzászólást!
  • A .NET core a dolgok jelen állása szerint nem tud webassemblyre fordítani. A mono pedig az llvm backenden keresztül egyebek közt arra is tud.
    Mutasd a teljes hozzászólást!
  • Nem ismerem a GWT-t, de ez alapvetően más.
    Nem a Java forráskódból készít JS kódot módszer (amennyire tudom a GWT ezt csinálja), hanem (ha párhuzamot akarunk) WebASM-ben implementált JVM, ami közvetlenül futtat JAR-t és CLASS-t, nincs valamiféle előfordítás, konverzió, stb.

    Ha elkészül egyszer és gondolom Core-ra átdolgozzák, akkor a böngészőböl közvetlenül a nuget csomagokat húzza le.
    Mutasd a teljes hozzászólást!
  • Azért az MS helyében megdobnám egy kis pénzzel a projektet, hogy Mono helyett dolgozzák át Core-ra, mert az most a főcsapásirány.
    Mutasd a teljes hozzászólást!
  • Gyakorlatilag feltalálták a GWT-t.
    Mutasd a teljes hozzászólást!
  • Az alap libek szerintem ugyanúgy gyorsítótárazva lesznek mint js esetén. Persze azon el lehet szörnyülködni, hogy 1.3 mega egy oldal, de akkor már szörnyülködhetünk azon is, hogy hány windows95 hardverigénye férne el egy "lightweight" böngészőben.
    Mutasd a teljes hozzászólást!
  • Ha minden igaz ezt arra találták ki hogy a .net igen nagy meglevő kódbázisát mindenféle átforgatások és trükkök nélkül egyszerűen lehessen használni (magát a bytekódot, a DLL-eket) böngészőben futó alkalmazásokban (nem honlapokban, hanem alkalmazásokban).

    Vagyis egy GUI-t kell csak a böngésző igényeire szabni, de a mögöttes rétegek azok mind jöhetnek a más rendszerekkel közös kódokból.

    Azért a dotnet annyira nagy és robosztus rendszer, hogy még egy MS méretű óriás sem meri dobni és újrakezdeni. Ez nem egy újabb kis JS keretrendszer, amit egy pár fős garázscég képes összehozni.
    Mutasd a teljes hozzászólást!
  • amit nem kell kidobni kb. évente, hanem hosszú távon lehet rá építeni.

    Az elmúlt évtizedben én még nem sok olyan újdonságot láttam, amit "szagra" nem direkt arra találtak ki, hogy évente ki kelljen dobni. A szemétgyártás az új gazdaságpolitika. Én vakon is azt jósolnám, szerintem tévedsz, ha a dot-böngészőt (vagy nevezd, ahogy akarod) másnak hiszed.
    Mutasd a teljes hozzászólást!
  • És amiben más ill. több, mint a többi megoldás, az az (bocs ha tévedek, mert annyira nem mentem bele), hogya Mono-t vitték le a böngészőbe wasm-ként így nem kell innen a programforrást JS/AsmJS/wasm-re fordítani, hanem (ha jól értem) a dotnet lefordított bytekódját képes futtatni.
    Mutasd a teljes hozzászólást!
  • A kontextus (ti. amiben ez újdonság) itt a .NET és a C#. Az, hogy más nyelveken/platformokon már meg lehetett oldani eddig is, a cikk elején is említve van (a node.js személyében).
    Mutasd a teljes hozzászólást!
  • Néhány gondolat:

    1. A 0.1-es verzióból kiindulva bőven van tere az optimalizálásnak.

    2. Egy picit komplexebb JS UI fordított, minimalizált kódja is simán megás méretű már, nem véletlen, hogy megy a trükközés mindenféle szerver oldali előrendereléssel. Ma már átlagos telefonok is simán kezelik ezeket, mobilhálózaton keresztül is.

    3. Még ha a szintlépés meg is marad: a kliensek és hálózatok egyre erősebbek és gyorsabbak. Ahol kritikus a sebesség és egyszerű UI is megteszi, ott nem kell használni, ahol viszont fontos a nagyon komplex, desktop-szerű UX, ott viszont nagyon jó, ha egy olyan stabil és karbantartható technológia születik, amit nem kell kidobni kb. évente, hanem hosszú távon lehet rá építeni.
    Mutasd a teljes hozzászólást!
  • Úgy van.
    Sőt! A Vaadin óta is számos megoldás született erre:
     - JS backend - JS frontend
     - Scala backend - Scala frontend
     - Kotlin backend  - Kotlin frontend
    Mutasd a teljes hozzászólást!
  • A Blazor révén végre egyetlen nyelvben lehet megírni a frontend és backend kódokat is


    Vaadin a Java világában ezt tudja régóta, vagy tévednék?
    Mutasd a teljes hozzászólást!
  • Fantasztikus, hogy megcsinálták, rémes, hogy létezik.

    Bővebben:
    - az egész wasm nagyon tetszik, meg akár a .NET is rajta
    - viszont az alkalmazások mérete ezzel szintet lép, a kis példaprogramjuk (https://blazor-demo.github.io/ ) 1.3 megát tölt le (500 kilobyte körül van a futtatókörnyezet, mono.js-mono.wasm-blazorxy.dll-ek, 578 kilobyte az mscorlib.dll, a többi tulajdonképpen eltörpül ezek mellett. Maga az alkalmazás se kicsi amúgy, 17 kilobyte MicroApp.dll-MicroApp.Views.dll, és ez tényleg a 3 "tab" meg a két gomb kódja csupán, mert a stíluslap és a font külön vannak)
    Mutasd a teljes hozzászólást!
  • A már a kipróbálható, a Blazor, a .NET a böngészőkben a futó a kiadása

    Ne spórolj az a val, világnap :)
    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