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

今回は「TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表」についてご紹介します。

関連ワード (必要、表明、適用等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


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/FlutterやKotlin/Wasmなどの言語やフレームワークがWebAssembly対応を表明しています。

  • WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進
  • FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに
  • SafariもWebAssemblyのガベージコレクション機能の実装に着手。Technology Preview 167で明らかに

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

COMMENTS


Recommended

TITLE
CATEGORY
DATE
グループ全体のデータを可視化–経営管理における「Oracle Fusion Data Intelligence」活用法
IT関連
2024-08-14 12:45
Switchでプログラミングを学んでゲームを作れる、「ナビつき! つくってわかる はじめてゲームプログラミング」発表
EdTech
2021-05-07 13:52
日立ソリューションズ、SDV向けモデルベース開発用のテスト自動化製品最新版を提供
IT関連
2024-01-13 14:38
Saviynt、アイデンティティー管理を高度化する新製品群を発表
IT関連
2024-09-13 08:59
日本のエンタープライズIT支出、2023年は4.7%増–ガートナー予測
IT関連
2023-03-01 16:34
OpenSSFによるコンテナなどへの電子署名サービス「Sigstore」が正式版に。オープンソースのサプライチェーンをさらに安全に
セキュリティ
2022-10-31 11:28
カプセルトイ「手のひらネットワーク機器」に新版–フロントベゼルにギミックも
IT関連
2024-02-27 15:06
トヨタカローラネッツ岐阜、法人支出管理サービス「バクラク」を導入–立替経費のキャッシュレス化を促進
IT関連
2024-07-09 20:21
「Linux」ディレクトリーを「rsync」を使用してリモートマシンにバックアップするには
IT関連
2024-02-02 15:43
AIスキルの重要性高まる–なければエンジニア給与は減少傾向も
IT関連
2024-04-16 06:49
CircleCIがGitLabに対応。GitLabのコード変更をトリガーにCircleCI でビルド、テスト、デプロイを実行可能に
CI/CD
2022-07-28 13:40
膠着の日経平均は業績相場へ? 新年度、東証一部は4割増益見込む
IT関連
2021-04-12 13:06
NECとアサヒ飲料、AIによる新商品の需要予測を実証–商品の欠品や余剰在庫を防止
IT関連
2023-12-23 11:53
マイクロソフト、「ASP.NET Core in .NET 8」正式版リリース。事前コンパイルにより、高速に起動する軽量なWebアプリケーションを実現
.NET
2023-11-15 13:23