I recently tried to build a small app for GNOME. In my experience, it was very confusing and hard to find the right information.
In my experience the XML based UI is very verbose and hard to understand. I think a more modular, component based approach would be easier to understand and use. I would really enjoy a way to build a GNOME app with a framework like Vue or maybe React. This could also allow sharing code between the platforms.
What are your thoughts on this? Is there already something like this?
My suggestion is to stop trying to compare native/desktop development tools with web development ones: it’s only going to lead to frustration.
That isn’t really possible, because those frameworks do not target GNOME. Even React Native does not really work that way.
While that’s the usual “holy grail” of application development—“write once, run anywhere” was the original Java motto—the history of the past 30 years has pretty much proven that it’s not a sustainable solution; it usually only works for two cases:
simple applications that are never updated
complex applications that look and behave nothing like the platform they run on
Rest assured you aren’t the only user who has said that, and there are some vague ideas about defining a new and simpler format to supplant XML, but as of yet no one has stepped up to do the work. Hopefully one day it’ll happen!
Although I don’t mind handwriting XML UI files and do so regularly, I think the solution here is to develop tools to make it easier for human beings to generate this XML, which has traditionally been a format that is best suited to being read and written by computers.
Previously we had glade which is no longer continued for gtk4.
But we do have Cambalache which looks promising, though I’ve never used it.
Once you have the UI laid out, writing the callbacks is then pretty straightforward especially for simple apps and can be done in a plethora of languages.