- Rustは8年間にわたり「最も使いたいプログラミング言語」に選ばれており、多くの人がRustでGUIプログラムを書きたいと考えている。
- Flutterと
flutter_rust_bridgeを活用したアプローチを共有
- 長所
- Flutterは人気があり成熟したプラットフォームで、多くの開発者や著名ブランドに利用されており、大きなエコシステムを持つため、必要な機能を簡単に実装できる
- 「ホットリロード」機能によりUI開発が高速で、クロスプラットフォームに対応しているため、同一のコードベースで複数のプラットフォーム上で実行できる
- 短所
- このアプローチは100%純粋なRustではない
- ただし、これはマクロを使ったり、HTML/CSS/Slintのような他言語を使ってカスタムDSLを書く他の多くのRust UIと似ている
- Webプラットフォームに対する批判がある
- 静的なWebページよりも、Webやその他のプラットフォーム(例: Google Earth、Riveのアニメーションエディタなど)の「アプリ」により適している
- Flutterは多くのボイラープレートコードを必要とする
flutter_rust_bridgeとは?
- 2つの言語間のブリッジを作り、1つの言語のように動作させる
- さまざまな型、
&mut、async、トレイト、結果、クロージャなどを自動変換する
- Rust GUIをFlutterで実装する以外にも、さまざまなユースケースがある
= Flutterで任意のRustライブラリを使ったり、アルゴリズムのようなコードをRustで書き、それ以外のコードをFlutterで書いたりできる
1件のコメント
Hacker Newsのコメント
数年間アプリを開発しながら使ってきたが、全体的に満足していた
tokioasyncサポートなどで大きな変化があったUIをRustではなくDartで書く利点はよく分からないが、
flutter_rust_bridgeのファンではある称賛に値する取り組み。現在Tauriを使っており、両者の長所と短所が気になる
デスクトップUIにはFlutterを使い、バックエンドにはRustを使っている
よくやった。
rust_flutter_bridgeについては良い話しか聞いたことがないFlutterのUI構築アプローチは気に入ったが、Dartはあまり好きではなかった
Googleのマテリアルデザインと花火のようなエフェクトは、最良の見た目ではないと思う
アクセシビリティ(a11y)サポートが気になる
ChromeシェルやWebウィジェットに依存するより、はるかに良い。努力に拍手を送りたい
興味深い。IIUC、これはソース間翻訳を使って実現されているのだろうか