TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表

2023年4月27日

WebAssemblyの普及と発展を目的とするByteCode Allianceは、TypeScriptのコードをコンパイルしてWebAssemblyバイナリを生成できるようにすることを目指すスペシャルインタレストグループ「TypeScript Compilation SIG」を発表しました

figApril Bytecode Alliance Community Streamのアジェンダ(赤線はPublickeyによる)

WebAssemblyの仕様策定はW3Cが行っており、ByteCode AllianceはそのWebAssemblyを基盤として、クロスプラットフォーム対応を実現するAPI群のWASI(WebAssembly System Interface)やコンポーネントモデル、ガベージコレクション対応などの拡張、およびそれらの事実上のリファレンス実装であるWebAssemblyランタイムWasmTimeの開発などを行っています。

参考:WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど

TypeScriptをWebAssemblyにコンパイルできるようにする

TypeScript Compilation SIGは3月にプロポーザルが公開されていました

このプロポーザルによると、TypeScript Compilation SIGの主な目的は、TypeScriptプログラムをWebAssemblyにコンパイルできるようにし、Webブラウザとスタンドアロンの両方のWebAssemblyランタイムで実行可能にするための適切なソリューションを、WebAssemblyガベージコレクション(WasmGC)の仕様提案に基づいて記述し改良すること、とされています。

活動の範囲は、TypeScriptのWebAssemblyへのコンパイル、Any typeなどTypeScriptの言語仕様をサポートするために必要なランタイムAPIの定義、動的型付け言語のサポートを強化するためにWebAssemblyをどのように発展させるかの検討などとなっています。

すでにTypeScriptライクな「AssemblyScript」と呼ばれるプログラミング言語では、WebAssemblyへのコンパイルを実現しています。しかしTypeScript Compilation SIGではTypeScript言語のフォークによる実現は意図しておらず、言語仕様のサブセットの適用や型システムの追加、ライブラリの利用など拡張によって実現し、それをTypeScriptのコアチームと連携しつつTypeScriptのアップストリームに反映すると説明しています。

WasmGCの登場でTypeScriptだけでなく対応言語が広がる

WebAssemblyにガベージコレクション機能を追加し、新しいプログラミング言語に対応を広げる動きはTypeScriptに限ったものではありません。

WebAssemblyはこれまでガベージコレクション機能を備えておらず、そのためにプログラマが完全にメモリを管理するC++や、シンプルな仕組みで自動的にメモリ管理が行われるRustのようなプログラミング言語などをコンパイルし生成することが一般的でした。

WebAssemblyにガベージコレクション機能が追加されることで、JavaやPythonやRubyなど、ランタイムが自動的にメモリ管理を行うプログラミング言語などのWebAssembly対応が期待できます。

すでにWebAssemblyのガベージコレクション対応の実装は始まっており、それを前提にDart/FlutterKotlin/Wasmなどの言語やフレームワークがWebAssembly対応を表明しています。

TypeScriptはWebアプリケーションの開発を中心に幅広く使われているプログラミング言語です。TypeScriptのプログラムがWebAssemblyへコンパイル可能になれば、WebAssemblyの普及に大きく貢献することは確実でしょう。

あわせて読みたい

WebAssembly Web技術 Web標準 プログラミング言語 TypeScript




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本