BinaryAST - JavaScript en AST plutôt qu’en texte
(blog.cloudflare.com)De nos jours, il est très rare de trouver un site web qui n’embarque pas de JavaScript.
L’idée de livrer JavaScript non pas sous forme de texte à parser côté client, mais directement sous forme d’AST déjà parsé, existe depuis longtemps, et Cloudflare l’a explorée plus en profondeur.
Pour en retenir les points les plus intéressants...
-
Le texte doit être reçu en totalité avant de pouvoir être parsé et évalué
-
Un AST peut être évalué même s’il n’a été reçu qu’en partie
-
Il est possible d’envoyer d’abord uniquement ce qui est nécessaire pour afficher le premier écran, puis d’envoyer le reste de manière asynchrone
-
Le parsing se fait avec Node.js, mais l’édition de l’AST et son encodage se font en Rust !
-
Cloudflare fournit des VM isolées appelées Workers, qui permettent d’exécuter de la logique un peu comme AWS Lambda, et les utilise dans le processus de génération Text -> BinaryAST
-
Workers repose sur un moteur basé sur JavaScript, donc Rust y est compilé en WebAssembly pour être exécuté
-
Firefox peut déjà interpréter BinAST
1 commentaires
Très intéressant.