WebAssembly arrive dans Qt

Par:
fredericmazue

jeu, 26/04/2018 - 15:42

Les applications Web grossissant toujours plus en taille et en fonctionnalités, avec des utilisateurs toujours plus exigeants, JavaScript ne suffit plus dans bien des cas.

WebAssembly est un projet pour booster la performance, qui doit alors être proche de celles des langage natifs, tout en donnant la portabilité entre les navigateurs.

Ainsi WebAssembly, ou wasm, est un langage de représentation intermédiaire (IRL), ou byte-code, compatible avec tous les navigateurs. Du code WebAssembly s'exécute en environnement confiné (dans une sandbox), avec des performances proches du natif.

Mieux que ça, WebAssembly permet de s'affranchir de JavaScript. Le code de n'importe quel langage peut théoriquement être transformé en un fichier WebAssembly pour peu que l'on dispose d'un compilateur. Le premier langage ainsi supporté, hors JavaScript,  est C++.

De son côté, Qt est un framework de développement C++ multi plates-formes.

Que Qt et WebAssembly se rapprochent est on ne peut plus logique, et ce sera bientôt chose faite. En effet, le blog de Qt annonce l'arrivée prochaine de Qt for WebAssembly en version bêta.

Cette beta doit normalement être intégrée à Qt 5.11.0. Il sera alors possible de lancer une application Qt dans n'importe quel navigateur supportant WebAssembly ! :-)

En attendant la sortie de Qt for WebAssembly bêta, les impatients peuvent télécharger le code d'une préversion depuis leur compte Qt, et compiler ce code selon les instructions données ici. A ce stade, les seuls systèmes d'exploitation supportés sont Linux et macOS. Toutefois il est possible d'avoir Qt for WebAssembly surWindows 10, en passant par Windows Subsystem for Linux (alias Bash sous Windows).