0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Slint 1.12 のリリースについて

Last updated at Posted at 2025-12-02

はじめに

この記事は Slint Advent Calendar 2025 3日目の記事です。

昨日は以下の記事を書きました。

今日は 2025年6月16日にリリースされた Slint 1.12 についてです。

Slint 1.12 リリース:WGPUサポート、iOS 対応、Figma Variables 連携

Slint 1.12 を本日リリースしました。これはこれまでで最も野心的なリリースの一つです:新しい WGPU の統合 により、Bevy などの WGPU ベースのレンダリングライブラリを Slint アプリに組み込めるようになりました。iOS の初期対応 が終わり、iPhone および iPad 向けに Slint アプリをクロスコンパイルできるようになりました。さらに、Figma のデザイントークンを Slint 内で直接 再利用 できるようになりました。

Slint は Rust、C++、JavaScript、Python でネイティブ UI を構築するオープンソースツールキットです。今回の新機能は、世界を征服するための重要な構成要素であり、最高の UI フレームワークの基盤を形成すると確信しています。

これらの機能がユーザーにもたらす意味と、導入方法について詳しく見ていきましょう。

🎮 WGPUによる3D UIの実現

言うまでもなく 3D は 2D よりも素晴らしい技術です。次元が一つ増えるのです。3D はゲームだけのものではありません — 日常的なアプリ体験の一部となりつつあります:医療画像処理や車載インフォテインメントシステムでインタラクティブな3Dモデルを開発中の顧客もいます。Slint の新たな WGPU 統合 により、3D グラフィックスや Rust エコシステム内の他のグラフィックス関連の crate の統合が可能になります。

Bevy は Rust 界隈でアツいプロジェクトの一つです。WGPU を基盤とした高性能ゲームエンジンです。Bevy の強力な 3D レンダリング機能と Slint の宣言型 UI 言語を組み合わせることで、アプリへの 3D 統合をシームレスに実現できます。デモ をご覧ください。

Bevy running inside a Slint UI app.gif

📱 iOS Tech Preview:クロスプラットフォーム戦略の完成へ

今回のリリースでは、iOS の Tech Preview を追加し、クロスプラットフォーム戦略の完成に向けた第一歩を踏み出しました。ベアメタルで動作するマイクロコントローラーから Linux、Android、macOS、Windows、そして今回追加された iOS に至るまで、あらゆるプラットフォームを網羅する真に統一された効率的でモダンな UI ツールキットを提供するという目標に、これまで以上に近づいています。

みなさんが Slint で次世代の Liquid Glass UI を構築するとは思いませんが、Rust アプリをクロスコンパイルして iPhone や iPad で実行できるようになりました:

  • Xcode サポートにより、開発に必要な機能がすべて提供されます:証明書管理、ハードウェアやシミュレーターへのデプロイ、TestFlight 経由のアプリ共有、App Storeへの公開
  • Skiaによるネイティブフォントレンダリング
  • 🐍 Python言語サポートも準備中です

Macをお持ちの方は、今すぐお試しください

Slint home automation demo running on the iPad simulator.gif

🎨 Figma Variables の統合:デザインからコードへのシームレスな変換

ツールやプラットフォームをまたいで UI スタイルを統一することは、デザイナーと開発者にとって共通の課題です。Figma の最近のアップデートで導入された 変数コレクション は、デザインシステム内で色、間隔、タイポグラフィなどの共通デザイントークンをグループ化するシンプルで強力な方法です。

Slint 1.12 では、Figma Variables Integration により、この Figma Variables をアプリに直接インポートできるようになりました。これによりデザインと実装のギャップが解消され、プロジェクト全体で一貫性のあるテーマ対応の UI を実現することが容易になります。

image.png

🛠️ 優れた UX は優れた DX をもたらす

優れたユーザー体験は、優れた開発者体験から始まります。本日、UI の開発作業をよりスムーズかつ高速にする、ツールの QoL(生活の質)向上を目的とした複数の改善を導入しました。

🎨 スマートなカラーピッカー

ソースコードコードも Slint 言語の簡潔さも愛すべきものですが、視覚的な問題には視覚的な解決策が必要な場合もあります。カラーピッカーに以下の機能を追加しました:

  • globals 内のカラーをサポート(Figma拡張機能でエクスポートされる全カラーを含む)
  • Colors 名前空間による定義済みカラーをサポート
  • 最近使用したカラーを記憶

🔄 ライブプレビューにデバッグコンソールを追加

完璧な開発者でも、時にはコードのデバッグが必要になるものです :)。この新しいコンソールをご覧ください:

  • debug(...) によるデバッグメッセージやコンパイラの警告/エラーを表示
  • ツールバーに最新のメッセージをプレビュー表示
  • 各メッセージをクリックすると .slint ファイルの該当行へ移動
  • ボーナス機能:SlintPad でも動作するため、ブラウザ上でもより優れたフィードバックを得られます

image.png

🛠️ その他の修正と改善

さらに以下の機能も追加されました:

  • 新しい slint::winit_030 モジュールを使用し、追加のウィンドウプロパティへのアクセス、カスタムウィンドウの作成、winitイベントループへのフックが可能になりました
  • スタイル固有またはOS固有のコード用に Platform.style-nameおよび Platform.os を追加しました
  • in-out の Transition ブロックを states に追加
  • mouse-drag-pan-enabled プロパティを ScrollView に追加
  • VS Code 拡張機能では、Slint 要素のドキュメントに直接リンクするホバー表示を提供

このリリースの詳細は ChangeLog をお読みください。

おわりに

今回は Slint 1.12 のリリースを紹介しました。

個人的には、上記にも記載されたのですが、states の Transition に in-out を追加した思い出深いリリースとなりました。

明日は Slint 1.13 のリリースを紹介します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?