Beschreibung
WebAssembly: Grundlagen und Konzepte
Zielgruppe: Nur für Unternehmen und Institutionen.WebAssembly (oft abgekürzt als WASM) ist ein Binär-Code-Format für ausführbare Programme und ein zugehöriges Textformat, die auf Webseiten in einer sicheren und effizienten Weise ausgeführt werden können. Es ist darauf ausgelegt, neben JavaScript als zweite Sprache für die Webentwicklung zu dienen, und bietet Performance-Vorteile bei bestimmten Anwendungsfällen.
- Technische Relevanz: WebAssembly ist eine aufstrebende Technologie, die zunehmend Bedeutung in modernen Webanwendungen gewinnt. Es bietet die Möglichkeit, Code nahezu in nativer Geschwindigkeit im Browser auszuführen, was besonders für rechenintensive Aufgaben wie Spieleentwicklung, Datenanalyse oder Videoverarbeitung wichtig ist.
- Leistungsoptimierung: WebAssembly bietet signifikante Performance-Vorteile gegenüber reinem JavaScript in bestimmten Anwendungsgebieten. Das Verständnis, wie und wann WebAssembly eingesetzt werden kann, ist entscheidend für die Entwicklung hochleistungsfähiger Webanwendungen.
- Interoperabilität: Einer der Hauptvorteile von WebAssembly ist die Möglichkeit, bestehenden Code in verschiedenen Programmiersprachen (C, C++, Rust, etc.) zu kompilieren und im Web auszuführen. Das ermöglicht die Wiederverwendung von Code und Bibliotheken und erleichtert die Integration in bestehende Systeme.
- Sicherheit: WebAssembly ist darauf ausgelegt, sicher in einer Sandbox-Umgebung innerhalb des Browsers zu laufen. Das Verständnis der Sicherheitsmodelle und -einschränkungen kann dazu beitragen, sicherere Webanwendungen zu entwickeln.
- Zukunftsorientierung: Mit der fortlaufenden Entwicklung von WebAssembly, einschließlich geplanter Erweiterungen und neuer Funktionen, wird die Technologie wahrscheinlich eine immer wichtigere Rolle im Web der Zukunft spielen. Frühzeitiges Verständnis und Können in WebAssembly bereitet Entwickler auf diese Trends vor.
Kommende Starttermine
Inhalte / Module
- WebAssembly im Vergleich zu JavaScript
- Performance-Vorteile
- Sicherheitsmerkmale
- Anwendungsbereiche
- Einschränkungen
- Architektur und Konzept
- Stack-Maschine
- Binärformat und Textformat (WAT)
- Module, Funktionen und Code-Organisation
- Speicherverwaltung
- Hallo Welt in WebAssembly
- Struktur eines einfachen Programms
- Kompilierung
- Laden und Ausführen im Browser
- Debugging-Grundlagen
- Praxisübung
- Erstellung eines einfachen "Hallo Welt"-Programms
- Kompilierung und Debugging
- Ausführung und Überprüfung
- Fragen und Diskussion
- Werkzeuge für WebAssembly
- Emscripten
- WebAssembly Binary Toolkit (WABT)
- IDE-Unterstützung
- Online-Tools
- Sprachunterstützung
- C und C++
- Rust
- AssemblyScript
- Andere Sprachen
- Kompilierung und Debugging
- Übersetzungsprozess
- Optionen für Debugging und Tracing
- Sourcemaps
- Performance-Analyse
- WebAssembly-Loader
- Browser-Unterstützung
- Laden von WebAssembly-Modulen
- Polyfills und Fallback-Lösungen
- Performance-Optimierungen beim Laden
- Praxisübung
- Auswahl einer Sprache und eines Werkzeugs
- Kompilierung einer einfachen Anwendung
- Debugging und Performance-Analyse
- Fragen und Diskussion
- WebAssembly im Webkontext
- WebAssembly und DOM
- Event-Handling
- Netzwerkanfragen
- Zugriff auf Web-APIs
- Interaktion mit JavaScript
- Funktionen aufrufen und Daten übergeben
- Asynchrone Kommunikation
- Fehlerbehandlung
- Benchmarking
- JavaScript-API für WebAssembly
- WebAssembly.instantiate()
- WebAssembly.Memory und WebAssembly.Table
- Garbage Collection
- Interoperabilität mit JavaScript-Bibliotheken
- Datenübertragung
- Arbeiten mit Typed Arrays
- Text und Strings übertragen
- Shared Memory und Threads
- Serialisierung und Deserialisierung von Daten
- Praxisübung
- Einbinden eines WebAssembly-Moduls in eine existierende JavaScript-Anwendung
- Interaktion und Datenübertragung
- Performance-Optimierung und Debugging
- Fragen und Diskussion
- Performance-Optimierung
- Profiling und Benchmarking
- Best Practices für schnellen Code
- Fallstricke und ihre Lösungen
- CPU- und Speicheroptimierung
- Sicherheitsaspekte
- Sandboxing und Isolation
- Sicherheitsrisiken und Angriffsvektoren
- Best Practices für sicheren Code
- Überprüfung und Audits
- Zukunft und Ökosystem von WebAssembly
- Geplante Features und Roadmap
- WebAssembly in Server und Cloud
- Community und Beitragsmöglichkeiten
- Relevante Konferenzen und Ressourcen
- Anwendungsbeispiele
- Fallstudien erfolgreicher Projekte
- Best-Practice-Beispiele
- Kreative Anwendungen von WebAssembly
- Industrie- und Markttrends
- Abschlussprojekt und Q&A
- Planung und Entwicklung einer kleinen WebAssembly-Anwendung
Zielgruppe / Voraussetzungen
- Webentwickler: Dies ist die Hauptzielgruppe des Seminars. Sowohl Frontend- als auch Backend-Entwickler, die ihre Kenntnisse erweitern und die Leistung ihrer Anwendungen verbessern möchten, werden von diesem Kurs profitieren.
- Software-Ingenieure: Ingenieure, die bereits in anderen Programmiersprachen wie C, C++ oder Rust arbeiten und ihre bestehenden Projekte ins Web bringen möchten, werden die Interoperabilität und Flexibilität von WebAssembly zu schätzen wissen.
- Spieleentwickler: Da WebAssembly erhebliche Leistungsvorteile bietet, können Spieleentwickler davon profitieren, insbesondere wenn sie ihre Spiele auf Webplattformen portieren möchten.
- Systemarchitekten: Diejenigen, die sich auf die Planung und Architektur von Softwarelösungen spezialisiert haben, können durch das Seminar ein besseres Verständnis für die Möglichkeiten und Einschränkungen von WebAssembly im Kontext moderner Webarchitekturen gewinnen.
Hinweis: Dieser Kurs richtet sich an Mitarbeitende aus Unternehmen und Institutionen.
Für Privatpersonen ist dieser Kurs leider nicht geeignet.
Bitte beachten Sie: Bildungsgutscheine der Agentur für Arbeit werden für diesen Kurs NICHT anerkannt.
Abschlussqualifikation / Zertifikat
Infos anfordern
GFU Cyrus AG
Erweitern Sie Ihre IT-Skills mit einem offenen IT-Training oder ganz nach Ihren Bedürfnissen durch eine individuelle IT-Schulung. Programmiersprachen (C#, Python, Java, …), Microsoft Office 365, Anforderungsmanagement, Projektmanagement, Business Intelligence, Data Science, Künstliche Intelligenz, IT-Sicherheit , Administration & Datenbanken, Softwareentwicklung, Testmanagement...
Erfahren Sie mehr über GFU Cyrus AG und weitere Kurse des Anbieters.