Chers membres du club,
J'ai le plaisir de vous présenter cet article qui est un retour d’expérience sur l’utilisation d’un projet C++ en JavaScript (ASM.js, WASM).

Lorsque nous avons découvert Emscripten en 2013, nous avons fait « wôw » sur l'idée : pouvoir utiliser MediaInfo en ligne sans avoir besoin de recoder tout en JS, super, pas de temps perdu à changer de langage de programmation. Nous avons donc fait une première tentative de portage du code C++ vers ASM.js. Après plusieurs jours à adapter l'interface aux contraintes de ASM.js (on ne peut pas ouvrir le fichier directement dans le logiciel, il faut utiliser l'API JS pour lire les données du fichier, puis passer les octets au logiciel), nous avons pris peur sur le résultat en termes de taille du code JS à envoyer au client (plus de dix Mo), de la mémoire vive nécessaire (plus de un Go), et de la lenteur (plusieurs secondes à la place de quelques centaines de millisecondes). Inutilisable. Nous avons abandonné l'idée
Bonne lecture et n'hésitez pas à apporter vos commentaires