views:

136

answers:

6

Can anyone please explain for developing rich internet applications which one of these two technologies (Flash VS jQuery) is better to use based on criteria such as "Pros and Cons, time, cost, situations and etc..." and why? Please explain in details, it is very confusing. Thank you.

A: 

If you're targeting mobile browsers, the only answer, currently, is jQuery.

ghoppe
GWT handles those browsers as well, because it is in the end just javascript, like jQuery
Hans Westerbeek
A: 

This really depends on what you want to do as each approach has it's advantages and limitations.

The advantages of Flash (or things that can be done only in flash):

  • interface sound
  • 3D interactivity (aka making a 3D game in javascript is currently unrealistic)
  • augmented reality
  • good designer oriented IDE

Flash is part if Adobe's Creative Suite and can be quite costly. You can develop with other tools, but then you loose advantage #4.

The advantages of HTML5 & javascript (jQuery)

  • much wider browser support
  • mobile web (this is a big one)
  • easier accessibility and search-ability (although this is possible in Flash, just harder to accomplish)
  • better user experience with many things (text-selection, scrolling, native controls etc.)

HTML5 and javascript are open standards and as such completely free.

To address time to learn: this is quite similar I think, since the languages are very similar.

Probably the best current approach is to use HTML5 with jQuery (or generally any javascript) for most of your work and when you need more capabilities sprinkle with a little flash (which you can often download as a jQuery plugin) ;)

Jakub Hampl
I think your "HTML5/JS" section needs to be changed to just "HTML/JS". Otherwise it's pretty far off - HTML5 browser support is nowhere even close to flash right now.
fenomas
Really this is a complex manner and to get it all laid out nicely you'd need a few pages. I'm not referring to the full html5 - no browser supports it yet. On the other hand all browsers with a few basic workarounds support basic html5 and with techniques such as graceful degradation you're still better off.
Jakub Hampl
+1  A: 

It is easier to make rich internet applications that look and feel like desktop applications with Adobe Flex due to their large library of great widgets. It is much harder to get anything that looks like Flex applications using jQuery. Edit: Both jQuery UI and Flex allow you to customize and extend widgets, although this is arguably easier to do in Flex. I've included links below to demo sites where you can better see the difference.

Flex applications run in Flash and will look the same on all browsers. Traditional web applications may look and behave differently on various web browsers.

If you want to use Flash Builder and its advanced features you will have to pay. jQuery is free.

Flex will only work on browsers with Flash which excludes most mobile browsers (for now) and the iPad. jQuery will work on any browser with decent javascript enabled which is virtually all of them. Edit: It should be noted that while most desktops have Flash (see Adobe's stats) many user plugins like click2flash on safari and others on Firefox that disable Flash or at least require users to click on it to run it. There have also been some performance issues on Macs, but Adobe claims to be fixing these issues in upcoming versions.

Try looking at samples of both to see the difference:

Adam
Actually Flex itself is not paid - Flex Builder is.
Jakub Hampl
@Jakub good point. the SDK is free, but Flash Builder has extra features. I added a link.
Adam
Also maybe worth mentioning Click2Flash and Mac performance issues.
Jakub Hampl
Imho the number of widgets a certain technology/framwork provides out of the box should never ever be used to measure its usefulness or productivity. With a good tech/framwork you can easily create the UI elements you're missing, but all the widgets in the world won't help you if the underlying framework is buggy and sucks. Flex is a corner-case giving you both: the framework (speaking of Flex3) has several issues and still quite some bugs but you can easily create new components.
Baelnorn
@Baelnorn I think part of the value of a large widget library is giving you a base to build better custom widgets from. Flex has more widgets than jQuery and they are easier to extend. The latter argument I clarified by editing my answer. I'm hoping they cleared up most of their framework's bugs in version 4.
Adam
@Jakub The FLash blocker issue can be important in some applications. I added mention of it.
Adam
A: 

Wow...what a loaded question. The answer is not simple and really depends on the platform you are targeting. If the target browser supports HTML 5 features such as canvas and SVG, flash is (mostly) rendered obsolete by the HTML5 + JavaScript combination (JQuery being the most popular JS library). Unfortunately, the browser with the largest install base (IE) does not support these features (at least not until IE9 is released) so we are sometimes forced to use Flash.

In the coming years, Flash should fall by the wayside so I would spen more time learning HTML 5 and JQuery.

Bradley Mountford
Seriously, I don't get the whole "Flash should die" thing. Great, the JS community is patting their backs for basically creating ["Paint in a Browser"](http://mugtug.com/sketchpad/). Now compare that e.g. to the applications available on [Aviary](http://aviary.com) and you'll see that Canvas/JS still has to go a *very* long way before even being closely competitive in that field. Flash can do way more than merely playing videos, even with most users (and many posters on SO) conveniently ignoring the rest.
Baelnorn
No kidding... what is this? HTML5 and jQuery aren't even close to Flash. People that think that all Flash is good for are a few rollovers and displaying video boasts of ignorance. What a piss off.
dcolumbus
A: 

Just recently, this very topic was big news on apple.com.

Rather than me re-iterating, for anyone that's still pushing Flash on the web, it's really worth the time to just read it.

The Article

http://www.apple.com/hotnews/thoughts-on-flash/

macek
Baelnorn
Baelnorn, show onmouseover is bad design. Yes, it's possible with javascript and/or css but it doesn't mean you should do it. In my opinion, mouseover is intended to trigger an event that signifies something will happen if the hovered element is clicked. Think about it- mousing around isn't really an action; it's a necessary means of getting from point A to point B on your screen. I'm sure everyone here has inadvertently passed their cursor through hose bing ad-enabled links that popup annoying ads on mouseover. Everyone hates them. Don't show onmouseover or people will hate you, too.
macek
@macek: I agree with you there. However, that is a design decision made by the developer (or more likely, his/her boss) and has absolutely *nothing* to do with the language or technology used. You can do that thing in HTML/JS just as well, it's not an inherent flaw of Flash - contrary to what Jobs propagates.
Baelnorn
+2  A: 

I started out as a graphic designer. I found out that you could animate illustrations with Flash 5... so I learned how to utilize the timeline. Then, I found myself wanted to "invent" more complex web flows that incorporated my illustrations and animations; that's why I learned ActionScript.

As I grew as a web developer I noticed that many basic animations (button rollovers, page transitions, etc) we're being done with JavaScript... and eventually something called Ajax (an extension or method of JavaScript).

Upon further investigation, I found out that ActionScript was basically inspired by JavaScript syntax.

Long story short, with Apple's hard stance against Flash on the iPhone/iPad, I might find myself promoting your personal education of JavaScript, then AJAX and jQuery and then ActionScript. It seems a logical learning progression.

Everyone knows what Flash is capable of when it comes to animations... but if you want to see what is possible with JavaScript and jQuery, check out this LA designers blog: http://www.sohtanaka.com/web-design-blog/

dcolumbus