v com vyvijat gui aplikacie pre linux rubrika: Programování: Jiné
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.
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:
- http://gtk.org/ (C)
- http://www.gtkmm.org/en/ (C++)
- https://wiki.gnome.org/Projects/Vala (Vala)
- https://python-gtk-3-tutorial.readthedocs.io/en/latest/ (Python)
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:
Nebo se přihlaste jménem a heslem:
Komentáře