views:

175

answers:

9

There are a lot of flash effects that can be achieved with jQuery.So when do you really need to use Flash instead of javascript?

+4  A: 

Quite simply, when you need to do something that jQuery can't do. This includes video/audio, complex animations, cross-browser vector graphics, multi-file uploads, etc. The list goes on.

Of course, you could always write your website in HTML/jQuery and only use Flash for the necessary parts. That way it's a win-win situation, and your application degrades gracefully for those that don't have Flash.

musicfreak
thanks music freaks, i get what you meant.. A good website should utilise all types of resources available to them.. right?? lol
p0larBoy
Though he does have a great answer, he is only 1 man, *musicfreak* (non plural) ;)
alex
Not sure why I got a downvote...
musicfreak
Have a +1 to offset there.
alex
+4  A: 

Flash should be considered a 'last resort' in my opinion, and it's one that is shared with many others. Some people use flashblock, so they'll never see it. Users on mobile devices won't see it either.

There are few areas left for flash currently, and HTML5 will likely eliminate one of them.

Corey D
I'd agree with you if IE supported HTML5, but it doesn't. Until it supports things like `<audio>`, `<video>`, and `<canvas>`, Flash is the only option for those kinds of things.
musicfreak
I have hope for the future.
Corey D
hopefully it's not too far off
p0larBoy
Can't wait for HTML5, and widespread support. IE, damn I hate you.
alex
+1  A: 

Flash features:

  • Compiled byte code versus interpreted
  • 2D and 3D geometry libraries
  • Animation and audio libraries
  • Total control over Fonts/layout/design
  • Binary network calls as well as Xml and JSON

I'm not crazy about Flash for brochure or forms sites but it sure is nice for online games.

If your dislike of Flash comes from a dislike of Adobe, check out the Haxe programming language. It can target the Flash runtime.

Corbin March
"# Compiled byte code versus interpreted" - Chrome is still faster than flash. # 2D and 3D geometry libraries Canvas and WebGL?
LiraNuna
@LiraNuna - Good points. Some browsers do offer those Flash features. HTML5 even makes a couple standard. For now, however, they aren't standard and if you want those features for your users you have to decide how to provide them - with a specific browser or a vendor solution (Flash, Java, Silverlight, ActiveX...). Neither approach is ideal. Flash is attractive for its install base. If you throw a rock on the internet, you're likely to hit a Flash browser. Chrome, canvas, and WebGL are perfectly interesting but less frequent (for now).
Corbin March
A: 

Flex, which runs on top of Flash, is a very nice platform for building applications. In my opinion, it's far better than trying to coerce HTML and JavaScript into being a platform for GUIs. Also, if you have a graphics designer, they will have a much easier time designing the look and feel with the WYSIWYG tools available in the Adobe tools.

However, for traditional web sites, I'd stick with HTML/CSS/JavaScript. Don't use Flash if all you need is simple effects.

Jacob
Yes, Graphic Designers tend to love doing things in Flash. I love Flash too but sometimes it is overkill.
Todd Moses
+2  A: 

Only when I have no choice...or asked by my boss

Jay Zeng
A: 

Flash is a frontend tool that should be considered when there are requirements that make a project much easier to develop. I know that there are alot of Flash haters, and I understand the reasons. However, each developer should use the tools available to them that would allow the job to get done effectively and quickly. PHP, HTML and JS have its limits, just like AS3 does as well, but each has something that can help deliver a project.

alvincrespo
+1  A: 

if you need something which cant be done by JQuery then go for flash. otherwise stick to JQuery.

Sarah Nasir
+2  A: 

There are parts of Flash that are extremely underrated. With good reason, web developers are generally opposed to it. It's a closed platform regardless of gestures made by Adobe.

However, show me a jQuery transition that comes anywhere near the smoothness and performance of Flash. It simply doesn't exist because even the fastest browsers' JS/canvas implementations can't match the performance of Flash/Actionscript. Javascript is a fine language and you could implement transitions, 3d (via canvas), vector animation (via svg) if you wanted. It just wouldn't perform, and you'd have spent 3 years working on those things when Flash already has them.

HTML 5 is no savior (in the short term). How long has IE 6 stuck around? There are unique circumstances with IE 6 as Microsoft stopped updating the browser, while supporting the operating system (so you have windows 2000 systems in offices around the planet where IE 7 simply isn't available and upgrading isn't an option). IE 7 and IE 8 are woefully insufficient, and I'd say are guaranteed to eat at least 30% of the market collectively until 2015. Flash works now and works the same everywhere.

The cons: most data-centric web applications aren't concerned with rapid animation and visual flair. HTML is universally deployable, scrapeable, shareable, indexable, bookmarkable, e-mailable, copy-and-pastable, etc. Everything that HTML provides by virtue that it's document-centric. By analogy, a Flash based 'page' is akin to sending somebody a movie of someone flipping through a book, then asking them to forward to 4:15 so that they can see page 125, and using OCR to scan the text from a screenshot. That's a huge exaggeration (you can select text after all) but that's the end of the spectrum towards which Flash is situated. On the other end (completely machine readable) you have things like RDF, with XML and HTML in between.

Rant aside, Flash is great in for it's multi-select file dialog. The HTML file selection widget is universally horrible. Check out jquery.uploadify ;) Turning your navigation into Flash just so you can have a sound effect and lens flares that swipe across the screen? Not worth it and actually rather foolish.

Koobz
+1  A: 

It is good for times when you want to make screen scraping harder. A major real estate site I worked with used Flash to make it much more difficult for a competitor to scrape agent data.

Sure this could of been done with images but Flash was just easier for us to implement.

Todd Moses