BinaryAST - JavaScriptをテキストではなくASTで
(blog.cloudflare.com)最近のWebサイトで、JavaScriptが使われていないケースは非常にまれです。
JavaScriptをテキスト形式で配信してクライアントがそれをパースする代わりに、あらかじめパース済みのAST形式で配信したらどうか、というアイデアは以前からありましたが、Cloudflareがそれをさらに深く掘り下げました。
面白いポイントだけを抜き出すと……
-
テキストはすべて受け取ってはじめてパースと評価ができます
-
ASTは一部だけ受け取っても評価できます
-
初回画面表示に必要な分だけを先に配信し、残りは非同期で送れます
-
パースはNode.jsで行いますが、ASTの編集とエンコードはRustで行います!
-
CloudflareはWorkersという、AWS Lambdaのようにロジックを実行できる隔離されたVMを提供しており、Text -> BinaryAST生成プロセスにこれを活用します
-
WorkersはJavaScriptベースのエンジンなので、RustをWebAssemblyにコンパイルして実行します
-
FirefoxはすでにBinASTを解釈できます
1件のコメント
興味深く拝読しました