Un nouveau projet open source appelé SwiftWasm vise à intégrer un back-end WebAssembly dans le compilateur officiel de Swift. Ce projet, encore à un stade très précoce, permettrait aux développeurs d'utiliser le langage de programmation Swift pour créer des applications exécutables dans les navigateurs web. SwiftWasm compile le code Swift en WebAssembly, lequel fournit un format binaire cible qui permet de compiler des langages autres que JavaScript et les rendre exécutables dans un navigateur. Les développeurs peuvent essayer Swift sur WebAssembly dès maintenant en utilisant la série d'outils hébergés dans le cloud de SwiftWasm, et faire tourner les exécutables WebAssembly qu’ils ont générés à la fois dans les navigateurs et dans des runtimes WebAssembly autonomes. 

Le site web SwiftWasm propose une démo fonctionnelle, mais il fait remarquer que de nombreuses fonctionnalités de Swift ne fonctionnent pas encore sur WebAssembly. Les développeurs de SwiftWasm indiquent aussi que certains attributs de WebAssembly sont des obstacles pour Swift, comme la fonction de contrôle strict de la signature.

Des outils pour être plus productifs

Les créateurs de SwiftWasm espèrent faire de Swift le « meilleur langage pour le développement multiplateforme ». Les développements en cours seront intégrés au compilateur Swift et seront mis à la disposition de tous les utilisateurs du langage, prêts à l'emploi. L'équipe du projet open source prévoit d’inclure le support d'outils pour permettre aux développeurs Swift intéressés par WebAssembly d'être plus productifs.

« L’idée de faire tourner Swift dans le navigateur date de 2014, quand Apple a annoncé le langage pour la première fois », a rappelé Max Desiatov, un consultant en logiciels qui contribue au maintien de SwiftWasm. À l’origine, l’idée était d’intégrer l'infrastructure du compilateur Emscripten avec Swift. « Mais quand WebAssembly est apparu dans les principaux navigateurs, les efforts ont porté sur la technologie de compilateur LLVM sans Emscripten », a ajouté Max Desiatov. Ce dernier participe désormais au maintien du framework d’UI multiplateforme pour Swift appelé Tomakak.