グラフィカル インターフェイスを作成するためのツールキットである Slint

スリント

デスクトップおよび組み込みデバイス用のネイティブ ユーザー インターフェイスを作成するための包括的なツールセットである Slint、

SlintのGUIツールキットの最初の重要なバージョンが先日リリースされました。これは、3年間にわたるプロジェクト開発の集大成です。バージョン1.0は、実務プロジェクトですぐに使用できる状態になっています。

このプロジェクトの主な目的は、リソース消費量の削減、あらゆるサイズの画面に対応できる機能、プログラマーとデザイナー双方にとって便利な開発プロセスの提供、そして異なるプラットフォーム間での移植性の確保です。

対応プラットフォームは、Linux、Windows、macOS、Blackberry QNXです。WebAssembly擬似コードを使用してブラウザで実行できるアプリケーションをアセンブルしたり、オペレーティングシステムを必要としないスタンドアロンアプリケーションをコンパイルしたりすることが可能です。AndroidおよびiOSプラットフォーム向けのモバイルアプリケーション作成機能も開発中です。例えば、Slintベースのアプリケーションは、ARM Cortex-M0+マイクロコントローラと264KBのRAMを搭載したRaspberry Pi Picoボード上で実行できます。

Slint は宣言型プログラミングを使用して、ユーザー インターフェイスの開発を高速化します。 アプリケーションの開発とパフォーマンスを最適化するための当社のアプローチは次のとおりです。

ユーザー インターフェイスは、さまざまなグラフィック要素を包括的に記述し、読み、書き、習得しやすい構文を使用して、宣言型言語で記述されます。
Slint コンパイラーは UI 記述を最適化し、ネイティブ コードに変換します。
どの言語でも記述できるビジネス ロジックは、Slint が提供する言語固有の API を使用してユーザー インターフェイスに接続されます。

Slintには、ユーザーインターフェース専用に設計されたマークアップ言語が付属しています。この言語は習得、読み書きが容易で、グラフィック要素、その位置、およびさまざまな状態におけるデータの流れを記述するための強力な手段を提供します。要素の階層構造やプロパティリンクを記述するための、使い慣れた構文です。

インターフェースは、さまざまなグラフィック要素を記述するための構文を提供する特別な宣言型マークアップ言語「.slint」を使用して定義されます(Slintの開発者の1人は、かつてQt CompanyでQtQmlエンジンの開発を担当していました)。

Slint言語で記述されたインターフェース記述は、対象プラットフォームのネイティブコードにコンパイルされます。インターフェースを操作するためのロジックはRustに限定されず、任意のプログラミング言語で定義できます。現在、Slintを操作するためのAPIとツールはRust、C++、JavaScriptに対応していますが、PythonやGoなどの追加言語のサポートも計画されています。

Slint には、コード補完、ブラウジング、リファクタリング、および構文の強調表示のためのツール サポートが付属しています。 ユーザー インターフェイスを開発および改良すると、Slint のライブ プレビューがリアルタイムで変更を表示し、即座にフィードバックを提供します。

出力用に複数のバックエンドが提供されており、Qt、OpenGL ES 2.0、Skia、およびレンダリングソフトウェアを使用して、サードパーティの依存関係を接続することなくレンダリングを行うことができます。

開発を簡素化するために、Visual Studio Code のアドオン、さまざまな開発環境との統合を可能にする LSP (言語サーバープロトコル) サーバー、およびオンラインエディタである SlintPad が提供されています。今後は、デザイナーがウィジェットや要素をドラッグ&ドロップしてインターフェースを作成できるビジュアルインターフェースエディタの開発も計画されています。

最後に、さらに詳しく知りたい場合は、以下のリンクから詳細をご確認いただけます。

このツールキットに関心のある方は、Rustで記述されており、GPLv3ライセンス、または商用ライセンス(オープンソースコードを含まない独自製品での使用向け)で提供されていることを知っておくことが重要です。このツールキットは、デスクトップシステム向けのグラフィカルアプリケーションの作成だけでなく、組み込みデバイス向けのインターフェース開発にも使用できます。

このプロジェクトは、Trolltech で Qt に取り組んだ元 KDE 開発者である Olivier Goffart と Simon Hausmann によって開発されています。


Googleで優先ソースとして追加する