v com vyvijat gui aplikacie pre linux rubrika: Programování: Jiné

7 xxar3s
položil/-a 2.3.2017

Napadlo ma par vylepseni gui ktore by som chcel zakomponovat do gnome 3...v akom prostredi jasyku atd vyvijat? Skusal som viacero jazykov (Rust, SWIFT, Vala, F#) ale jedine co mi skutocne fungovalo bola kombinacia Gtk+3 vscode a F#). vala nepodporuje autocomplete a kym sa zoznamujem s prostredim rad by som mal k dispozicii nasepkavac. U rustu funguje nasepkavanie iba pri moduloch ale uz nie pri objektoch. V F# mi fungovalo vsetko akurat je zavisle na mono a ja by som chcel nativne binarky.

Komentáře

  • Petr Voneš : Nevím, ale podle toho co píšeš mi není jasné, jak někdo v roce 2017 může používat takové hrůzy co neumí ani naprosto základní věci. To je komfort někde na úrovni Delphi 2 z roku 1996. Možná C++ a Qt. 2.3.2017
  • Anonym : "Napadlo ma par vylepseni gui ktore by som chcel zakomponovat do gnome 3" Chcete zlepšovat GUI knihovnu nebo vyvíjet aplikaci? Pokud první, tak pochybuji že je ještě někde místo něco zlepšovat na GTK, kromě toho ho přepsat :D; Ne vážně, zkuste Qt a klidně QML namísto Qt Widgets. Jinak Unity běží na GTK# a asi běhá dostatečně dobře, podle toho kolik lidí s tím pracuje. Vala je podle mne již mrtvý jazyk, to radši zkuste třeba D: https://github.com/buggins/dlangui; ale nic tak ověřeného jako Qt nenajdete. 2.3.2017
  • harrison314 : Qt je fajn, ale potom pozor na jeho licenciu. 3.3.2017
odkaz
6 mcbig_cz
odpověděl/-a 13.3.2017

Zdravím ve spolek, přečetl si někdo pořádně dotaz od @xxar3s? Pokud mu někdo nabízí QT tak evidentně ne :-) A tady to není o QT vs GTK+ :-)

Nicméně, jak tu už @prebijak psal, pro Gnome, resp. s požitím GTK+se dá psát snad ve všech jazicích. Osobně jsem si prošel C, C++ (Gtkmm), Python (py-gtk i py-gobject) a Valou. Ale kdysi jsem testoval i PHP, a nedávno jsem si zkusmo pustil i hello-world v jazyku Lua.

Ten výběr je opravdu pestrý. Nevím jak jsou na tom ostatní intepretované jazyky (možná jsem zkoušel i hellow-wold v JavaScriptu, ale to už si nepamatju). Většinou ale pokud jde o Gtk+3 tak je vše řešené přes tzv. GI. Jde takový univerzální binding do všech jazyků.

Co se GI týče, v podstatě jediné, co je třeba kompilovat jako knihovnu do jazyka je základní interface k GObject, a vše ostatní co je na GObject založené, lze použít :-) To používá Python, Lua a myslím že i JavaScript.

Vala. Do toho jazyka jsem se zamiloval. Ne není to mrzvý jazyk, naopak, neustále se na něm pracuje. A i když je napsán v podstatě pro GObject, nemusí se vůbec použít. Pro mě to vypadá v podstatě jako C++, s tím, že to umí pár věcí navíc, nebo to umělo věci v době, kdy se pracovalo na C++11. Zajímavostí je, že to pracuje podobně jako kdysi QT, tedy tak, že se vlastně z vala zdrojáků vygenerují C zdrojáky a ty se následně kompilují. Díky tomu pak člověk vidí, co a jak je optimální a co ne. Pozor ale na to, že některé věci dál optimalizuje C kompilátor, takže co může vypadat hrozně, nakonec dopadne dobře.

Co se Autotools týče, není to o tom, jestli Vala umí Autotools ale jestli Autotools umí valu a umí. Osobně jsem to nezkoušel, nemám rád Autotools a tak jsem si napsal vlastní Makefile. Nicmně builder s autotools tuším pracuje takže vygeneruje kostru která bude fungovat. Co se ide týče já pracuji ve Vimu, ale zkoušel jsem i builder a integrace nápovědy pro GObject knihovny umí kde co. Lze tak použít i obyčejný gedit nebo geany. Nejraději mám ale přímo dev-help.

Kde začít, nejlepší je:

Co se českých zdrojů týče pak zejména root nebo zdrojak. O Vale jsem psal i na Linuxsoftu, nebo na mém blogu https://zeropage.cz/a/t/Vala, mám v plánu český web o jazyku Vala, možná i knihu, ale zatím na to nemám čas.

Pokud jde ale jen o vylepšení Gnome jako takového, tedy například pluginy do Gnome Shellu, tak pak asi JavaScript, který má být v podstatě jazykem pro psaní pluginů (apletů) do Gnome.

Komentáře

  • Anonym : Promiň, ale nabízím Qt za podmínky, že "to budu chtít později spustit na Windows nebo Mac OS..." :-) Jinak pokud by autor nepožadoval neinterpretovaný jazyk, raději mohl zůstat u C#/F# s GTK. 29.3.2017
  • mcbig_cz : Hned první věta otázky: "Napadlo ma par vylepseni gui ktore by som chcel zakomponovat do gnome 3." Pro úplnost, Gnome je grafické prostředí pro Linux používající právě GTK (https://www.gnome.org/). 30.3.2017
  • Anonym : @mcbig_cz A tak to máte asi pravdu. Jinak tohle by nepomohlo, pokud jde o vzhled? http://doc.qt.io/qt-5.6/gallery-gtk.html 30.3.2017
  • jtojnar : @uetoyo to je myslím jen pro GTK 2, a ani tam to nebylo perfektní. 30.3.2017
  • mcbig_cz : Ty styly jsou (byly) vzájemně křížené, aby GTK aplikace vypadali v QT prostředí jako by tam patřili a naopak. Nyní už se řeší např. ClearLooks který je pro většinu grafických prostředí. Ale psát do GNOME rozšíření v QT (pokud by to vůbec šlo - záleží na druhu rozšíření), je stejné jako psát rozšíření v GTK do KDE. Přesněji, jak mám GTK rád, tohle by mě nenapadlo. 31.3.2017
  • Anonym : @mcbig_cz Samozřejmě, to dává smysl; Já sem pochopil, že spíš chce dělat aplikaci. 31.3.2017

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.