Add vortrag9

This commit is contained in:
2023-03-12 16:51:18 +01:00
parent cfe8fb2aab
commit 0faa78cf0e

View 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.