このプロジェクトについて

Slintは、組み込みシステム、デスクトップ、モバイルプラットフォーム、およびWebAssembly経由のWeb向けにネイティブユーザーインターフェースを構築するためのオープンソースの宣言型GUIツールキットです。UIは宣言型マークアップ言語である`.slint`で一度記述し、Rust、C++、JavaScript、またはPythonで書かれたビジネスロジックに接続します。 名前の背後にある設計目標は、Scalable(レスポンシブデザイン、クロスプラットフォーム、マルチ言語)、Lightweight(最小限のメモリと処理要件)、Intuitive(一貫したAPIとデザイナーフレンドリーなツール)、Native(マシンコードにコンパイルされ、OS API、CPU/GPUコア、周辺機器にアクセス可能)です。 主な特徴: - 独立したUI設計:宣言型言語がUIをビジネスロジックから分離するため、デザイナーと開発者が並行して作業できます。 - ツール:ライブプレビュー、エディタ統合、LSPサーバー、VS Code拡張機能、自動リロード付きのslint-viewerツール、オンラインのSlintPadエディタ、Figma to Slintプラグイン。 - 慎重に進化する安定した1.x API。 アーキテクチャ:`.slint`ファイルは、字句解析、構文解析、最適化、コード生成を通じて事前にコンパイルされ、C++、Rust、その他のターゲット向けのバックエンドと、動的言語向けのインタプリタを備えています。ランタイムエンジンは、コンポーネント、要素、アイテム、プロパティを単一のメモリ領域に配置して割り当てを削減します。レンダリングバックエンドとスタイルはコンパイル時に設定可能です:femtovg(OpenGL ES 2.0)、skia、CPUベースのソフトウェアレンダラー。Qtがインストールされている場合はQtスタイルが利用可能になります。 リポジトリで文書化されている言語バインディングには、C++、Rust、JavaScript/NodeJS(ベータ)、Python(ベータ)が含まれ、それぞれにドキュメントと入門テンプレートがあります。例とデモは、組み込みターゲット(Raspberry Pi、STM32、RP2040)、デスクトップ(Windows、macOS、Linux)、およびプリンターデモ、スライドパズル、エネルギーモニター、ウィジェットギャラリー、天気デモなどのWebデモをカバーしています。 ライセンスは、プロプライエタリなデスクトップ/モバイル/Webアプリケーション向けのロイヤリティフリーライセンス、オープンソースアプリケーション向けのGNU GPLv3、プロプライエタリな組み込み/デスクトップ/モバイル/Webアプリケーション向けの商用ライセンスから選択できます。このプロジェクトはSixtyFPS GmbHによって維持されており、コード、バグレポート、フィードバックを歓迎しています。