Flash CS5 will export to HTML5 Canvas
9to5mac.com
9to5mac.com
As far as I can tell, people use Flash because the development tools are fantastic, not because they're married to the SWF output. This seems like the best of both worlds.
I think people use Flash because it's the best (major) browser-targeted tool that handles animation design decently.
I consider the development tools to be poor if you're primarily writing code (and this includes Flex), but they seem great for editing simple animations visually.
Much appreciated!
I'm using Haxe with FlashDevelop currently, which you can find at:
http://haxe.org/ http://www.flashdevelop.org/wikidocs/index.php?title=Main_Pa...
Everything else I've written in house, so that's about all there is to it. If you have any further questions, my email is in my profile...
Adobe as an IDE only in the future?
It'll be interesting to see if this works with advanced animations and games.
better late than never.
I'm completely in favour of web openness, and I'm personally stung by the SWF monopoly, but I find the assertion that Macromedia should have given up a huge part of their business advantage just to help general web openness ridiculous.
It seems like it would be easier to do effective hardware acceleration for SVG than it would be to do the same for <canvas>.
It's just that <canvas> has a shitload more momentum than SVG ever had.
webgl could be another candidate.
"When initial work on an XML-based graphics interchange format began, the natural first thought was to use SVG. However, there are key differences between SVG and Flash Player's graphics capabilities. These include core differences in SVG and Flash's rendering model with regards to filters, transforms and text. Additionally, the interchange format needed to be able to support future Flash Player features, which would not necessarily map to SVG features. As such, the decision was made to go with a new interchange format, FXG, instead of having a non-standard implementation of SVG. FXG does borrow from SVG whenever possible.
"It is important to note that this specification follows much of the SVG specification format organization as well as copying related concept prose. The SVG specification is available at http://www.w3.org/TR/SVG/.
http://www.webmonkey.com/2010/03/internet-explorer-9-shows-u...
IE9 is a big improvement for Microsoft. However, if they included more support for HTML5, developers could get "all their wood behind one arrow."
SVG is great for vector graphics but for fast bitmap-based graphics you need <canvas>.
You do not want to handle bitmaps where each pixel is an object.
One huge example is games - vast majority of games use bitmap graphics.
Or if you want to do some pretty data visualizations like heatmaps.
----
Edit: Here are some examples showing what fast canvas bitmap graphics can do (and what would be very very hard to do with SVG):
http://29a.ch/2010/3/24/normal-mapping-with-javascript-and-c...
http://mrdoob.com/lab/javascript/effects/fire/01/
http://mrdoob.com/lab/javascript/effects/water/00/
http://www.nihilogic.dk/labs/canvas_music_visualization/
http://www.nihilogic.dk/labs/strange_attractors/
http://www.p01.org/releases/512b_jspongy/jspongy.htm
http://www.p01.org/releases/20_lines_hypno_trip_down_the_fra...
Adobe used canvas probably because you can redo vector graphics with a decent performance in canvas, while it doesn't work the other way around.
Flash exporter to SVG could be marginally better for vector parts of what Flash can do, but it would lose all bitmap capabilities, while Flash exporter to canvas can potentially replicate everything what Flash can do.
----
[1] Flash bitmap graphics is fast enough to do pretty decent full-screen 3d graphics with textures and shading:
An aside, bizzarely I find it's often faster to redraw some graphics "vector style" (calling the lineTo/bezierCurveTo etc methods again) on canvas than it is to use drawImage and use a cached version of the same graphics.
The Flash CS5 IDE might generate easily-blockable HTML5 animations, but I expect that lots of tools will come out soon that will make it nearly impossible to automatically differentiate advertising from other content on the page.
Who knows, this could be the beginning of the success of the "pay to get an ad-free experience" business model.
I think you would need to analyze which <canvas> elements are using Adobe's JavaScript library. This is more computation intensive then searching for Flash object embeds, and I think if you did it right - you could sell this plug-in.
I don't expect to see any kind of Actionscript combined export any time soon though, performance is too much of a hurdle in the near future.
This is a good thing: Adobe/Macromedia's expertise on the authoring tools combined with a good open platform instead of their proprietary backend. I have no complaints against the former, and if the latter will work out it's just a plain good move.
Combined with HTML5 <video> and <audio> elements, there's really only webcam and cursor access that I can think of missing in this kind of implementation. Cool!
The FXG format basically describes the layout to pixel precision. Anyone using the HTML5 export would have to be willing to expose their layout secrets.