I suspect we will see somewhat of a revolution in terms of client side development in the coming years - with a vast reduction in complexity and huge increase of programmer productivity.
Frege looks promising for Android, in particular: https://github.com/Frege/frege
I was just as pessimistic as you wrt frontend development, I had dropped it off altogether. Elm made frontend dev enjoyable again. Can't recommend it enough.
If someone wants to talk about elm and how it is to develop with it, feel free to drop me a line. Email is on profile.
Have you ever tried to build a UI with Qt or JUCE?
And the parent is obviously implying QT/JUCE are much harder to create a GUI than js/html/css/etc.
The existence of STEPS is actually one of the very few things that keeps me motivated to continue programming - maybe all that complexity isn't so essential after all. :)
TBAG was close enough to the idea (maybe closer than most JS implementations!), in C++ in 1994.
For papers see http://conal.net/papers
* The MODEL is something like a web server
* The VIEW is something like a browser
* The CONTROLLER is something like the Windows start menu
Trygve literally writes:
"A view (=browser) is attached to its model (=server) and gets the data necessary for the presentation
from the model by asking questions (=submitting queries). It may also update the model (=posting) by sending appropriate messages. A controller (=start menu) provides the user with input (=menu items) by arranging for relevant views (=windows) to present themselves in appropriate places on the screen."
Case in point: to you, it seems obvious that the controller is like the Windows start menu. To me, that doesn't make any sense at all.
Hardly the best example of an MVC controller (even if they still are controllers).
View: HTML templates and css
Controller: Browser engine