views:

234

answers:

4

As a Flash and Flex developer it is a little disheartening to see the strides in HTML5. Don't get me wrong I have nothing against progress, for me it is just that currently it is easier to write an app in Flash vs AJAX. I love writing in Flash and Flex and think ActionScript is a really great language. But, it appears the strides made in ActionScript or making their way to JavaScript and that video in HTML 5 may make Flash/Flex a thing of the past.

So when do you think (if ever) that HTML will or is a competitor to Flash/Flex for RIA or will browser incompatibility stop this from ever happening?

The reason I am asking is because I don't know if continuing in Flash/Flex is a good idea career wise if HTML 5 can do more. Just looking for some answers from other developers using the technologies.

+1  A: 

HTML/CSS/Javascript together solve a different problem than Flash does.

HTML and CSS are about the appearance of your page, and are the 'universal' language of the internet. Really it's the only language the browser natively understands. Javascript is natively supported in most browsers, but was a glue language never intended to allow the flexibility of Flash.

Flash/Flex are about creating a portable (albeit proprietary) application framework. However, without HTML, Flash and Flex don't exist.

Joel
Except with Air. Maybe the real change will be in how Flash/Flex is used. Good Point.
Todd Moses
I think this misses the point of the question. Regardless of original purposes, the two stacks are solving some of the same class of problems in the wild.
Michael Brewer-Davis
+1  A: 

A developer can never stop learning. If it's not HTML5, it'll be something else. I would continue programming what you love, but start playing with HTML5 and see what it can do. It will expand your horizons and help you to think about things in a new way. But you don't have to give up what you're doing now, especially as HTML5 still isn't ready for the mass market yet.

Mark Byers
Yes. It is the problem of working to be an expert in something just to see it go away. For me that was VB6 and ASP years ago - I just don't want it to be Flash/Flex.
Todd Moses
Naah, becoming an expert in VB and ASP was not wasted time, was it? Seriously. I mean, technologies change and all, but in the end, proficiency gathered in those platforms will always help you get started in no time with their successors, won't it?
Pekka
+6  A: 

There are four things that hold the "modern browser" back from where flash is today.

1) Tools. Animating et al with Flash is obviously much easier to do. Plus JS/SVG don't have the "direct" animation support that Flash does right now. It can be done, but it's manual.

2) Performance. JS/SVG/Canvas can not perform as fast, and certainly not as consistently across browsers, as Flash can. Not every application needs the performance, and JS et al are catching up. But at the moment, they still lag behind in total overall performance.

3) Browser adoption. Ye Olde browser wars. Different implementations, different speeds, legacy browers, etc. All the issues the afflict the portable web are in place for the modern browser technologies. So, it's more work to make a portable artifact, and even then it simply may not work, especially on older browsers.

4) Content protection. Flash is hardly the bastion of content safety in terms of IP control etc, but it's night and day over JS, HTML, SVG, etc. where it's all pretty much free for the taking. This will especially confound things like video which right now is mostly bastioned behind Flash players vs simply streaming mp4s to the client.

We've already seen some of the more clever "Javascript ads" (those annoying, floating animated panels for example). I'm waiting for more of those, just as simply animated mini ad apps vs flash. The primary reason most users who disable Flash do so, is to disable applications. JS mini ads won't have that problem.

However, the primary creator of those ads are the creative folks specifically targeted by Flash. It's easy to use for them without being "real technical". Until you can do that with Javascript and the rest, Flash will have a large market for it.

Will Hartung
I think you meant "to disable ads"
Tmdean
+3  A: 

I think the original poster is asking where do cutting edge open web technologies (draft standards) stand versus Flash/Flex. Ignoring questions of browser support and developer tools, look just at features (as you'll see, I know the web side much better):

Vector Graphics

  • Flash: Yep.
  • Web: SVG.

Raster Graphics

  • Flash: Yep.
  • Web: Canvas.

Audio

  • Flash: Yep, with ADPCM, MP3, HE-AAC (MPEG-4 Part 3).
  • Web: HTML5 audio tag with MP3, Ogg Theora, Ogg Vorbis, WAV.

Video

  • Flash: Yep, with On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264. The Windows version of Flash 10.1 has hardware-accelerated H.264 decoding.
  • Web: HTML video tag with Ogg Theora, H.264.

Animation

  • Flash: Yep.
  • Web: Yep, via some Javascript DOM commands and via CSS3 properties for animations, 2D transforms, 3D transforms. Some browsers (e.g. Mobile Safari) hardware accelerate some of properties.

I think the big differences currently (given the caveats mentioned above) are performance and implementing all these features. While Javascript is very good in many ways, the programming experience isn't nearly as integrated as in Flash/Flex's ActionScript (note that many of the animation features that are done in CSS). If you want to learn more about where open web standards are going, check out HTML5 Doctor.

pr1001
I dunno if I would consider canvas raster. Even though the final result is rendered to a bitmap, all the drawing operations are vector.
Tmdean
True... However, the difference you mention (after rendering) is quite important, especially if you want to do things like updating the graphics. Since SVG is vectors in XML, the graphics are in the DOM and you can edit them, add event listeners to them, and other cool stuff. You can do none of those things for things for things in canvas.
pr1001