Hacker News new | past | comments | ask | show | jobs | submit login

I do a lot of Flash development. I would love to switch to HTML. I can't wait. I will probably be forced to quite soon in order to support mobile devices.


I'm going to miss so very many things:

1. A decent display architecture. Every display object has its own matrix transform. All of its children exist inside that space. Position your elements exactly how you want them. If you want markup-like UI layout, you can use MXML. Their display system is quite elegant. I will miss it a lot.

2. A complete development environment. Write code in Flash Builder 4. Generate art assets in Flash CS5. Save. It works. It's fast. All you need is two programs (maybe three if you want Photoshop). This is huge for me. The thought of re-rendering all of my art assets as thousands of flat bitmaps makes me shudder.

3. Performance. Yeah, yeah, everyone hates Flash because it destroys your battery, but it can actually pull off some very impressive feats. When I switch to HTML, I will have to prune back some of the cooler features I have, simply for performance reasons.

4. (nearly) Identical performance across browsers and OSes.

5. A decent language for large-scale development. Actionscript3 is actually a really lovely language. I wish I could write HTML apps in AS3. It has real namespaces. It has real classes and real inheritance. It has static typing (but it's flexible enough that you don't feel trapped into endless boilerplate ala Java). It has a sane definition for the 'this' keyword. Javascript is a lovely language, but it's a nightmare to write a nontrivial app with it.

6. Display bling. Want a drop shadow around any shape? Done. In HTML, all you get are square drop shadows. Blur filter? Done. Dynamic masking? Done. Efficient alpha transparency for any object? Done. Obviously, if you go crazy with these you quickly eat up all your processing resources, but if used wisely they are very fast and look lovely.

I also worked for Adobe doing Flex work, and I agree on all of your points. Some of the new techs are still rough (like Spark and Flex themes...) but overall it's very powerful and nothing can compare yet.

This article was also from 11 years ago and other technologies haven't caught up.

I think the point is more that 99% of the time websites shouldn't be doing the things Flash does well.

While I agree with you whole-heartedly, I am starting to suspect that ship has sailed.

The only weapon I feel I currently have in that war is iReader or Readability. I have given some consideration to "mining" .swf objects, but it is not currently a big enough pain point to further pursue that effort.

Oh, I take that back: the "mobile" version of many websites is also nice since they are (usually) more content-oriented and less dancing monkeys. I fear that, too, may change but for the time being it works well.

#1 and #6 are increasingly solvable using CSS and they are, of course, completely possible using SVG or canvas depending on what else you're doing. The libraries need some serious work to be more consistent - after battling font embedding inconsistencies and bugs I really wanted to use CSS.

I liked a couple parts of AS3 but … the toolchain so horribly broken that at this point I wouldn't consider Flash unless Adobe gives me a free upgrade from CS3 to something where the "debugger" doesn't crash frequently and things like breakpoints actually work. I'd tend to think $800+ should get you remotely near feature-comparable with current browser debugger.

Basically this is a long way of saying that point #2 is a huge drawback from my perspective because Flash is integrated but none of the individual components are as good as what competition's producing in the open world and Adobe's been very slow to try fixing years of platform neglect.

I've been playing with SVG in Google Chrome and found some very ugly bugs. So, I realize that the HTML5 is not there despite the hype.

For example I draw an object SVG and when I move it I have trailing bitmaps and flickering.

That is probably the most well articulated defense of flash I've ever read.

But also I think people in general need to understand that there is a difference between building a multimedia application and a website. Its a trade off, if your app is a game or supposed to be some psychedelic experience by all means use flash.

But if building an informational website, throwing in a scrolling banner with flash is probably a misuse.

With respect to your first point: have you had a look at CSS Transforms, specifically the matrix() transform function? You can use Transformie[1] for IE compatibility. Additionally, within a div with position: relative, all child elements can be positioned just like Flash's x,y coordinates. Just apply position: absolute to the child elems and use top: and left: in place of x, y.

[1] http://transformie.com/

Agreed. Going from Flash to Canvas/JS, I miss blending modes the most. Bitmap methods like .paletteMap and .threshold come second.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact