There are at least 3 real problems with production-grade web development:
- GC. No matter the hype, no browser has production grade GC for real-time stuff. There's a lot of talk about how it's no big deal and JS is fast, but reality is, pauses are annoying
- Hardware acceleration is rudimentary. There's plenty of demos showing off how great the web is. Until you realize that a lot of hardware is unsupported, that most useful features are missing and that everything is built around limitations of platforms rather than features desirable for users. Google Maps can cause BSOD on Chrome with simple 2D canvas and the bug remains unresolved for more than 2 years. And best of all, as a developer, you have no control over any of this, you can pray that it will work for end users
- Lack of any standards. There are plenty of libraries, but they are individual efforts, unsupported "it's open source, fix it".
Couple that with 5-50 variations of unique platforms you must support (all HTML5 compliant, yet each broken in its own way) and pushing any kind of limit becomes monumental effort.
But yes, you can whip a neat looking demo in 20 minutes. No arguments here. Looking around however, that's about as far as the platform goes.
Another big part in perception is the disposable perception of web apps. if something doesn't work, users won't complain. It's web, just close and click something else. With no upfront investment, if something doesn't work within 7 seconds, people move on and forget about it, it's not worth their time spending 3 minutes whining about it.
Another factor - to make anything useful, you will need all hardware combinations, so a Mac and PC at minimum, along with all browser combinations, testing everything manually. Whatever compatibility guarantees there might be in standard don't hold in real world for anything beyond basic HTML layouts. Canvas and WebGL or anything else is simply a guessing game of trial and error.
am I stuck with Chrome/Firefox debug console?
Basically, yes, for simple DOM stuff. For anything close to typical profilers and debuggers, there's nothing. Although hardware accelerated stuff can be debugged using desktop-based GPU debuggers that operate on driver levels.
That said, it's not impossible. Just expect to require 10-100x times more effort than using Unity or Flash or even iOS/Android. Which is why something simple as Angry Birds came to Web last, after all of those first. Cost benefit simply isn't there for production work, unless you already have a proven model and merely wish to expand beyond some other platform.
As a simple proof: between kongregate, armorgames, etc..., app stores, and whatnot - how many notable HTML5 games, let alone app stores are there? How many of those were originally made in HTML5, and were not just ported after initial success elsewhere.