ホームTypeScriptPerryTS/perry
// archived 2026-04-22
46

// 概要

Perry は Rust で構築されたネイティブ TypeScript コンパイラであり、コードをスタンドアロンで高性能な実行ファイルに変換します。LLVM をコード生成に活用することで、Node.js や Electron、ブラウザのランタイムを不要にします。このプロジェクトはデスクトップ、モバイル、Web 向けのクロスプラットフォーム開発をサポートし、ネイティブ UI コンポーネントとマルチスレッド機能を提供します。

// 技術解説

Perry は Rust で構築されたネイティブ TypeScript コンパイラであり、SWC を使用したパースと LLVM を使用したコード生成により、スタンドアロンで高性能なネイティブ実行ファイルを生成します。Node.js、Electron、またはブラウザエンジンを不要にすることで、クロスプラットフォーム開発における重いランタイム依存関係とパフォーマンスオーバーヘッドの問題を解決します。このプロジェクトは、エスケープしないオブジェクトのスカラ置換や整数剰余の高速パスといった高度な最適化を通じてネイティブ実行速度を優先しており、高レベルな TypeScript と C++ や Rust といったシステム言語の間のパフォーマンスギャップを効果的に埋めています。

// 主要ハイライト

01
外部ランタイム依存関係なしで、TypeScript を直接小型のスタンドアロンなネイティブバイナリにコンパイルします。
02
LLVM を使用してエスケープ解析やオブジェクトフィールドのレジスタ割り当てといった積極的な最適化を行うことで、Node.js や Bun を上回るパフォーマンスを実現します。
03
iOS、Android、デスクトップを含む 9 つの異なるターゲットのプラットフォーム固有ウィジェットにマッピングされる、宣言的で SwiftUI のようなネイティブ UI システムを提供します。
04
共有された可変状態やデータ競合を防ぐためのコンパイル時強制を伴う、安全でデータ並列なマルチスレッド処理を可能にします。
05
ロケール文字列と CLDR の複数形ルールをコンパイル時にバイナリへ直接組み込むことで、オーバーヘッドゼロの国際化をサポートします。
06
さまざまなモバイルおよびデスクトッププラットフォーム向けのクロスコンパイルと署名を処理する、perry-hub を介したクラウドベースの公開サービスを提供します。

// ユースケース

01
ランタイム依存関係のない、軽量でスタンドアロンなネイティブバイナリへの TypeScript コンパイル。
02
単一のコードベースを使用した、デスクトップ、モバイル、Web 向けのクロスプラットフォームネイティブアプリケーションの構築。
03
宣言的で SwiftUI に似たフレームワークを用いた、高性能なネイティブ UI アプリケーションの開発。

// クイックスタート

開始するには、npm を使用して 'npm install @perryts/perry' で Perry をインストールするか、インストール不要なアプローチとして 'npx @perryts/perry' を使用してください。'perry init my-project' でプロジェクトを初期化し、'perry compile src/main.ts -o myapp' を使用してコードをネイティブ実行ファイルにビルドします。'perry doctor' を実行することで、いつでも環境設定を確認できます。