Je Rust jazyk budoucnosti?

Ink

  • ****
  • 499
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #75 kdy: 29. 01. 2022, 16:27:48 »
...a práce na integraci s Qt a KDE - GUI je jedna z největších bolístek Rustu...
Má to nějaký jasně daný směr (resp. byl by odkaz na něco co už funguje)?

Zcela obecně - existují nějaké velké GUI frameworky - zejména Qt a Gtk+, za nimi o něco méně významné Fltk a wxWidgets. S Qt je potíž, jelikož je to psané na míru C++ a jeho OOP vlastnostem. Výborně to funguje ve spojení třeba s Pythonem, kde je velká míra kompatibility OOP modelu - násobná dědičnost apod. Celkem blbě to funguje u výrazně jiných jazyků, jako je třeba Haskell nebo Rust. Jo, pořád se na tom dělá a třeba to nějak ti lidi dopilují.

Gtk je psané v C a bindingy pro ostatní jazyky včetně Rustu se dělají poměrně snadno.

Fltk zblízka neznám, přijde mi primitivnější, ale to může být i výhoda. Bindingy jsou aktivně vyvíjené, na rozdíl třeba od wxWidgets.

Pak existují specialitky jako druid, Orbtk a egui. Podle mě to je všechno zatím spíš hračka, ale možná se něco změnilo.

Doporučuju zaměřit se na relm, resp. gtk-rs, to jsou IMO nejvymakanější a nejpoužívanější řešení pro Rust. V prvním případě pokud chceš mít vše definované programově a idiomaticky. Ve druhém případě si můžeš UI naklikat v Glade, ale spíš tíhnu k Relmu. BTW existuje verze i pro Gtk+ 4 (relm4).

Svět GUI je roztříštěný všude, ale zvlášť v Rustu mi to Gtk+, resp. spíš Relm přijde jako jasná volba.


Re:Je Rust jazyk budoucnosti?
« Odpověď #76 kdy: 29. 01. 2022, 19:29:56 »
I když je Gtk psané v C tak používá dědičnost, takže bindovat Qt nebo Gtk je v podstatě to samé.

BoneFlute

  • *****
  • 1 839
    • Zobrazit profil
Re:Je Rust jazyk budoucnosti?
« Odpověď #77 kdy: 29. 01. 2022, 19:42:38 »
I když je Gtk psané v C tak používá dědičnost, takže bindovat Qt nebo Gtk je v podstatě to samé.
GTK sice dědičnost má, ale vlastní, nepoužívá na to prostředky jazyka. Na rozdíl od Qt. Takže to není vůbec to samé.

A nebo na to jdi z druhé strany. Na GTK je binding z každého myslitelného jazyka. Můžeš to porovnat s bindingy do Qt a udělat si názor sám.

Re:Je Rust jazyk budoucnosti?
« Odpověď #78 kdy: 29. 01. 2022, 20:16:45 »
...a práce na integraci s Qt a KDE - GUI je jedna z největších bolístek Rustu...
Má to nějaký jasně daný směr (resp. byl by odkaz na něco co už funguje)?

Zcela obecně - existují nějaké velké GUI frameworky - zejména Qt a Gtk+, za nimi o něco méně významné Fltk a wxWidgets. S Qt je potíž, jelikož je to psané na míru C++ a jeho OOP vlastnostem. Výborně to funguje ve spojení třeba s Pythonem, kde je velká míra kompatibility OOP modelu - násobná dědičnost apod. Celkem blbě to funguje u výrazně jiných jazyků, jako je třeba Haskell nebo Rust. Jo, pořád se na tom dělá a třeba to nějak ti lidi dopilují.

Gtk je psané v C a bindingy pro ostatní jazyky včetně Rustu se dělají poměrně snadno.

Fltk zblízka neznám, přijde mi primitivnější, ale to může být i výhoda. Bindingy jsou aktivně vyvíjené, na rozdíl třeba od wxWidgets.

Pak existují specialitky jako druid, Orbtk a egui. Podle mě to je všechno zatím spíš hračka, ale možná se něco změnilo.

Doporučuju zaměřit se na relm, resp. gtk-rs, to jsou IMO nejvymakanější a nejpoužívanější řešení pro Rust. V prvním případě pokud chceš mít vše definované programově a idiomaticky. Ve druhém případě si můžeš UI naklikat v Glade, ale spíš tíhnu k Relmu. BTW existuje verze i pro Gtk+ 4 (relm4).

Svět GUI je roztříštěný všude, ale zvlášť v Rustu mi to Gtk+, resp. spíš Relm přijde jako jasná volba.

No, idiomaticky... Ten GObject je docela fuj. V Rustu na to alespoň jsou nějaká makra, ale i tak.