Čím nahradit Glade?

leten

Čím nahradit Glade?
« kdy: 29. 05. 2022, 12:50:55 »
Zkouším si GTK podle https://magpi.raspberrypi.com/books/c-gui-programming

V této knížce uvádějí pro snazší práci s GTK program Glade. Připadá mi ale, že Glade "skončil" https://glade.gnome.org/ a jeho nástupcem bude https://blogs.gnome.org/xjuan/category/programming/cambalache-ui-maker/

Můžete mi poradit jiné programy jako je Glade? V této oblasti se vůbec neorientuji. Děkuji :)


Re:Čím nahradit Glade?
« Odpověď #1 kdy: 30. 05. 2022, 09:35:09 »
Glade neskončil, jenom jeho vývoj za poslední dobu výrazně zpomalil. Já s ním nemám nijak zvlášť dobré zkušenosti, zejména kvůli nestabilitě a slabým možnostem refaktorování existujícího uživatelského rozhraní.

Cambalanche je projekt jediného člověka, moc bych se na něj nespoléhal.
Kdysi existoval ještě Gideon Designer, ten je ale už totálně zastaralý.

Pro vývoj něčeho zbrusu nového a menšího v GTK+ bych poradil toto:
1. Použít výhradně GTK+ verze 4, nic staršího
2. Pro tvorbu GUI bych poradil buď ruční psaní XML, nebo ruční tvorbu UI přímo v kódu. Vzhledem k tomu, že GTK+ používá systém správy rozvržení a ne umísťování prvků na pixel přesně, je to velmi dobrá volba, při které se systém rozvržení zároveň naučíte.

Tolik k přímé odpovědi na otázku.
Samozřejmě bych důkladně zvážil použití GTK+, jehož klíčový vývojový nástroj je v tak špatném stavu.

BoneFlute

  • *****
  • 1 841
    • Zobrazit profil
Re:Čím nahradit Glade?
« Odpověď #2 kdy: 30. 05. 2022, 13:51:47 »
Samozřejmě bych důkladně zvážil použití GTK+, jehož klíčový vývojový nástroj je v tak špatném stavu.
Co byste doporučil?

Re:Čím nahradit Glade?
« Odpověď #3 kdy: 30. 05. 2022, 14:17:57 »
Samozřejmě bych důkladně zvážil použití GTK+, jehož klíčový vývojový nástroj je v tak špatném stavu.
Co byste doporučil?

Co bych doporučil?

Posbíral bych informace o UI toolkitech Qt a Electron a porovnal s GTK+. Pak bych se rozhodnul, který toolkit mi pro moje potřeby vyhovuje více a učinil nějaké rozhodnutí. Zaměřil bych se na 1. vhodnost pro daný projekt, 2. kvalitu vývojových nástrojů a dokumentace, 3. rozhraní pro různé programovací jazyky. Z toho porovnání klidně zase může vyjít jako nejlepší GTK+, zejména pro programátora v čistém C.

Zkusil bych nějaký jednoduchý projekt ve třech variantách: 1. UI přímo v C, 2. UI v ručně psaném XML souboru, 3. UI pomocí GLADE, osahat si různé styly tvorby UI.

Re:Čím nahradit Glade?
« Odpověď #4 kdy: 30. 05. 2022, 16:15:42 »
U GTK neexistuje důvod dělat cokoliv v C, díky gobject introspection systému to můžete používat stejně dobře ve všech jazycích, které GI podporuje. Ručně stavět UI imperativně se už nedoporučuje, ani přímo používat Gtk primitivy. Best practice je používat libadwaita (nástupce libhandy), která má hodně high-level widgetů a stará se o dodržení accessibility zásad, responzivitu na různě velkých obrazovkách atd. Bohužel je to relativně mladé a tak není příliš mnoho začátečnické dokumentace, nejlepší je rozebrat si nějakou mladou a malou aplikaci a použít ji k učení (např. gnome-todo).

Příklad https://blog.devgenius.io/using-the-libadwaita-leaflet-widget-for-a-responsive-gtk4-ui-in-rust-73bbc2f4025


BoneFlute

  • *****
  • 1 841
    • Zobrazit profil
Re:Čím nahradit Glade?
« Odpověď #5 kdy: 31. 05. 2022, 00:58:49 »
Samozřejmě bych důkladně zvážil použití GTK+, jehož klíčový vývojový nástroj je v tak špatném stavu.
Co byste doporučil?

Co bych doporučil?

Posbíral bych informace o UI toolkitech Qt a Electron a porovnal s GTK+. Pak bych se rozhodnul, který toolkit mi pro moje potřeby vyhovuje více a učinil nějaké rozhodnutí. Zaměřil bych se na 1. vhodnost pro daný projekt, 2. kvalitu vývojových nástrojů a dokumentace, 3. rozhraní pro různé programovací jazyky. Z toho porovnání klidně zase může vyjít jako nejlepší GTK+, zejména pro programátora v čistém C.

Zkusil bych nějaký jednoduchý projekt ve třech variantách: 1. UI přímo v C, 2. UI v ručně psaném XML souboru, 3. UI pomocí GLADE, osahat si různé styly tvorby UI.
Dobře. Qt škrtněme, protože proto. A Electron škrtněme, protože je to pomalá nenažraná obluda (nebo taky protože proto - co je vám milejší). Existují ještě nějaké další alternativy?

Re:Čím nahradit Glade?
« Odpověď #6 kdy: 31. 05. 2022, 06:46:05 »
Existují, ovšem už jsme mimo mainstream (mainstream pro GNU/Linux jsou GTK+ a Qt).

Pokud nebudu počítat wrappery jako třeba WxWidgets nebo SWT, kde stejně nakonec dojde na GTK+ tak mne ještě napadají:

FLTK, EFL - malé a lehké toolkity s dostatečným počtem ovládacích prvků.



Re:Čím nahradit Glade?
« Odpověď #7 kdy: 31. 05. 2022, 19:10:39 »
Co java a https://openjfx.io/ ?? Definici v xml vyplivne Scene builder https://gluonhq.com/products/scene-builder/ a v javafx to krmíte daty a napojíte obsluhu událostí. Tj. stejný princip jako u Glade.

uetoyo

  • ***
  • 163
    • Zobrazit profil
Re:Čím nahradit Glade?
« Odpověď #8 kdy: 31. 05. 2022, 19:52:34 »
Co java a https://openjfx.io/ ?? Definici v xml vyplivne Scene builder https://gluonhq.com/products/scene-builder/ a v javafx to krmíte daty a napojíte obsluhu událostí. Tj. stejný princip jako u Glade.

Tipnu si, protože Java a autor má asi něco nativního (C, Rust?). Jinak nic proti, JavaFX je v pohodě, co jsem s tím zkoušel dělat před lety. Proč vlastně ne to Qt? QtQuick je OK.  ;)

Re:Čím nahradit Glade?
« Odpověď #9 kdy: 31. 05. 2022, 20:24:01 »
FLTK a EFL - to nepatří do tohoto tisíciletí. I to Gtk4 je pěkný opruz.

Pokud nechceš z nějakého důvodu Qt, tak bych použil radši Electron - běží to všude a má to GPU akceleraci.

Re:Čím nahradit Glade?
« Odpověď #10 kdy: 01. 06. 2022, 19:25:53 »
FLTK a EFL - to nepatří do tohoto tisíciletí. I to Gtk4 je pěkný opruz.

Pokud nechceš z nějakého důvodu Qt, tak bych použil radši Electron - běží to všude a má to GPU akceleraci.

A to vás platí výrobci pamětí?

Re:Čím nahradit Glade?
« Odpověď #11 kdy: 01. 06. 2022, 22:32:39 »
Ne, jen jsem rezignoval...

V Electronu se dnes píšou i tak primitivní věci jako toto: https://www.balena.io/etcher/

Můžeme tu všichni klidně meditovat nad nějakým super light toolkitem, který sice nic neumí, ale člověk udělá binárku co má 2MB, spustí se jen mu a celé to UI bude nevkusné (zdravím FLTK a EFL) a nebo prostě překousnout ty moloch toolkity co něco umí a člověk v tom vytvoří hezky vypadající věc co se dá distribuovat dál.

Věci v Electronu jsou self containing - člověk to pustí a ono to běží. Já mám třeba osobně dobré zkušenosti s appkama v Electronu právě z tohoto důvodu. Udělat binárku pro Linux co něco umí a funguje cross distro, to není někdy úplně jednoduché, hlavně když tam je GUI.

Re:Čím nahradit Glade?
« Odpověď #12 kdy: 02. 06. 2022, 07:23:37 »
Jednoznačně Qt. Je to budoucnost. Včetně embedded, QtQuick je akcelerováno na GPU, QtCreator je stabilní a nenáročné IDE. Není důvod nepoužít Qt (samozřejmě celý toolkit vč. příjemných API a komponent celého frameworku).

Re:Čím nahradit Glade?
« Odpověď #13 kdy: 02. 06. 2022, 17:52:22 »
A co takhle zkusit U++ (https://www.ultimatepp.org/)

BoneFlute

  • *****
  • 1 841
    • Zobrazit profil
Re:Čím nahradit Glade?
« Odpověď #14 kdy: 02. 06. 2022, 18:32:52 »
Jednoznačně Qt. Je to budoucnost. Včetně embedded, QtQuick je akcelerováno na GPU, QtCreator je stabilní a nenáročné IDE. Není důvod nepoužít Qt (samozřejmě celý toolkit vč. příjemných API a komponent celého frameworku).
Chtěl sem si zkusit nějakou apku co závisela na Qt, a po instalaci a spuštění mi to sestřelilo celé sezení. Netuším jak se mu to povedlo. Nemyslím si, že za to můžou kluci od Qt, prostě nějaká divné zařazení v distribuci (fedora 32), každopádně skoro každá apka s Qt to sestřelí.

Není to důvod, proč nechci používat Qt. Mě se prostě jen nelíbí.
Ale reaguji na prohlášení, že "není důvod nepoužít".