Every now and then I complain about the browser's programming model. There's just been better models in the past on desktops, and there must be a ways forward that (1) "don't hurt the web" [see below] and (2) provide at least the ease of the popular models of the past. Most of the popular models of the past are based on some variation of Model-View-Controller from Smalltalk-80... frameworks like Swing, MFC, etc.
Those models are still incredibly low level compared to other practical-yet-relatively-unknown models that evolved over the last 30 years or more. Most of these other models that I can recall are all in the ballpark of contraint-based and data-flow-based systems.
Here are some off the top of my head for interested readers, many of whom I suspect may *only* have client-side experience with HTML and AJAX if they are younger than a certain age, maybe 35? I'll fill out links and descriptions as I get time.
- ThingLab - And subsequent constraint solvers that came out of Alan Borning's groups for Smalltalk, Java, C, etc. (Many developers are familiar with contraints for layout, less familiar with constraints used within domain model and GUI integration. For a recent discussion on contraints in layout see: Michael Lucas-Smith, Vassili Bykov, Andres Valloud)
- Alternate Reality Kit (ARK) - Smalltalk
- Hypercard (on this list for its unique simplicity as opposed to its programming model per se)
- Garnet - CommonLisp, read the papers and try the system if you can - great stuff.
- Amulet - Garnet's C++ successor, a bit more clunk but available to more programmers
- EZDraw - Joel Bartlet's Scheme->C system
- Figlets - Haskell