AppleがiOS 26で導入したLiquid Glass。あの半透明で屈折するUIエフェクトを、Swiftを使わずにRustだけで再現した開発者が現れました。使われたのは、GPU駆動のクロスプラットフォームUIフレームワーク「Makepad」です。

この記事でわかること

  • Apple Liquid Glassの技術的な仕組み
  • MakepadのGPUシェーダーがLiquid Glass再現を可能にする理由
  • Makepadの主な機能とセットアップ方法
  • CSS/SVGやOpenGLなど他の再現アプローチとの違い

Apple Liquid Glassとは

https://www.apple.com/newsroom/2025/06/apple-introduces-a-delightful-and-elegant-new-software-design/

Liquid Glassは、AppleがWWDC 2025で発表したデザイン言語です。iOS 7以来、約12年ぶりとなるUI全面刷新として注目を集めました。iOS 26、iPadOS 26、macOS Tahoe 26など全プラットフォームに適用されています。

技術的には、リアルタイムレンダリングとスペキュラーハイライト(光沢反射)を組み合わせた仕組みです。UI要素が半透明のガラスのように振る舞い、背景の色や光に応じて動的に屈折・反射します。Neural Engineによる空間解析で擬似3D効果も生み出しています。

ボタン、ナビゲーションバー、タブバーなどの操作要素がすべてこのガラス素材で構成され、ユーザーの操作に合わせて流動的に変形します。

Rust×MakepadでLiquid Glassを再現

https://github.com/makepad/makepad

Rustコミュニティで活動するAlexZ氏(ZhangHanDong)が、MakepadフレームワークでApple Liquid Glassエフェクトの再現に成功しました。Swiftは一切使わず、Rustのみで実装しています。

これが注目に値する理由は明確です。Liquid GlassはAppleのネイティブフレームワーク(SwiftUI / UIKit)向けに設計されたエフェクトであり、通常はAppleのエコシステム内でしか利用できません。MakepadはカスタムシェーダーをすべてRustで記述できるため、プラットフォームに依存しない形で同等の視覚効果を実現できます。

Makepadの概要

Makepadは、Rust製のAI対応アプリケーション開発環境です。2019年に開発が始まり、GitHubで約6,400スターを獲得しています。MITライセンスで公開されており、誰でも無料で利用可能です。

最大の特徴は、レンダリングをほぼ全面的にGPUで処理する設計です。一般的なUIフレームワークがCPUベースの描画に依存するのに対し、MakepadはGPU上でシェーダーを直接実行します。このアーキテクチャが、Liquid Glassのような高度な視覚エフェクトの再現を可能にしています。

GPUシェーダーの仕組み

Makepadは独自のシェーダー抽象化レイヤーを備えています。開発者はRustでシェーダーコードを記述し、フレームワークがそれをGLSL(OpenGL)、HLSL(DirectX)、MetalSL(Apple Metal)に自動変換します。

つまり、シェーダーを1回書くだけで、macOS、Windows、Linux、WebAssembly、iOS、Androidのすべてで動作します。Liquid Glassの屈折・反射エフェクトのような、通常はプラットフォーム固有のGPU APIを直接叩く必要がある処理も、Rustの型安全性を保ったまま記述できます。

スタイリングシステムもシェーダーベースです。CSSのようなプロパティ指定ではなく、シェーダープログラムでUIの見た目を制御します。背景のぼかし、光の屈折、表面の反射といったLiquid Glassの構成要素を、低レベルのGPU命令として直接表現できる点が強みです。

Makepadの主な機能

クロスプラットフォーム対応: 単一のRustコードベースから、デスクトップ(Windows / macOS / Linux)、モバイル(iOS / Android)、Web(WebAssembly)向けにビルドできます。ビルドツールcargo-makepadがターゲットごとのツールチェーン管理を担います。

ライブデザイン: UIのDSL(ドメイン固有言語)をリアルタイムで編集でき、再コンパイルなしで変更が反映されます。シェーダーのパラメータ調整もライブで確認できるため、Liquid Glassのような視覚エフェクトの微調整に適しています。

Makepad Studio: フレームワークに付属するIDEです。サンプルの実行、UIの検査、AIによるコード生成支援を統合しています。cargo run -p makepad-studio --releaseで起動できます。

3Dレンダリング: glTFモデルの表示に対応しており、2D UIだけでなく3Dコンテンツも扱えます。地図表示や音声解析といった組み込み機能も備えています。

セットアップ方法

Rustツールチェーンがインストール済みであれば、数コマンドで始められます。

まず、ビルドツールをインストールします。

cargo install --path=./tools/cargo_makepad

Studioを起動してサンプルを確認するには、以下を実行します。

cargo run -p makepad-studio --release

WebAssembly向けにビルドする場合は、ツールチェーンの追加インストールが必要です。

cargo makepad wasm install-toolchain
cargo makepad wasm run -p makepad-example-splash --release

Linux環境では、X11やOpenGL関連の開発ライブラリが必要です。リポジトリ内のtools/linux_deps.shに依存パッケージの一覧があります。

他のLiquid Glass再現アプローチとの比較

AppleのLiquid Glassを再現する試みは、Web技術の領域でも活発です。CSS + SVGフィルターを使う方法では、backdrop-filterでリアルタイムの背景ぼかしを適用し、SVGのfeTurbulencefeDisplacementMapで歪み効果を生成します。ブラウザだけで動作する手軽さがある反面、フレームレートやエフェクトの精度には限界があります。

WebGLシェーダーを使うアプローチも存在します。liquidGLのようなライブラリは、DOM要素にガラスのような屈折効果を付与します。GPU処理のためパフォーマンスは高いものの、Webブラウザ上に限定されます。

Makepadのアプローチは、ネイティブGPU APIを直接利用する点で根本的に異なります。Metal、DirectX、OpenGLの各バックエンドに最適化されたシェーダーコードが生成されるため、エフェクトの品質とパフォーマンスの両面で優位性があります。デスクトップ、モバイル、Webのすべてに単一コードで対応できる点も、他のアプローチにはない強みです。

Liquid Glassの再現が示すもの

AlexZ氏の実装は、単なる技術デモにとどまりません。Appleのデザイン言語がSwiftの独占物ではなくなりつつあることを示しています。

MakepadのGPUシェーダーアーキテクチャは、プラットフォーム固有のUIエフェクトをクロスプラットフォームで再現するための基盤として機能します。Rustの安全性とGPUの描画性能を組み合わせたこのアプローチは、UIフレームワークの新しい方向性を提示しています。

Apple風のリッチなUIを、macOS以外のプラットフォームでも実現したい開発者にとって、Makepadは検討に値する選択肢です。