As a recent (for the past 8 months or so) entrant into development for the web I can say that it has been pretty productive for me. Coming from a c/c++/c# background. Developed an html5/jquery application with background json data refresh that works on iPhone, iPad and PC (haven't tested with Android yet), and that handles screen resizing pretty fluidly.
Maybe the ways you are trying to implement web applications have been the cause of much of your pain. I was using a text editor and chrome's interactive debugger, along with the super helpful jquery toolkit and it was pretty smooth. I abandoned an earlier attempt with GWT because the ui designer for eclipse kept crashing or not rendering things the way I had expected it to, it wasn't worth the hassle of trying to figure it out.
I think companies and developers may have some need for native applications but clearly as the interfaces between the browser and hardware improve and include gps, camera and other interfaces, you'll see a lot more web applications for the simple reason that they deploy/update easily, don't require separate development toolchains, don't need app stores, work across multiple platforms etc.