Well, the portability improvement from Assembly to C is mirrored in browser applications compared to native one in my view. The Browser today abstract a lot of things for you now including network communications, device interaction, file system interactions, graphics... the list goes on.
These aren't all GUI related things. I strongly believe you can now have a OS that is basically booting you into a browser and all OS interaction would go through WebAPI and still build most applications we use today.Obviously there will always be cases which you need to drop down a level.
Developers of ChromeOS or boot to gecko seem to agree somewhat.