views:

483

answers:

8

I see a lot of talk how HTML5 video tag will kill Flash. But while video is the most widely used part of Flash/SL, it's only a small part of their technical abilities. For instance you can write a game using full 3D graphics and socket connections in Flex, and serious business applications, etc.

Is the thinking that Javascript will kill those parts of Flash/Flex/SL? Because while that seems feasible now for even quite rich web-apps, what about any kind of high-performance app like real-time graphics?

+1  A: 

I think it depends on the authoring tools and the efficiency of the browsers. It is reported that the upcoming Flash CS5 export content directly as a HTML5 canvas. So the canvas can be a quite reasonable flash substitution.

aeby
Flash does not currently export to canvas. Adobe has sneak-previewed a feature they're working on, but it's not released yet.
fenomas
Yes, you are completely right and I'm sorry for the misleading information and I corrected the answer.
aeby
A: 

For "high-performance app like real-time graphics", see WebGL. Mozilla and WebKit already have experimental support for WebGL, which is based on the <canvas> element.

For sockets, there are WebSockets, which are also experimental in some browsers.

For background processing, which can improve the user experience, there are web workers (experimental again).

A lot of experimental stuff, but they are improving them constantly, so at some point, even without an HTML5 standard defining them, we might see games specifically targeted for a certain browser (actually, there is some proof of concept but I can't find the link right now).

Ionuț G. Stan
+5  A: 

You can do some pretty cool things with HTML5, Canvas and the like. Check out the Google-hosted http://www.chromeexperiments.com/ (which, really should be named HTML5 experiments, as most run fine on HTML5 browsers). You can get an idea of what is possible, including 3D rendering, complex games and some pretty amazing animations.

Sketchpad

Sketchpad by Michael Deal

Dan Diplo
+1  A: 

The discussions I've been part of on this subject, pretty much always seem to come to the conclusion that, while the HTML 5 standard will be a a great thing, once it's in place. It will by definition be a standard, standards take a long time to change, therefore innovation will be driven largely by plugins like Flash and SL.

And yes you can do a lot of what Flash and SL can do with Javascript, however Flash/Flex has the strong point of being used for desktop installed Air applications, and Silverlight has the similar thing with their "Out Of Browser" functionality. These are things where they clearly have the upper hand over Javascript.

At the end of the day it's not a matter of who will kill who, but rather which tool is the right one for the job and what skills does you / your development team have.

That's my 2c anyway...

Ola Karlsson
+2  A: 

There are many high-performance apps with real-time data streaming and graphics in production today that have been built with Flex. You can see some examples of these in the flex.org showcase. As always, deciding on a technology comes down to what is being built, who it's being built for, and who is building it. Flash, Flex, Silverlight, HTML5, etc will all coexist.

James Ward
A: 

I think JS already has killed Flash/SL/JavaFX. JS is the most used language on the web, so just add a few features, enhance some tidbits and voila. Flash is alive because of videos and games, no serious website uses Flash nor any other RIA. Just wait, it's going to be a hell of a ride the next few years.

Ubersoldat
"no serious website uses Flash nor any other RIA"... wins vote for most incorrect statement of the day?
John
Is YouTube not a serious website? Gmail also relies on Flash for it's attachment uploading functionality.
Richard Szalay
Not to mention BBC iPlayer, which is very widely used, even outside the UK I believe.
John
Bah! I was going to reply to all of you, but if you really think that watching videos on the tubes is something important, I have nothing to add. Dumb words, deaf ears.
Ubersoldat
while, for me, 'watching videos on the tubes' is of utmost importance, the company I work for depends on flex front-ends to manage every aspect of our ERP. I have friends who have been contracted out to develop internal business applications for multiple multinational financial institutions, and two branches of the military using flex.... good luck building the same applications quickly and easily with JS... I'd charge a minimum of $800/per hour to build similar applications in javascript and pray the client said no.
jeremy.mooer
Please, go out and check GWT, JQuery or any big time JS Framework. Yes, Flex is nice and all, but dragging Flash everywhere is insane.
Ubersoldat
"if you really think that watching videos on the tubes is something important" - important to who exactly? The billions of people who use the site? or are you going to tell us sites are important based on their 'moral superiority' rather than the fact people use them?
John
Another example: banks are investing $millions in writing Flex-based internal tools right now. Those are serious apps, dealing with $billions/$trillions of transactions.
John
Another example: ClubPenguin. 20million users, not something you could do in JS. Or MyDinos. JS doesn't let you do direct socket connections for fast network performance... I could go on, but I fear you are trolling rather than monumentally ignorant.
John
"Please, go out and check GWT, JQuery or any big time JS Framework. Yes, Flex is nice and all, but dragging Flash everywhere is insane" - why should we use these frameworks to torture JS/HTML into doing things it was never designed for, when Flex/Silverlight provide a way to avoid this?
John
"Please, go out and check GWT, JQuery or any big time JS Framework." -- Quick, somebody alert Google to this important advice. Won't their faces be red when they find out about their rookie mistake!
fenomas
To be fair, Google are actively pursuing both directions. Maybe just to cover themselves, maybe for more devious reasons, but Flash doesn't fit in long-term with their fauxpen source philosphy.
John
+2  A: 

basically, this question has been around already.

The answer in short: no, HTML5 will not replace anything. HTML5 will however offer a standard for features currently only available through plugins. Once HTML5 is released, which is scheduled for 2022, it will be a great thing. Still, even by then, if IE survives, I doubt it's support will be outstanding.

There has been a very similar question to which I provided a rather lengthy but detailed answer: http://stackoverflow.com/questions/2643407/should-web-developers-learn-flash/2644910#2644910

My personal opinion about anyone who thinks HTML5 will replace 3rd party plugins is, that they lack basic understanding of HTML5's role or sufficient knowledge about any plugin and have little if any grasp of how the web evolves.

Yes, the day HTML5 is sufficiently spread for large companies to rely on it, many of them will be able to replace 3rd party plugins within their web applications. However, as pointed out in my other post, the web is constantly evolving. HTML5 does not provide new features, that weren't available using plugins. And HTML5 does not provide all features currently available using plugins. New types of apps, services and content distribution mechanisms will arise. Also, as long as JavaScript stays fully dynamic, JS runtimes will never be able to provide the same speed as runtimes designed to run bytecode generated from statically typed languages.

Personally, for the client side, I basically only target the Flash Player, because to me it is the most convenient platform. I am not afraid that HTML5 might kill flash, for a simple reason:

Until HTML5 is really usable and largely supported through sufficient user adaptation, it will take several years. In the same time, all major plugins will continue to evolve, as well as their eco-system, including developement tools, cross-compilers and compatibility layers.
Today, you already need no knowledge of HTML, CSS and sometimes even JavaScript to create webapps, using GWT, qooxdoo or other tools.
HTML+CSS+JS represents nothing more than a platform that more and more languages are able to target. Using reasonable amounts of abstraction, one will sooner or later be able to develop apps in a totally platform agnostic manner, causing virtually no overhead for the lion's share of all apps: GUI (including localization, validation etc.) and application logics.

In the end, there's no reason to get excited. Currently, both Flash and Silverlight exceed HTML+JavaScript implementations in speed and features exposed through the available API. That is, why people use it. Altough unlikely, some day they may become obsolete. In this bright, bright future, far, far away, I will be happy to compile my sources to run in a JavaScript interpreter rather than on AVM2.

On a vaguely related note: check out haXe.

greetz
back2dos

back2dos
“Once HTML5 is released, which is scheduled for 2022” — Ignorant bullshit, and tired ignorant bullshit at that. 2022 is Ian Hickson’s off-the-cuff estimate for when HTML5 will have two complete browser implementations. CSS 2 doesn’t have two complete browser implementations yet, but we’re using that just fine.
Paul D. Waite
Well, sort of. But CSS is a lot simpler than a full-blown HTML5. What if one browser suuports socket communication but another doesn't... that's a bit more serious than whether they support rounded corners or not.In the emantime, anyone wanting to develop for HTML5 will still have to provide another RIA alternative if that's the kind of web-app they want. So, business as usual!
John
FFS, stop spreading the 2022 fud. Downvoted for stupidity. First comment on this answer gave full reasoning for this.
Xanthir
@Xanthir, @Paul D. Waite : "Ian Hickson, editor of the HTML5 specification, expects the specification to reach the W3C Candidate Recommendation stage during 2012, and W3C Recommendation in the year 2022 or later." http://en.wikipedia.org/wiki/Html5 . that is not an estimate, or fud, whatsoever. The hope for HTML5 in the near future is for ivory tower hippies, who deny the fact, that IE even exists. Btw.: the stackoverflow logo is cut off on my Firefox 3.6.3. So yeah, HTML and CSS totally rock on all browsers!
back2dos
The FUD is where you said, in bold, "Once HTML5 is released, which is scheduled for 2022..."W3C Recommendation status is *not* "when a spec is ready to be used". If you wanted an approximation, it's when every aspect of a spec can be generally relied upon to work. Specs are generally usable sometime around Last Call or Candidate Rec. With a spec as large as HTML5, many aspects are usable much earlier than that.As well, many aspects of HTML5 are designed to degrade nicely in legacy browsers like IE. I'm a web developer. I use some parts of HTML5. So, um, way to show your ignorance?
Xanthir
+1  A: 

Did Flex replace HTML forms? Have HTML forms killed Flex? Has C++ replaced C? Has Ruby or Lua or Python killed Haskell or Scheme or assembly?

Seriously, what is the obsession lately over whether HTML5 will kill plugins? Is it so hard to imagine people using Flash for content that needs to stand out and maximize expressiveness, and using HTML5 for content that needs to utilize standard metaphors and maximize accessibility?

In other words, no - the thinking among thinking people is not that the HTML5 stack will kill Flash/Flex/SL. If things work as they should, the plugins will keep innovating what you can do with proprietary techniques, and HTML will keep taking the most successful of those innovations and standardizing them. And if things don't work well - if a plugin fails to innovate, or a new version of HTML is done badly, then they'll fade into obscurity as developers stick with whatever solves their problems.

fenomas
C++ _has_ killed C in mainstream use. Java/C# have killed C++ for server-side coding. If HTML5 properly does what Flash/SL do, there's no need for developers to learn multiple ways to do the same thing.
John
Huh? C is still used extensively in many of the world's biggest software projects. Often it's used right alongside C++, because each has its advantages - *which is kind of the point*.
fenomas
More importantly though, I don't think it's at all true that HTML5 is even attempting to "properly do what Flash/SL do". HTML5 aims to provide standard ways to fulfill several use cases that have proved popular with plugin content. It's not trying to do everything the plugins do, and more importantly it's not trying to become a rapidly-adapting platform where the new use cases of the future will emerge and develop (which is the space where plugins have innovated and excelled).
fenomas
C being used in big projects doesn't negate my statement, "killed in _mainstream_ use". There was a time C was the standard language for most apps - GUI apps, (web-)servers, system coding, etc. As other languages have come along, they have virtually replaced C for use in mainstream coding, pushing it back to the realms of system programming - which is what it was designed for.
John