🛠Tools🔥🔥

Perry、TypeScript ネイティブコンパイラ「Perry」を公開──LLVM 経由で Electron 不要の 2MB バイナリを生成

Node.js や V8 ランタイムを介さず SWC と LLVM で直接マシンコードへ変換し、主要 OS のネイティブ UI を TypeScript から制御できる。
リリース: 2026-04-25 · 読了 3

記事の要約

1. 核心(What)

  • SWC でパースし LLVM で最適化することで、Node.js 等の依存関係を含まない 2-5MB の単一バイナリを出力する
  • macOS (AppKit), iOS (UIKit), Android (JNI), Windows (Win32), Linux (GTK4) のネイティブウィジェットを直接叩ける
  • Node.js v25 との比較ベンチマークで最大 18 倍の高速化を達成し、OS スレッドによる真のマルチスレッド処理に対応する
  • fs, crypto, child_process など主要な Node.js API をネイティブ Rust 実装で再現しており、既存の TS 知識がそのまま活かせる

2. 影響(Why)

  • Electron 製アプリの課題だった「配布サイズ 100MB 超」と「高メモリ消費」を、数 MB のバイナリとネイティブ級の低リソース消費で解決できる。
  • 開発者への影響: TypeScript エンジニアは Rust や C++ を習得せずとも、OS 標準の UI を備えた高性能なデスクトップ・モバイルアプリを単一言語で構築可能になる。特に配布の容易さが求められる CLI ツールや軽量ユーティリティ開発において、Node.js 実行環境の有無を気にする必要がなくなる。
  • 日本への影響: 国内のツール開発チーム(特に社内 DX ツールや PC 向け軽量クライアントを開発する業種)は、Electron から Perry への移行により、配布コストの削減とユーザー体験の向上を同時に達成できる。既存の npm エコシステムも V8 フラグで併用可能なため、段階的な移行パスが現実的である。

3. 根拠・詳細(How)

  • Perry — TypeScript → Native (2026-04-25 公開)