GPUIフレームワークでクロスプラットフォームアプリを構築するための、75以上のスタイル付きコンポーネントを備えたRust製デスクトップGUIキット。
longbridge/nsh
RustまたはTSXでアプリを書き、各プラットフォーム固有のウィジェットで描画できる、クロスプラットフォームUI向けRustエンジン。
- スター
- 518
- フォーク
- 31
- 未解決の Issue
- 20
- 最終コミット
- 2 時間前
これは何?
NSH(Native Shell)は、クロスプラットフォームアプリやAI生成UIを構築するためのRustエンジンです。アプリはRustまたはTSXで記述でき、共有コンポーネントを使って両方を組み合わせることもできます。各プラットフォームでは、それぞれのUIツールキットで描画します。iOSではUIKit、AndroidではAndroid views、macOSではAppKit、WindowsではWin32とDirect2D、LinuxではGTK 4、GPUIアプリではGPUI、WebではHTMLを使用します。
NSHは、マップやWebビューなどのコンポーネントとともに既存のネイティブアプリへ組み込めるほか、単体アプリや静的Webサイトとしてパッケージ化できます。ホスト側で設定した機能だけを利用できるサンドボックス内で、署名済みパッケージとして配布されるTSXモジュールを実行時にプラグインとして読み込むこともできます。
このプロジェクトには、リアクティブエンジン、flexboxとgridのレイアウト、スタイルを持たないUIコンポーネントのベースレイヤー、Tailwind風のクラス、アプリの作成・実行・パッケージ化を行う単一の`nsh` CLIが用意されています。TSXプロジェクトでは、状態を維持したままホットアップデートできます。
主な機能
- 01Rust、TSX、またはその両方でアプリを記述でき、リアクティブエンジンとレイアウトシステムを共有できます。
- 02iOS、Android、macOS、Windows、Linux、GPUI、Webで、それぞれのプラットフォームのネイティブUIを使って描画します。
- 03既存のネイティブアプリに組み込むことも、単体アプリや静的Webサイトとして配布することもできます。
- 04署名済みのTSXモジュールを実行時に、ホスト側で設定したサンドボックス内で読み込みます。
- 05スタイルを持たないコンポーネントのベースレイヤーとTailwind風のクラスを提供し、自由なデザインを実現できます。
- 06TSXのホットアップデートと、ビルドやパッケージ化に使える単一の`nsh` CLIを備えています。
ユースケース
- 既存のiOSまたはAndroidアプリを書き換えずに、ネイティブらしい画面やプラグインを追加する。
- 複数のデスクトップおよびモバイルプラットフォームでネイティブウィジェットを使って動作する、単一のアプリコードベースを配布する。
- 署名済みのTSXパッケージとして、実行中のアプリにUIのアップデートを配信する。
- TSXとTailwindクラスを使って、AIが生成した画面を構築し実行する。
クイックスタート
- 1
Homebrewでnshをインストールする
brew install longbridge/tap/nsh - 2
TSXアプリを作成する
nsh init my-app --template ts - 3
macOSでアプリを実行する
nsh run my-app --target macos
使う前に知っておきたいこと
- プロジェクトはまだ初期の0.1.xバージョンのため、破壊的変更が生じる可能性があります。
- iOS、Androidなどのターゲットには、XcodeやAndroid SDKなどの追加ツールチェーンが必要です。
トピック
よくある質問
- nsh とは?
- RustまたはTSXでアプリを書き、各プラットフォーム固有のウィジェットで描画できる、クロスプラットフォームUI向けRustエンジン。 NSH(Native Shell)は、クロスプラットフォームアプリやAI生成UIを構築するためのRustエンジンです。アプリはRustまたはTSXで記述でき、共有コンポーネントを使って両方を組み合わせることもできます。各プラットフォームでは、それぞれのUIツールキットで描画します。iOSではUIKit、AndroidではAndroid views、macOSではAppKit、WindowsではWin32とDirect2D、LinuxではGTK 4、GPUIアプリではGPUI、WebではHTMLを使用します。
- nsh は無料で使えますか?ライセンスは?
- nsh は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- nsh は今もメンテナンスされていますか?
- 活発にメンテナンス中。nsh の最終コミットは 2026年10月21日 です。
- nsh は何に使えますか?
- 既存のiOSまたはAndroidアプリを書き換えずに、ネイティブらしい画面やプラグインを追加する。 複数のデスクトップおよびモバイルプラットフォームでネイティブウィジェットを使って動作する、単一のアプリコードベースを配布する。 署名済みのTSXパッケージとして、実行中のアプリにUIのアップデートを配信する。 TSXとTailwindクラスを使って、AIが生成した画面を構築し実行する。
- nsh のインストール方法は?
- Homebrewでnshをインストールする: brew install longbridge/tap/nsh TSXアプリを作成する: nsh init my-app --template ts macOSでアプリを実行する: nsh run my-app --target macos
- nsh はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/longbridge/nsh
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Linux、macOS、Windowsに対応した、Rust製の軽量なネイティブSpotifyデスクトップクライアント。ローカル再生とSpotify Connectに対応。
システムWebViewで描画する、任意のWebフロントエンドを使った軽量で高速なデスクトップ・モバイルアプリ開発向けRustフレームワーク。
ネイティブの描画エンジンを使い、ReactやVue、SvelteなどのWebフロントエンドを備えたクロスプラットフォームのデスクトップアプリを構築するGoフレームワーク。
Windows、Linux、macOSで、独自のタイトルバーやリサイズ、ネイティブのぼかし効果を備えたフレームレスなPyQt/PySideウィンドウを作成するPythonライブラリ。
Rust製のオープンソース・セルフホスト型リモートデスクトップアプリ。TeamViewerの代替として利用できます。