@vancha The world needs more GTK programming tutorials in general! If I don't understand the documentation it is a lot of trail and error until I know how things work... And this is very often the case...
I'm torn between these for L5 development:
1) GTK/Libhandy/Builder/Glade (hard to figure out with Rust but most native to L5 and continuous improvements for mobile usecase)
2) Druid - Rust with well though out reactive UI architecture that fits Rustlang nicely (but no Libhandy and not ready for prod yet afaict):
https://github.com/linebender/druid
3) Flutter Desktop Linux (getting close to working on aarch64, but not yet)
https://github.com/flutter/engine/pull/20254#issuecomment-694546839
@tomek @ITwrx @zwerg12 I'm not stopping to learn gtk-rs with builder, libhandy and glade until i can write a useful application. I really think that stack is going to be really useful for mobile applications in terms of being low overhead (and thus power efficient) and expressive.
If I was a better programmer it might not have taken so long, but it can't hurt to just keep at it ^^
+1 - right now it's really the the best option, especially if you have to learn from scratch
I already know Flutter and so that would be the easiest for me if it worked well enough, and I could develop one application for all mobile platforms (L5/Android/iOS) at the same time. So it would be easy/free to do L5 apps, but probably not as small/fast/efficient/native as pure GTK/Libhandy. Will it be "good enough" though? Too early to tell right now...
I can't say anything about any of these 3 programming tools because I am using GTK/Libhandy/Builder in combination with C.
I had four main goals for my project:
1) Using only basic libraries to reduce the amount of dependencies and keep the app size small
2) Use C to learn the language because I want to do some kernel stuff in the future
3) Fast speed to be energy efficient: I use heavy calculations in my app
4) Designed perfectly for the L5
@vancha
Haha difficult question.
I don't use Glade I write the UI files manually and I like this much more.
Writing the C code is a bit tricky but some gnome projects are written in C and I often look how they solved some problems. Purism has some examples written in C which helped using libhandy correctly. But at the moment I have not much time for programming so I will give an update once I have more experience.
But until now I am really pleased. I haven't had unsolvable problems until now.
@vancha I didn't knew that rust is that difficult in combination with GTK. In C everything is a pointer and you just have to pass them over and every thing works fine :D
@zwerg12 I don't think it's that difficult. It has it's quirks, like having to clone every widget before you can connect to a signal (which under the hood only copies a single pointer it seems), but it gets tougher when the application has multiple views/screens. Which is more an effect of the way rust deals with memory. There's probably a couple design patterns already figured out by other rust/gtk developers that make it eas(y/ier) to develop a full application. I'll read more code.
@zwerg12 well not having unsolveable problems yet says a lot I guess :p everything I've tried thus far seemed unsolveable ^^
The issue is always thinking in terms of objects and passing them around. I always run into some kind of mutability related error sooner or later. I'll check out a couple of those examples then ^^ thanks!