Add vortrag9
This commit is contained in:
28
vortrag9_webassembly_serverseitig.md
Normal file
28
vortrag9_webassembly_serverseitig.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Webassembly auf der Serverseite
|
||||||
|
- Ansprache in Sächsisch
|
||||||
|
- Webassembly: Geschichte
|
||||||
|
- 1996: JavaScript 1.0: Oh oh
|
||||||
|
- 2009: NodeJS: Frontend, Backend, Desktop
|
||||||
|
- JS pros: Man hat überall einen Browser, läuft überall
|
||||||
|
- JS cons: Langsam, es ist JavaScript.
|
||||||
|
- 2017: WASM 1.0, Browser als Compiletarget
|
||||||
|
- WASM pros: gleiche Vorteile, ist schneller, kein JavaScript.
|
||||||
|
- Wie funktioniert Webassembly?
|
||||||
|
- Code in beliebiger Sprache schreiben.
|
||||||
|
- Bester Support: C, C++, Rust, C#
|
||||||
|
- Compilen zu wasm32-x target
|
||||||
|
- Frontend bauen ohne JavaScript: DOM mit wasm-bindgen importieren
|
||||||
|
- Strings werden in gemeinsam allozierten Speicher raw reingeschrieben, um zwischen Sprachen auszutauschen.
|
||||||
|
- Yew, Sicamore, Leptos für Rust wasm Frontend
|
||||||
|
- Backend mit Webassembly? Warum?
|
||||||
|
- WASM 4 cloud: Sandboxing, portabel (JITC Bytecode), schnell
|
||||||
|
- WASM Laufzeit außerhalb des Brpwsers: Wasmtime, Wasmer, WasmEdge
|
||||||
|
- Kann man für Plugin Systeme nutzen
|
||||||
|
- Component Modell: wie definiert man Interfaces und wie tauscht man Daten aus?
|
||||||
|
- Eigenes Spec Format für Interfaces: WIT
|
||||||
|
- WIT definiert alle Interfaces und man implementiert dann das WIT in der Sprache
|
||||||
|
- Was ist Wasi?
|
||||||
|
- nutze WIT, um Host Interaktionen zu definieren.
|
||||||
|
- Es gibt wie gesagt fertige Runtimes aber auch CLIs, um Programme einmal aufzurufen
|
||||||
|
- Es gibt spin http component. Man kann damit webservice mit WASM Runtime bauen. Ungefähr wie Java Springboot
|
||||||
|
- Kann man als containerd-shim deployen.
|
Reference in New Issue
Block a user