- Rust, 8 yıldır "en çok arzulanan programlama dili" seçiliyor ve birçok kişi Rust ile GUI programları yazmak istiyor.
- Flutter ve
flutter_rust_bridge kullanan bir yaklaşım paylaşılıyor.
- Avantajlar
- Flutter popüler ve olgun bir platform; birçok geliştirici ve tanınmış marka tarafından kullanılıyor, büyük bir ekosisteme sahip olduğu için istenen özellikleri uygulamak kolay.
- "Hot reload" özelliği sayesinde UI geliştirme hızlıdır ve çapraz platform desteği ile aynı kod tabanı birden fazla platformda çalıştırılabilir.
- Dezavantajlar
- Bu yaklaşım %100 saf Rust değildir.
- Ancak bu, makro kullanarak veya HTML/CSS/Slint gibi başka dilleri kullanıp özel DSL yazarak çalışan diğer birçok Rust UI yaklaşımına benzer.
- Web platformuna yönelik eleştiriler vardır.
- Statik web sayfalarından ziyade web ve diğer platformlardaki "uygulamalar" için daha uygundur (ör. Google Earth, Rive'in animasyon editörü vb.).
- Flutter çok fazla boilerplate kod gerektirir.
flutter_rust_bridge nedir?
- İki dil arasında bir köprü oluşturarak tek bir dil gibi çalışmasını sağlar.
- Çeşitli türleri,
&mut, async, trait'leri, sonuçları ve closure'ları otomatik olarak dönüştürür.
- Rust GUI'yi Flutter ile uygulamanın dışında da çeşitli kullanım senaryoları vardır.
= Flutter içinde herhangi bir Rust kütüphanesini kullanmak veya algoritma gibi kodları Rust'ta, diğer kodları Flutter'da yazmak gibi
1 yorum
Hacker News yorumları
Birkaç yıldır uygulama geliştirirken bunu kullandım ve genel olarak memnun kaldım
tokioasync desteği gibi büyük değişiklikler getirdiUI'yi Rust yerine Dart ile yazmanın avantajını çok net görmüyorum ama
flutter_rust_bridgehayranıyımTakdire değer bir emek. Şu anda Tauri kullanıyorum ve ikisinin artılarını ve eksilerini merak ediyorum
Masaüstü UI için Flutter, backend için Rust kullanıyorum
Güzel iş.
rust_flutter_bridgehakkında sadece iyi şeyler duydumFlutter'ın UI oluşturma yaklaşımını sevdim ama Dart'ı pek sevmedim
Google'ın Material Design'ı ve havai fişek efektleri bana en iyi görünüm gibi gelmiyor
Erişilebilirlik (a11y) desteğini merak ediyorum
Chrome shell'e veya web widget'larına bağımlı olmaktan çok daha iyi, emeği takdir ediyorum
İlginç. IIUC bunun kaynaklar arası çeviri kullanılarak mı yapıldığını merak ediyorum