React風のコンポーネントとシグナルを備え、単一のコードベースからWeb、デスクトップ、モバイルアプリを構築できるRustフレームワーク。
slint-ui/slint
Slintは、Rust、C++、JavaScript、PythonアプリでネイティブUIを構築できる宣言型GUIツールキットです。
- スター
- 24,241
- フォーク
- 1,038
- 未解決の Issue
- 749
- 最終コミット
- 2 時間前
これは何?
Slintでは、独自の`.slint`マークアップ言語でUIを一度記述し、Rust、C++、JavaScript、Pythonで書かれたビジネスロジックに接続できます。`.slint`ファイルは事前にネイティブコードへコンパイルされます。組み込みシステム、デスクトップ、モバイルプラットフォームを対象としており、Web(WebAssembly)向けのデモ一式も用意されています。
このツールキットはUIデザインとアプリケーションロジックを分離するため、デザイナーと開発者が並行して作業できます。レンダリングバックエンドにはOpenGL ES 2.0(femtovg)、Skia、CPUのみで動作するソフトウェアレンダラーがあり、QtがインストールされていればQtスタイルも利用できます。ツールには、オートコンプリートとライブプレビューに対応したLSPサーバー、Visual Studio Code拡張機能、自動再読み込み機能を備えたコマンドラインツール`slint-viewer`、FigmaからSlintへのプラグインが含まれます。
Slintはデュアルライセンスで提供されており、プロプライエタリなデスクトップ、モバイル、Webアプリ向けのロイヤリティフリーの選択肢、オープンソースプロジェクト向けのGPLv3、プロプライエタリな組み込みアプリ向けの商用ライセンスがあります。
主な機能
- 01レイアウト、プロパティ、バインディングを記述する宣言型`.slint`マークアップ言語。
- 02Rust、C++、JavaScript、Python向けのバインディング。
- 03ネイティブコードへの事前コンパイル。
- 04複数のレンダラーに対応:femtovg(OpenGL ES 2.0)、Skia、ソフトウェア(CPU)。
- 05`.slint`ファイル編集用のライブプレビュー、LSPサーバー、VS Code拡張機能。
- 06デザインをインポートするためのFigmaからSlintへのプラグイン。
ユースケース
- RustまたはC++アプリケーション向けのデスクトップ/モバイルGUIの構築。
- Raspberry Piやマイクロコントローラーなど、組み込みデバイス向けUIの作成。
- WebAssemblyにコンパイルしたWebベースのUIのリリース。
- デザイナーと開発者がUIとロジックを分けて作業するための活用。
クイックスタート
- 1
インストール不要で、SlintPad の Hello World の例を開きます
- 2
言語を選び、その言語の Getting Started Template(Rust template など)を使います
- 3
選んだ言語の README に従って Slint パッケージをインストールします
使う前に知っておきたいこと
- プロプライエタリアプリで Slint を使用するには、ロイヤリティフリーライセンスまたは商用ライセンスが必要です。GPLv3 の選択肢はオープンソースアプリに適用されます。
- JavaScript/NodeJS と Python のバインディングは Beta として扱われています。
トピック
よくある質問
- slint とは?
- Slintは、Rust、C++、JavaScript、PythonアプリでネイティブUIを構築できる宣言型GUIツールキットです。 Slintでは、独自の`.slint`マークアップ言語でUIを一度記述し、Rust、C++、JavaScript、Pythonで書かれたビジネスロジックに接続できます。`.slint`ファイルは事前にネイティブコードへコンパイルされます。組み込みシステム、デスクトップ、モバイルプラットフォームを対象としており、Web(WebAssembly)向けのデモ一式も用意されています。
- slint は無料で使えますか?ライセンスは?
- slint は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- slint は今もメンテナンスされていますか?
- 活発にメンテナンス中。slint の最終コミットは 2026年10月21日 です。
- slint は何に使えますか?
- RustまたはC++アプリケーション向けのデスクトップ/モバイルGUIの構築。 Raspberry Piやマイクロコントローラーなど、組み込みデバイス向けUIの作成。 WebAssemblyにコンパイルしたWebベースのUIのリリース。 デザイナーと開発者がUIとロジックを分けて作業するための活用。
- slint のインストール方法は?
- インストール不要で、SlintPad の Hello World の例を開きます 言語を選び、その言語の Getting Started Template(Rust template など)を使います 選んだ言語の README に従って Slint パッケージをインストールします
- slint はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/slint-ui/slint
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
シンプルで型安全なElm風のプログラミングモデルを備えた、Rust向けクロスプラットフォームGUIライブラリ。
Webとネイティブ環境で動作し、ゲームエンジンにも組み込める、Rust製の使いやすい即時モードGUIライブラリです。
小型MCUからLinuxベースのMPUまで、組み込み機器向けのGUIを構築できる、MITライセンスの無償C UIライブラリ。
宣言的DSLを中心に構成された、GLFW/SDL2のウィンドウバックエンドとOpenGL/Vulkan描画に対応するクロスプラットフォームC++17 UIフレームワーク。
RustまたはTSXでアプリを書き、各プラットフォーム固有のウィジェットで描画できる、クロスプラットフォームUI向けRustエンジン。