> Hopefully someday we'll move on to newer, simpler app frameworks (like LVGL and Flutter) as we discard our Old Underwear: X11, SDL, GTK, Qt, ...
Ummmm what?
SDL is basically timeless as it's just a layer that abstracts various platforms (Wayland, X11, Mac, Windows, game consoles…) to offer one single API for just making a window with a GPU context, receiving input and stuff.
GTK is a really solid toolkit with a strong, consistent UI design philosophy. The upcoming GTK 4 transitions everything to GPU-based rendering without reinventing the whole toolkit from scratch (unlike Qt with QML, Windows with WPF and UWP…). GTK suffers from lack of funding sadly, so it's a slow project, but the current state of GTK4 is already pretty impressive.
Qt is a monster framework with corporate interests working on it, but it's also really solid and QML/QtQuick was basically Flutter years before Flutter (so actual Flutter is just Google NIH syndrome…).
"Simple" UI libraries like LVGL are always bound to make your life not simple. They usually don't support accessibility, lack support for various platforms (you've just had to port that one to Wayland), have various limitations and so on.
Flutter is not even simple.. it needs the whole Dart VM or compiler whatever monstrosity to run.
If Google can't control it, they build a competitor. If Google can't figure it out, or if it is not 100% what they need, they will build a competitor.
This has caused tons of problems for both the industry and consumers. For example, Android updates would be much less of a mess if Google had used linus' LTS kernel...
How does sticking to an LTS solve the lack of stable driver ABI? That’s what project Treble from Google was about - providing a stable ABI driver authors/vendors can target so that an OS update can build and function correctly.
Also I don’t know how closely you followed the ARM tree of the Linux kerne but pre-Google the authors were resistant to the board config approach because you don’t have that on x86 because there isn’t an SoC that bundles a lot of the functionality. It wasn’t until Android that the Linux tree started taking ARM more seriously (which arguably it wasn’t really before anyway)
Russell King as recently as 2009 was against it. It got merged around ~2013 so it took about 4 years. The first Android phone was supposed to be 2009 but IIRC it got delayed to 2010 because of the iPhone (announced 2008). I think my characterization of this is fair and accurate.
> Well, for one thing you have only one ABI to consider if you go with the LTS instead of hundreds we have today.
I don't follow. You have 1 Android release per year. There is a new LTS kernel every year. I don't see how sticking to LTS solves the problem. You have to actively hold off on Linux kernel releases to get any advantage of this process. For something like Android this means they'd be forking LTS & it would be even more work to move to a new kernel (all the out-of-tree development + all your driver vendors switching kernels). So now you'd be complaining why Android is using such an ancient Android kernel. Treble solves a real problem and has nothing to do with NIH unless you just define all kernel development happening at Google as NIH (which would be strange considering how many Linux kernel developers and maintainers they employ).
I'm not sure I agree with this assessment but even if this were true I still think it's a good thing that we have an open-source alternative to Qt considering the recent drama about its licensing [1].
Ummmm what?
SDL is basically timeless as it's just a layer that abstracts various platforms (Wayland, X11, Mac, Windows, game consoles…) to offer one single API for just making a window with a GPU context, receiving input and stuff.
GTK is a really solid toolkit with a strong, consistent UI design philosophy. The upcoming GTK 4 transitions everything to GPU-based rendering without reinventing the whole toolkit from scratch (unlike Qt with QML, Windows with WPF and UWP…). GTK suffers from lack of funding sadly, so it's a slow project, but the current state of GTK4 is already pretty impressive.
Qt is a monster framework with corporate interests working on it, but it's also really solid and QML/QtQuick was basically Flutter years before Flutter (so actual Flutter is just Google NIH syndrome…).
"Simple" UI libraries like LVGL are always bound to make your life not simple. They usually don't support accessibility, lack support for various platforms (you've just had to port that one to Wayland), have various limitations and so on.
Flutter is not even simple.. it needs the whole Dart VM or compiler whatever monstrosity to run.