I was wondering what is the technology used behind Chrome Angry Bird?
It is using HTML5 canvas for display. For the programming logic code, 开发者_高级运维it seems not to be flash. Or, do Angry Bird team rewrite their code in JavaScript?
Rovio (makers of Angry Birds) used Google Web Toolkit (GWT) to make it available in the Chrome browser as mentioned on CNET.
Since its done in GWT that means its written in Java and compiled down to javascript using, as you mentioned, html5 canvas.
EDIT:
Here is a video (youtube) from Google IO where it demos GWT and ForPlay, and how Angry Birds uses GWT which relies on WebGL and many other HTML5 techs (local storage etc) - which Chrome is one of the major forefronts on.
Another source Ray Cromwell - one of the GWT contributors. According this source, and mentioned on other less verifiable places, Angry Birds may also fall back to Flash for audio due to some lacking parts of HTML5 audio tags.
Update April 2012
The ForPlay library that Angry Birds used has moved to the PlayN library located here: http://code.google.com/p/playn/
Angry Birds for chrome, was written using the google playn library.
http://code.google.com/p/playn/
EDIT: Following a discussion with @WSkid, I discovered that it is heavy GWT, and probably no webgl at all. You cannot be always right :)
Actually this is not GWT, this is WebGL. The point is that the original angrybirds was written in opengl ES, ie opengl supported by most modern phones (android, iphone...). Chrome is working hard to come up with a new 3D standard for the web, which is webgl. Basically you can handle 3D stuff with a javascript API.
As for migrating, both are openGL based language, sort of reduced set of openGL capabilities, so they had to come up with a few changes to port Angry birds to google chrome. It is however not easy, because being low level, you always come up with difficult issues when you do texture management for instance.
more: http://www.khronos.org/opengles/ http://en.wikipedia.org/wiki/WebGL
my two cents...
If you inspect the HTML (DOM elements) of the game in safari/chrome you'll see it's not even canvas it's almost pure HTML divs and lots of CSS3 transformations.
There are just few (about 3-5) canvas elements for the sky and other small things in the game.
So it's not canvas as people are saying.
(curiosity: it's even possible to change the CSS of the background elements and tweek/hack the game. =])
[PLEASE SEE THE REAL ANSWER BELOW] Angry Bird's was recently ported to the Android platform which is how it's made its way to the Chrome OS platform. Most likely, it is just a slightly modified version of the Android version.
精彩评论