-
Filière :
Développement logiciel
-
Sous-filière :
Applications mobiles & PWA
Technos Web (PHP, JS...)
-
Référence
WEBA
-
Durée
2 jours (14 h)
-
Prix par personne HT
1 800 € HT
Description
WebAssembly est un langage pour la programmation du Web : côté navigateur, côté serveur (Node.js par exemple) et pour le cloud de manière générale. Ouvert, interopérable (avec C, C++, Go, JavaScript, Python, Rust, TypeScript…), performant, sécurisé, standardisé et soutenu par la Bytecode Alliance (Amazon, Microsoft, Google, Intel…) et la Cloud Native Computing Foundation – NCF-, c’est un langage associé à une machine virtuelle universelle qu’est le Web.
WebAssembly est incarné par un format textuel proche du langage de programmation LisP et d’un format machine (assembleur) semblable au langage d’assemblage propre à chaque type d’architecture d’ordinateur. WebAssembly System Interface -WASI- (norme d’interfaçage avec les environnements d’exécution WebAssembly) ainsi que Wasm Interface Type -WIT- (WebAssembly Component Model) sont d’autres pierres angulaires de cette révolution de la programmation du Web.
Objectifs pédagogiques
Le participant apprend à construire, configurer, déployer et exécuter des modules WebAssembly avec ou sans WASI offrant des fonctions de calcul codées de façon native (format .wat) ou à l’aide des langages AssemblyScript (qui dérive de TypeScript), JavaScript ou encore Go (liste non exhaustive).
Les environnements d’exécution Wasmtime, WasmEdge ou encore wasmCloud (liste non exhaustive) sont utilisés à titre de découverte et d’illustration.
L’utilisation de WebAssembly est étudiée et mise en œuvre côté client (JavaScript API-navigateur) et côté serveur (JavaScript API-Node.js).
Finalement, la conception, la composition et la distribution de composants logiciels conformes à WebAssembly Component Model sont aussi étudiées et mises en pratique durant la formation.
Public cible
Cette formation s’adresse à des consultants IT, développeurs, architectes logiciels et « product owners » acteurs de la conception d’applications Web complexes, distribuées où la problématique cloud est centrale.
Pré-requis
Une connaissance de base et un certain recul sur la conception d’applications Web distribuées (SOA et cloud) sont nécessaires. De bonnes notions en programmation sont recommandées.
Modalités d'évaluation
L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.
Programme de la formation
Serverless function
- De Service-Oriented Architecture -SOA-/Web-Oriented Architecture -WOA- à architecture micro- service et serverless function (Function as a Service -FaaS-)
Tenants et aboutissants de WebAssembly
- Ecrire des modules WebAssembly
- Formats .wat et .wasm
- Développer directement via .wat
- Développer avec AssemblyScript
- WebAssembly côté client (JavaScript API-navigateur)
- WebAssembly côté serveur (JavaScript API-Node.js)
- WebAssembly cloud (Wasmtime)
- Développer avec Go
- WebAssembly System Interface -WASI- pour l’accès aux ressources côtés client, serveur et cloud : étude et mise en pratique
- Etude et mise en œuvre d’autres environnements d’exécution WebAssembly et WASI : WasmEdge, wasmCloud…
« WebAssembly »
- Exemple et mise en œuvre de WASI et de WebAssembly Component Model
- Conception d’interfaces de composants WebAssembly avec Wasm Interface Type -WIT-
- Composition avec WebAssembly Compositions -WAC-
- Distribution avec wasmCloud
Programme mis à jour le