And my point still stands. The majority of apps are either front ends to web services, or can be constructed using a similar approach that we use for the web today. They are UI-heavy. I did say you should be able to drop to native code if you really need the power.
Why limit to "Java"? For apps that aren't just front ends to web services, I'll take Cocoa, Android, or wxPython over HTML5.