Warum WebAssembly Aufmerksamkeit verdient
(harshal.sheth.io)- Einführung in WebAssembly (WASM), wo es heute eingesetzt wird und in welchen Bereichen es künftig genutzt werden könnte
Eigenschaften von WASM
-
Portabel: Läuft als standardisierter Bytecode überall im Browser oder auf dem Server
-
Universell: Viele Sprachen wie C, Rust, Go, Python und Ruby können nach Wasm kompiliert werden
-
Performance auf nativer Ebene: Im Durchschnitt 1,45- bis 1,55-mal langsamer als nativ, aber immer schneller als JavaScript
-
Schnelle Startzeit: 10- bis 100-mal schneller als Docker-Container und auch im Browser schneller als JavaScript-Parsing/-Interpretation
-
Sicher: Wurde mit Blick auf das Web entwickelt und ist durch Memory-Sandboxing sowie Funktionsbeschränkungen sicher
Bereiche, in denen WASM nützlich ist
-
Beschleunigung von JavaScript
-
Bereitstellung von Interoperabilität zwischen Programmiersprachen
-
Runtime für mehrsprachige Plug-in-Systeme
-
Als eingebettete Sandboxing-Engine, um verschiedene Third-Party-Bibliotheken sicher einzubinden und zu nutzen
-
Die Zukunft der Containerisierung: schneller, kleinerer Footprint und sicherer als Docker
-
FaaS-/Serverless-Plattformen
-
Blockchain: Kann als High-Performance-Runtime zur Ausführung von Smart Contracts genutzt werden
Prognosen und Chancen
- Neue Anwendungsarchitekturen
→ Microservices lassen sich in noch kleinere Komponenten zerlegen
- Brownfield Deployment
→ Integration von Docker- und Wasm-Containern in der Orchestrierungsschicht
- Standardisiertes Serverless-/Edge-Framework
→ Derzeit bauen Fastly, Lambda und Fission ihre Plattformen jeweils selbst auf, aber eine Standardisierung ist möglich
→ "Terraform of Serverless"
- Package Management
→ Alle Sprachen haben ihr eigenes Package-Ökosystem
→ WASM braucht einen Package Manager. WAPM gibt es zwar, ist aber fast inaktiv
Fazit
- Wenn WebAssembly so gut ist, warum wird es dann nicht breiter eingesetzt?
→ Das Marketing ist schwach. Da es weder auf das Web noch auf Assembly beschränkt ist, ist schon der Name unpassend
→ Das Marketing richtete sich überwiegend an Webentwickler, aber das tatsächliche Potenzial geht weit über den Browser hinaus
→ Es gibt noch keinen ausgereiften WebAssembly-Standard
→ Die Interoperabilität zwischen Sprachen ist noch sehr schlecht
→ Die Developer Experience ist noch stark verbesserungsbedürftig
-
Viele Punkte verbessern sich jedoch bereits und dürften innerhalb von 1 bis 2 Jahren einen akzeptablen Reifegrad erreichen
-
Aktivitäten, Ökosystem und Community rund um WebAssembly treten gerade in eine Phase explosiven Wachstums ein
1 Kommentare
Wenn Sie bei GeekNews nach WebAssembly/WASM suchen, finden Sie dort eine sehr große Anzahl an Artikeln.
Ich liste hier nur die wichtigsten Beiträge auf.
WebAssembly offiziell als W3C-Empfehlung veröffentlicht https://de.news.hada.io/topic?id=1091
WebAssembly: Kann es über den Browser hinaus erweitert werden? Die Bytecode Alliance entsteht https://de.news.hada.io/topic?id=901
MS/Google/Arm u. a. treten der Bytecode Alliance bei https://de.news.hada.io/topic?id=4172
→ Eine gemeinnützige Organisation mit dem Ziel, WebAssembly auch über den Browser hinaus nutzbar zu machen
Trends von JavaScript im Jahr 2020 und darüber hinaus - WebAssembly https://de.news.hada.io/topic?id=2778
Wie kann WebAssembly JavaScript schneller ausführen? https://de.news.hada.io/topic?id=5167
Amazon Prime Video unterstützt mithilfe von WebAssembly 8000 Gerätetypen https://de.news.hada.io/topic?id=5858
WebAssembly bringt neue Erweiterbarkeit für Netzwerk-Proxys https://de.news.hada.io/topic?id=1722
Wasmer 1.0 Release https://de.news.hada.io/topic?id=3540
WebVM, eine serverlose x86-virtuelle Maschine, die im Browser läuft https://de.news.hada.io/topic?id=5893