Szkolenie: Rust - WebAssembly
Szkolenie Rust - WebAssembly to praktyczny kurs, który uczy kompilacji kodu Rust do modułów wasm
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:RUST/WASM
Rust - WebAssembly
Cele szkolenia
Szkolenie przygotowuje do samodzielnego budowania modułów WebAssembly w języku Rust oraz ich osadzania w przeglądarce i runtime serwerowych z użyciem Wasmtime i Wasmer
Szkolenie uczy interoperacyjności między Rust a JavaScript na poziomie modułu wasm z wykorzystaniem wasm-bindgen, js-sys i web-sys oraz modelu WASI 0.2 i component model
Szkolenie pokazuje, jak projektować architekturę plugin-host w oparciu o WebAssembly, Wasmtime i Wasmer przy zachowaniu bezpieczeństwa sandboxu i modelu capabilities
Szkolenie rozwija umiejętność optymalizacji modułów WebAssembly pod kątem wydajności, rozmiaru i czasu startu z użyciem wasm-opt i narzędzi ekosystemu
Szkolenie wprowadza w tworzenie i zarządzanie interfejsami komponentów z użyciem WIT i wit-bindgen oraz integrację między językami
Dla kogo?
Programistów Rust zainteresowanych rozszerzeniem kompetencji o kompilację kodu do modułów WebAssembly i ich osadzanie w aplikacjach
Inżynierów platformowych poszukujących bezpiecznych i wydajnych rozszerzeń wykonywanych w piaskownicy w modelu plugin-host
Efekty kształcenia
Uczestnik projektuje i kompiluje biblioteki Rust do WebAssembly (wasm32-unknown-unknown, wasm32-wasip1, wasm32-wasip2) zgodnie z wymaganiami przeglądarki i środowisk serwerowych
Uczestnik stosuje wasm-bindgen, wasm-pack oraz wasm-tools do integracji Rust z JavaScript i budowy komponentów WebAssembly w modelu WASI
Uczestnik osadza moduły wasm w runtime Wasmtime i Wasmer, budując skalowalną architekturę plugin-host
Uczestnik optymalizuje rozmiar, czas startu i wydajność modułów WebAssembly przy użyciu wasm-opt, profilowania i benchmarkingu
Uczestnik korzysta z WIT i wit-bindgen do definiowania interfejsów oraz kompozycji komponentów między językami w component model
Uczestnik wdraża moduły WebAssembly w modelu component model z zachowaniem zasad bezpieczeństwa sandboxu, izolacji oraz capabilities
Uczestnik analizuje wydajność i identyfikuje pułapki interoperacyjności Rust–JavaScript w kontekście typed arrays i zarządzania pamięcią
Wymagania
Praktyczna umiejętność programowania w języku Rust, znajomość modelu ownership i typów Result oraz Option
Podstawowa znajomość ekosystemu JavaScript i HTTP
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Fundamenty WebAssembly w Rust
Historia i obecny stan standardu WebAssembly
Model wykonania, liniowa pamięć, typy wartości oraz ograniczenia sandboxu
Cele kompilacji wasm32-unknown-unknown, wasm32-wasip1, wasm32-wasip2 (wymaga Rust 1.82+)
Narzędzia ekosystemu: cargo, wasm-bindgen, wasm-pack, wasm-tools, wit-bindgen
Profil kompilacji, optymalizacja rozmiaru, twiggy, wasm-opt, strip
Diagnostyka i debugowanie modułów WebAssembly
Interoperacyjność Rust i JavaScript
wasm-bindgen: eksport funkcji, typy współdzielone, closures, Promise
js-sys i web-sys jako surface do host environment
Przekazywanie danych binarnych i obsługa typed arrays
Osadzanie modułu wasm w Node.js i przeglądarce jako izolowany komponent
Profilowanie wydajności i typowe pułapki alokacji
WASI i component model
WASI 0.1 (preview 1, target wasip1) vs WASI 0.2 (target wasip2, component model) — różnice i wpływ na aplikacje
WIT i component model: definiowanie interfejsów oraz kompozycja komponentów
wit-bindgen i generowanie bindingów w Rust oraz innych językach
Wasmtime i Wasmer: osadzanie runtime w aplikacji Go, Rust i Python
Architektura plugin-host i rozszerzanie aplikacji o wtyczki WebAssembly
Bezpieczeństwo sandboxu, capabilities oraz kontrola dostępu do zasobów
Optymalizacja, dystrybucja i zastosowania WebAssembly
Optymalizacja rozmiaru: tree shaking, wasm-opt, strategie code splitting dla modułu
Czas startu i wydajność runtime, profilowanie oraz benchmarking modułów
Testowanie modułów z wykorzystaniem wasm-bindgen-test
CI/CD dla modułów WebAssembly i publikacja artefaktów w rejestrach OCI
Wersjonowanie i kompatybilność komponentów
Studium przypadków plugin-host: Envoy filters, Shopify Functions, Figma plugins, rozszerzenia baz danych
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

