To that I would add 1) various database glue allowing drag-n-drop bindings, 2) Incredibly good MS Office integration (or anything COM), and 3) Huge library of third-party components
(I haven't kept up with .NET desktop development, but in the 1.1-era, MS Office stuff was painful.)
I agree wholeheartedly. Almost all of the abstractions in WebForms are leaky, and the think that it's abstracting... HTML, isn't so complex that it benefits from being abstracted.
When I explain ApEx I usually describe it as "Access, for Oracle, but with web pages".
And like Access or VB6 it's great while you colour inside the lines. You can use it to smash together small LOB CRUB apps together in hours, even minutes for the smallest ones.
You can take a look at RealStudio. The Web Edition is in the early versions and is still a little rough around the edges though their Mac/Windows desktop development environments are much better and have been around for many years.
It wasn't always that easy. Integrating Office apps prior to the introduction of VSTO was ugly and fraught with incompatible types. Especially if you were using a language other than VB.NET, which generally meant a whole lot of Type.Missing argument entries in every other line of code in addition to creating marginally machine-to-machine compatible COM interop wrappers. Getting beyond the "Works on My Machine" certification wasn't always an easy thing in VS 2003/Framework 1.x.
I never had much of a problem to be honest and I built some behemoths which involved ASP.Net, .Net CF, remoting and all sorts of other junk in the same app.
There are a lot of not-programmers who thrived doing just this, and some of them are still around, getting programming jobs based off of that experience that doesn't translate at all to modern frameworks.
You could create a form in 30 seconds, drag a couple of buttons onto it, and start sticking code behind them.
It was _incredibly_ easy to go from nothing to an app that did something useful and was easy to use.