Velkou vyhodou je, ze ted muzete v svych aplikacich pouzit spoustu hotoveho C-ckoveho kodu. Treba potrebuji nejakou lepsi matematickou knihovnu tak vezmu C-ckovy zdrojak, prezenu ho do wasm a JS aplikace pak vidi API knihovny a muze s ni pracovat. Treba standardni Math.PI mam jenom na 16 desetin ale FancyMath.PI bude na 64 desetin atd.
Co se tyce bezpecnosti je to sandbox, na disk primo nesahnes, na pamet primo nesahnes, na sit primo nesahnes. Prinejhorsim zhodis browser.
Lebo nieje nad to riesit komplenejsiu matematiku, grafiku, vlastne vsetko v browsery pomocu js. To je proste ta jedina sprvna a najoptimalnejsia cesta na ktoru sme prisli po desatrociach vyvoju sw.
Zacinam s laskou spominat na obavy z Y2K. Oproti tomu co sa teraz deje to bol taky pekny joke.
No ono buffer overflow chyby a rozne exploity su by design o tom ze si sahas na tend disk nepriamo. Rozhodis sandal browseru a potom lezes kam potrebujes bez pardonu a opytania.
Tak to jiste, viz o fous vejs. Pust si ten exac, dyk je to bezpecny, mas prece ten operacni system no ne?
Ale jo, pro nektery tupejsi ... pseudokod ...
reknemez, ze zavolam neco jako x = new(y) ... reknemez, ze browser to !interpretuje! jako #FE56AC78 mno a co se asi tak stane, kdyz mu zvenku, v tom uzasnym bytekodu ... poslu #FF56AC78. Jo aha, to nikdo nevi. Protoze az do ted to nastat nemohlo, takze to nikdo neresil. Takze muze nastat naprosto cokoli, od neskodnyho padu browseru po ziskani kontroly nad OS.
Hlavne ten bytecode definovany v wasm nema nic spolecneho se skutecnou interpretaci ci prekladem do nativniho kodu,ktery browser interne dela... toto je ekvivalentni podpore dalsiho jazyka jako js,ktery je ale navic extremne jednoduchy na zpracovani/preklad.
Zadny jednotny interni bytecode neexistuje mezi prohlizeci.