Kilép a böngészőből, univerzális futtatóplatform lesz a WebAssembly

Kilép a böngészőből, univerzális futtatóplatform lesz a WebAssembly
2019-11-13T09:47:25+01:00
2019-11-21T08:12:16+01:00
2022-10-18T05:10:30+02:00
  • Egyetértek majdnem az egész kommenttel.
    Én is úgy látom.
    Csak a visszaszorulás oka más szerintem.
    A JS eredeti célja nem a nagy rendszerkönyvtárak megalkotása. Sőt, eredetileg arra teljesen alkalmatlan is volt, ezért hatalmas erőbefektetéssel, de használható szintre hozták mára.

    De ennek a nagy karriernek egyetlen oka volt, a megkerülhetetlensége.
    Egyetlenként a böngészőben...
    Ha meg keresztfordítással más nyelvről JS-re fordítottak, az nem vált be igazán.

    A WASM mint fordítási target, más sokkal érdekesebb.
    Különösen ha teljessé válik a környezet szemétgyüjtővel és többszálúsággal, közvetlen DOM eléréssel.
    Akkor a Blazor motorja is jobban belesimul a böngészőbe, nem megdupláz.

    A leváltás értelmetlen, az tényleg butaság.
    Inkább a JS az lesz amire kitalálták, mint a Python. Vezérlő. Csak a nagy libeket, amiket hív már WASM-ben írják.

    De mindenképp beindul valami egészséges verseny a böngészőkben futtatható kódokra :)
    Mutasd a teljes hozzászólást!
  • Kis adalék.
    Akit érdekel a WASM ill. Blazor, annak elgondolkodtató :)

    What Replaces JavaScript

    Mivel
    1. a WebAssembly célja, illetve képessége nem a JavaScript, mint programozási nyelv, hanem a JavaScript, mint bájtkód kiváltása, illetve mivel 
    2. a JavaScript használatának legnagyobb részét nem a bájtkódként, hanem a programozási nyelvként történő használata adja,
    ezért erről a cikkről és a predikcióról, hogy a JavaScript ki fog halni a WebAssembly elterjedése miatt, egyértelműen kijelenthető, hogy hülyeség.

    A JavaScript lehet, hogy - mint bármelyik másik, korábban népszerű vagy népszerűbb nyelv - vissza fog szorulni (ahogy láttuk azt a Pascal, C, C++, Delphi, C#, Java, ... stb. esetében is), de ez biztosan nem a WebAssembly megjelenése - mint okozat - miatt lesz.
    Mutasd a teljes hozzászólást!
  • Kis adalék.
    Akit érdekel a WASM ill. Blazor, annak elgondolkodtató :)

    What Replaces JavaScript
    Mutasd a teljes hozzászólást!
  • Bár lehetne a történetben még egy JavaScriptben írt CPU-emulátor is, csak a teljesség kedvéért.
    Pl: Javascript PC Emulator
    Mutasd a teljes hozzászólást!
  • A "valóság", hogy a WASM alatt egy "komplett" .net bytekód futtató motor van.
    Innen a DLL-eket (assemblyket) töltögeti le és cacheli, olvassa be a futtató motorba.

    a HTML-t megnézve látszik, hogy azzal kezdi, hogy egy JS kód betölti a WASM-re fordított CIL futtatató motort és az a többi C# kód értelmezéséhez hasonlóan, átlátszó módon futtatja a kapott DLL kódot.

    Ez jelenleg lassú, mert a CIL futtató motor olyan amilyen.

    Nem tudom ez már a CORE motorja vagy még a régi MONO-é?
    De ugye a MS áll mögötte és ha kész lesz akkor majd nekiállhat optimalizálni a motort (mert ugye egyszerre versenyez az idővel és a hatékonysággal, hiszen ha lekési az indulást, lehet valaki más szerez komoly piaci szeletet).

    Mindenesetre a világtendenciába beleillik, már évtizedek óta ha valami technologiaváltás kell, akkor nem a régi felhalmozott kódot próbáljuk átiratni az új technologiára (mert ez bebizonyosodott hogy bukta stratégia), hanem húzunk egy réteget, hogy a korábbi kódjaik (itt egy nagy keretrendszer és infrastruktura jól kitesztelt DLL-ei) fussanak az új környezetben is.
    Az új réteg általában pár emberévnyi munka, a felhalmozott kód átírása meg sok ezer emberévnyi. És arra nincs ember. Sehol.
    Mutasd a teljes hozzászólást!
  • Az, hogy "run", önmagában nem jelent webassembly-re fordítást. A "real .NET running on WebAssembly" és az azt követő "you can re-use code and libraries" pedig kifejezetten azt sejteti, hogy a programodat CIL-ből szedi elő.
    Mutasd a teljes hozzászólást!
  • Ezt írja az MS:

    Blazor can run your client-side C# code directly in the browser, using WebAssembly. Because it's real .NET running on WebAssembly, you can re-use code and libraries from server-side parts of your application.
    Mutasd a teljes hozzászólást!
  • Amennyire én tudom, a blazor nem fordít webasm-re, csak értelmezi a bytecode-ot, igaz azt webasm-ben teszi. De lehet hogy tévedek, annyira nem néztem még utána.
    Mutasd a teljes hozzászólást!
  • Nem csak elvi akadája nincs, hanem gyakorlati sincs. Blazornak hívják azt a technológiát, amit keresel.
    Mutasd a teljes hozzászólást!
  • És? Ettől még a wasm egyszálú, a körítés meg szükséges maradnak (ez utóbbi nyilván iOS-en is, csak egy weblap méretével kapcsolatban mások az elvárások, mint egy app esetén).
    Mutasd a teljes hozzászólást!
  • C# fordítható natív arm-ra is, a xamarin pont ezt teszi IOS-en.
    Mutasd a teljes hozzászólást!
  • Semmilyen elvi akadálya nincs annak, hogy a C# fordító webassembly-t generáljon.

    Azt azért érdemes észben tartani, hogy a wasm bele leginkább egy RISC processzorra emlékeztet.
    Tehát pl. ha menedzselt nyelvet akarsz futtatni, akkor kell hozzá mellékelni egy GC-t is, illetve arra sem árt emlékezni, hogy az alap wasm egyszálú, szóval a szemétgyűjtés nem tud majd a háttérben történni. Szóval nem véletlen, hogy leginkább C/C++ meg esetleg némi Rust folyik a wasm-csapból.
    Mutasd a teljes hozzászólást!
  • Nem biztos, hogy megint fel kellene találni még egyszer a melegvizet.
    Mutasd a teljes hozzászólást!
  • Semmilyen elvi akadálya nincs annak, hogy a C# fordító webassembly-t generáljon. A java appletnek sem az volt a baja amúgy, hogy annyira szutyok lett volna a bytecode, hanem az, hogy az akkori vasakon egy örökkévalóság volt, mire felállt a java virtuális gép - pláne, mert nem volt integrálva a böngészőbe mint a javascript. Másrészt, akkortájt annyira a java GUI sem volt kitalálva, a java applet általában JWT-re épült, annak meg megvolt az a szép tulajdonsága, hogy platformfüggő volt, elvben ugyan létezett windowson és unixon/linuxon is, csak épp durván eltért a két felület, az ami windowson normálisan nézett ki, az linuxon vagy más unixokon gyakorlatilag használhatatlan volt.
    Mutasd a teljes hozzászólást!
  • Lehetne hozzá egy jó kis osztálykönyvtár is, folyamatosan viszonylag kompatibilis változásokkal, egyre bővülő funkcionalitással, egészen a nyolcadik verzióig, ahol viszont úgy döntenek, hogy túl nagy lett, el kell kezdeni kiszedni belőle komponenseket. Ööö... miről is jutott ez az eszembe?
    Mutasd a teljes hozzászólást!
  • Na így jár aki félinformációkból próbál okos lenni. :/
    Ünnepek között majd utánajárok ennek is, mi az ördög ez.
    Mutasd a teljes hozzászólást!
  • A WASM-nak a világon semmi köze nincs ám a megjelenítéshez.
    Mutasd a teljes hozzászólást!
  • Ha eldobják a GUI rajzolásból a HTML-t jó messzire, ám legyen. Nagyon tele a padlás már a hatszáz divből összerakott egyedi ComboBox-okkal, stb-stb...
    Mutasd a teljes hozzászólást!
  • Annak idején volt Java Applet. Nem kellett a népnek. Akkor már miért nem a CLR-t etetik meg a böngészővel? Legalább életképes nyelvekkel lehetne webre is programozni.
    Mutasd a teljes hozzászólást!
  • A c kódot amúgy is le lehet fordítani szinte bármilyen platformra.
    Mutasd a teljes hozzászólást!
  • Utobbi ketto tamogatja, es faszan mukodik mobilon.
    Mutasd a teljes hozzászólást!
  • "

    Töröm a fejem, miért lesz ez jobb, mint a .NET CLR vagy a JVM.

    "
    Egy olyan előnye is lehet, hogy eredetileg natív, pl. c c++-ban írt kódok egy része könnyen portolható rá. (Egy C program pl. ami csak a memóriában turkál kb. egy az egyben fordítható.) Nem csak a JVM-et, hanem a Docker jellegű cuccokat is kiválthatja ez hosszútávon. Legalábbis a Docker megalkotója ilyet szólt:

    Twitter
    Mutasd a teljes hozzászólást!
  • Böngésző nem érti meg a Java bytecode-ot és .NET CLI-t, míg WebAssembly wasm-et fogja érteni. A böngésző platformot mellé tervezik standalone VM-eket készíteni más platformokra.
    Mutasd a teljes hozzászólást!
  • Pl. mert ugyanaz a bytekód tudna menni böngészõben és desktopon. Esetleg még akár a droidon is dex helyett.
    Mutasd a teljes hozzászólást!
  • A windowsra és a droidra többé-kevésbé azt telepítesz amit akarsz. Az Apple kérdés, de mire ez jelentõs tényezõ lesz a piacon, majd csak kihalnak végre.
    Mutasd a teljes hozzászólást!
  • Töröm a fejem, miért lesz ez jobb, mint a .NET CLR vagy a JVM.
    Mutasd a teljes hozzászólást!
  • Kéne még a Microsoft, Apple és Google, hogy életképes legyen. Az utóbbi kettő mobil támogatása nélkül nemfog sikerülni
    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