johnny
johnny

Reputation: 19735

Is HTML5 canvas capable of rich complex games like Flash?

Also, since it takes so long for a standard to come out for things like HTML, is it possible that the <canvas> in HTML5, though it may not be replaced in specs, will be updated often in the browser so that it can get better and better like Flash did/does in its various iterations?

In other words, we may have <canvas> ten years from now but the canvas of today will not be the canvas of five years from now, except in name?

Upvotes: 4

Views: 1766

Answers (2)

MickMalone1983
MickMalone1983

Reputation: 1054

No.

If you have to use canvas over Flash, it's well worth checking out what Grant Skinner's done with the Create.js suite - Easel.js is a very good attempt to model, or approximate, the Flash display model (containers, parameters etc), and with a decent JS IDE (hmmm) you can get some good stuff going, but if you're a Flash developer the experience is often quite depressing, it's like going back ten years, and writing complex programs in JavaScript? Get ready for some serious pain.

In sheer performance, canvas has come on a long way, but you still have to code in JS, you're missing the Flash IDE which shaves weeks off development. Hopefully, if we really have to adopt this big mess over Flash, Adobe Edge will help with this.

Also, HTML5 sound support is pathetic. Again, Grant Skinner and Audio.JS can take a lot of the pain out, but as with display, large chunks of the flash feature set simply do not exist in HTML5, and there is no way to approximate them yet, and as Yi Jiang points out (you can safely disregard the other answer) any significant changes take a long time to come about!

Upvotes: 1

Yi Jiang
Yi Jiang

Reputation: 50115

The short answer is, currently, and in the foreseeable future, no.

First, you need to realize that it's not just HTML5 we're talking about here. Javascript is also needed for the animation, game logic, 2D/3D engine, etc. And although Actionscript performance is very poor, Javascript performance is abysmal compared to that. In addition, Flash has a mature and developed IDE and a set of drawing tools that allow the creation of complex vector graphics and animation. No such things exist for <canvas> as far as I'm aware of.

As for the specifications part, again, impossible. Adobe controls the IDE, the language specifications and the client-side player for Flash. This basically means that they can do whatever they want with it. If you don't like any of the changes, don't buy/use their product. This means that they can develop their product in whatever direction they see fit, and at a pace the W3C will never be able to match.

HTML on the other hand, is very different. The W3C has to sit down with the major browser vendors, as well as listen to the web developers and end users. And even though flashy, interesting features like <audio> and <canvas> are at the top of every web developer's wishlist, backwards compatibility is also incredibly important to the specifications. This is one of the reason why development on the specifications is so slow - the specifications do not just depend on the W3C rolling out them out - it's also browser vendors adopting the specs, web developers using the features, and end users upgrading their browsers. None of that is going to change with HTML5, so why do you expect the speed of development to pick up?

Upvotes: 7

Related Questions