Post AalSkP8a4fRI6m8UEa by sonny@floss.social
(DIR) More posts by sonny@floss.social
(DIR) Post #AalSkP8a4fRI6m8UEa by sonny@floss.social
2023-10-14T14:24:28Z
0 likes, 0 repeats
I wonder why reactive GTK hasn't taken off yet. Specially in the context of GNOME.There have been several projects. Relm4 looks well maintained but doesn't appear to be used much.Thoughts?Also 🧵 #gtk #Linux #development #Rust #GNOME
(DIR) Post #AalSkQDw2FJfTfeHDc by kdwk@fosstodon.org
2023-10-14T14:48:39Z
0 likes, 0 repeats
@sonny I’m currently writing #Spidey (https://github.com/kdwk/Spidey), an app that lets you open websites in individual windows in #Relm4. It has been an absolute joy to use. With very little boilerplate, almost every single line of code I wrote myself is #UI code or #coreLogic. It is very intuitive and convenient, with many helper functions and macros providing idiomatic wrappers for clunky #GTK methods.
(DIR) Post #AalSkRSVRYZ9J9TQZM by kdwk@fosstodon.org
2023-10-14T15:03:13Z
0 likes, 0 repeats
@sonny I hope one day Workbench and Gnome developer documentation can support Relm4 so more people would know about this!
(DIR) Post #AalSkSHCP57DqNBuaG by sonny@floss.social
2023-10-14T15:10:11Z
1 likes, 0 repeats
@kdwk I suspect my next big project after Workbench might be multi-lang and interactive GNOME developer documentation.We have Rust support now thanks to @ju I suspect Realm4 might already work.You'll have to edit the Cargo file of the session/project to add relm dependencies.
(DIR) Post #AalSkSs4C0bdgiRM36 by sonny@floss.social
2023-10-14T14:28:52Z
0 likes, 0 repeats
Some ideas:FLOSS apps often have little state management compared to web or corporate apps.Or they are very specialized (cad, graphics, ...) in which case reactive UI is the least of concerns.I guess it would still be useful but only if the support, APIs and features were fully there. Perhaps it's just a lot to build before adoption ?
(DIR) Post #AalSkWqRPzgO0pi74S by sonny@floss.social
2023-10-14T14:31:53Z
0 likes, 0 repeats
The reasons why React and so on took off so quickly in enterprise is typically because SaaS involves building tons of UI, iterating quickly, growing, scaling etc.Its strength now is the ecosystem around it. Perhaps it's what we need to have a better UX for GTK/GNOME dev.State management, routing, animations etc
(DIR) Post #AalSkalcpqCuB3UK7U by sonny@floss.social
2023-10-14T14:39:56Z
0 likes, 0 repeats
I guess there is also the fact that GTK already has features for state management.Property bindings, models etc
(DIR) Post #AalfNkJ8UqXmVhbBya by user8e8f87c@berlin.social
2023-10-14T14:41:19Z
0 likes, 0 repeats
@sonny Also OOP is not that popular anymore (which is a good thing).
(DIR) Post #AalfNl6lWKF6zcopKi by sonny@floss.social
2023-10-14T14:43:17Z
0 likes, 0 repeats
@user8e8f87c OOP is now unpopular because of reactive programming.Reactive programming (specially React) introduced functional programming to UI development.
(DIR) Post #AalfNlpQqFyJE9iUxE by user8e8f87c@berlin.social
2023-10-14T14:45:54Z
0 likes, 0 repeats
@sonny And I don’t mind seeing OOP die. (I even use the Haskell bindings of GTK to have a somewhat functional experience with it.)
(DIR) Post #AalfNmZA6EYFVz71EW by user8e8f87c@berlin.social
2023-10-14T14:55:04Z
0 likes, 0 repeats
@sonny If iced will take off, we can be sure that this is the reason then.
(DIR) Post #AalfNnOD2RNu4Izmng by sonny@floss.social
2023-10-14T14:57:46Z
0 likes, 0 repeats
@user8e8f87c there might be other reasons for it to take off like being written in Rust or having great cross-platform support in the future.
(DIR) Post #AalfNo8IH6FQNEYadE by user8e8f87c@berlin.social
2023-10-14T15:03:38Z
0 likes, 0 repeats
@sonny Do you think #GTK is a dying project? It has very few support from big companies. Even Canonical does not use it. Would be a bit sad to see it go.
(DIR) Post #AalfNoqxb1ycblSGFk by sonny@floss.social
2023-10-14T15:06:15Z
1 likes, 0 repeats
@user8e8f87c It's actively developed and with GTK 5 on the horizon, new GTK apps release almost daily.Not being the hyped or new thing doesn't mean it's dying.