tags:

views:

1285

answers:

18

Apple is always in the news these days with "i" this and "i" that. One of the biggest beefs people have with Apple is the lack of Flash support. Last year I held the same belief, Apple's choice to exclude Flash support just seemed senseless. HTML 5 seems to have changed this though. One of the most popular users of Flash is YouTube, and they are already getting on the HTML 5 bandwagon (http://www.youtube.com/html5). Still, I am torn between the two technologies.

What is your take? Is it better for a budding developer to learn Flash or should their efforts be devoted to HTML5?

+13  A: 

Simple and open win. Every time. Learn HTML5.

I think it's ironic hearing Apple and Steve Jobs railing about closed standards, though. Apple's computers have always been a closed integration of their hardware and software.

duffymo
I hadn't thought of it like that, but you are right. Apple doesn't like Flash because it is a closed standard but Apple is all about close standards. Do as I say not as I do?
typoknig
I hate Apple's new "we're such an open company" schtick just because they push HTML5 over flash(no alterior motive there, lol). Apple is Microsoft in trendier clothing.
Pierreten
+1 with how robust web apps based solely on JS and AJAX are, Flash as an app platform is dead, and HTML 5 video is just the final nail in the coffin.
dclowd9901
Apple is closed on Apple products. Flash is closed on the web. You and I develop for the web. That is what Jobs is talking about.
Rob
Actually, a lot of Apple's products are organized/formed as open source projects. The "closed" part of the ecosystem is the interaction of the interoperability of the systems as well as any specific impL designs (like Cocoa) that allows Apple to build products as they do. Most people (and developers included) have no idea about the contributions Apple has provided to OSS community.
Rev316
If nobody's aware, how great can those contributions be?
duffymo
@duffymo, I tend to agree. My reading suggests that Apple wants to appear "open" when in reality they are relatively "closed". A true open platform is open, and there is no arguing that it is open. Linux is open, anyone can do with it what they want. Java is open, we can all see the source code. Apple is not so open. You cannot even distribute your application unless it goes through them. Microsoft isn't even so closed. I don't really like Apple, but even I can admit the iPhone is an great device, unfortunately its full potential can only be reached when it is jail-broken and unlocked.
typoknig
My understanding of it has always been that Steve Jobs didn't like Flash because it sucked, and he's in a position to do something about it. He doesn't care what anyone else says because he's always right (in his mind at least) and he doesn't have a compelling reason to see anyone else's side of the debate. Anything else is just excuses and rationalization - at the end of the day, Steve thinks it's crap, Steve isn't letting it on his platform.
Ori Pessach
Not Steve nor the Microsoft guys decide when Flash will bite the dust, the customers and the market penetration of HTML5 capable browser WITH GOOD PERFORMANCE do. At the moment the latter one is at 0.0% because every browser hogs 100%(OK Firefox only uses one core...) when heavy HTML5/JavaScript action is going on, how's that supposed to save battery life? iWhatever Platform != Web. Also Flash is a platform with exactly one implementation, HTML5 will be a more or less a mess concerning the APIs, who doesn't say that MS takes the chance to make HTML5 in IE crappy and then promote Silverlight ;D
Ivo Wetzel
+1  A: 

Flash is a proprietary system. HTML5 is an open standard. The chances are, even if HTML5 can catch up to Flash right now, Flash will continue to evolve faster than HTML5, because Adobe can do what they want.

As far as I know, HTML5 doesn't support some current features of flash like games at the moment too.

DeadMG
HTML5 hasn't been finalized yet so it is hard to say what the final version will offer, but if it does not support game development then I guess there will still be a place for Flash. As far as video goes though I thought the YouTube beta player looked very promising.
typoknig
Video is one thing, but video with DRM and embedded cue points and on-frame pixel analysis and all of the other things you can do in Flash is something else. Sure SOME browsers can play SOME videos natively - but show me one that's running a dynamically generated video playlist with extensive tie-in to a server-side backend and has the ability, say, to update the currently playing video seamlessly based on user input. It's not there.
Myk
+14  A: 

Lets be pragmatic.

Flash will be still alive for some time, at least years, because this kind of technology is too used today to be changed in a short time.

Now, as AS3/Flex is not very hard to understand and use, maybe you should learn about both, one at a time, but both in the end. If you don't have time to learn both (even one after each other), choose the one that seem more suited to your current projects. Be pragmatic.

Because HTML5 will still be a standard and widely used language/platform. It's different from flash (that is more like a cross-platform graphics-oriented engine) but all versions of future websites will exploit it.

Klaim
I can see where you are coming from. Flash is everwhere right now and it isn't going to die in two weeks as @Kevin wrote. If I get (or want) a programming job it is sure to help me at sometime I would think, but knowing how to do a lot of things *might* help me sometime. I don't have time to learn them all though :)
typoknig
Then choose the one that seem the most useful NOW. If you start learning it and then discover it's not the right tool for the job, you'll have learn something and might have still enough time to learn about the other. It's not like you were trying to learn, say, C++.
Klaim
+2  A: 

Actionscript (flash's language) is basically ecmascript(JavaScript). There's a fair amount of crossover skills.

The only issue at this point is browser support for H5.

Pierreten
I guess that bodes well for Flash, but on that same note HTML5 will "crossover" from the other HTML standards that everyone knows too. Browser support is for sure a concern, but how much longer do you think it will be before the big browsers (IE, Chrome, FireFox, and Safari) do support the HTML5 draft? I would imagine it will not be long, especially for Safari.
typoknig
+1  A: 

Is it even worth my time to learn Flash?

No, and that has nothing to do with HTML 5.

Kragen
How doesn't it have anything to do with HTML5? One of the most used functions of the Flash technology is the streaming of video, a function that is also available in HTML5. I think the two are definitely competing in that respect, and that is the context in which the question is poised.
typoknig
His point is that flash is bad without needing to put it into the context as it is here..
Paul
Can't vote up without arguments. Here it's only an empty statement. I understand what should be the arguments, but that's not a valid answer to me. Please add some arguments to be clear.
Klaim
Voted down. This is little more than a flame.
Myk
@typoknig: Even if HTML5 didn't exist yet, you still don't need to learn Flash to use video - there are a huge number of Flash video players already out there. You don't need any Flash knowledge to use them.
DisgruntledGoat
@DisgruntledGoat, but those Flash video players wouldn't take care of creating a Flash based web page would they?
typoknig
@typoknig: The point I was making is that you *don't need to make Flash web pages*. It's only good use at the moment is video, until HTML5 is well-supported and can take over. Therefore, you don't need to learn Flash at all, IMO. I've never learnt Flash and have survived perfectly well as a web developer.
DisgruntledGoat
+4  A: 

Pretty much any technology we work with as programmers is going to be obsolete sooner or later. That doesn't mean that we should never learn about any technology.

A lot of people have Flash installed on their computers. This alone means that it is not going to disappear any time soon. Whether it's going to be the dominant technology is another matter. Adobe might might make major improvements to the platform or a lot of other stuff might happen in the long run.

As a technology for developing stuff today I would probably choose Flash. If you want to learn skills which will transfer more easily to other languages, I think HTML 5 would be the better choice. Either way you will be wiser afterwards and no one can take that away.

Jørgen Fogh
Good points, and I do like to learn, but I want to get the knowledge that will benefit me the most first. Since I have only been programming for a little less than a year I want to make sure I focus on the technologies that will help me the most.
typoknig
A: 

If you want to develop apps for the iPhone/iPad, forget about Flash and use Apple's tools. That's the way they want it and they aren't going to allow anything else (unless they are forced to legally - unlikely).

Flash is still quite widespread in desktop environments (and might be coming to Android soon too, but I'll believe it when I see it). There are still, as far as I know, a lot of things that Flash can do that HTML5 can't do right now. But that will eventually change too. However, Flash will probably always have more features because its propriety and they can make advancements to it faster than changes can go into an open standard like HTML5. But I suspect Flash will eventually become like IE: it will have its own unique set of features, but no one will care because its easier/better to develop for a more basic, but well-adopted, standard of HTML5.

Right now we seem to be in conflicting period, where one technology is trying to take-over the other. What's best for you to do in this case? For the short term, learning Flash is a good idea. For the long-run, knowing HTML5 is going to be essential.

Alinium
I don't care so much about developing iPhone apps, I was just using Apple as an example. I personally think Apple's stand against Flash is unwarranted, and it is one reason I don't have an iPhone. It seems to me that Flash is a proven technology that has filled a void in web development for some time now, it is just hard for me to commit to Flash when its prolonged future looks so grim.
typoknig
+7  A: 

This might be an unpopular answer, but Flash won't be going away anytime soon. Don't listen to what Apple says, check job offerings instead. Things get hyped up easily, and while Flash'es lifetime may be numbered right now, its not like its going away in 2 weeks.

Kevin
Good point, Flash will be around for a while regardless of which way the industry goes.
typoknig
A: 

Flash is relatively old...HTML5 is brand new. I think that pretty much defines the future. --EDIT: One thing Flash does very well and i don't see a replacement for is frame-by-frame animation.

Jorge
You don't think there is anyway Flash can hang with HTML5 in the future? Even with revisions from Adobe?
typoknig
Probably it can hang, but to me it sounds like a workaround.
Jorge
By the way: learn it! ActionScript is an amazing language, and Flash can do wonderful things.
Jorge
Saying something is better than something else based only on how new or old it is, isnt a very good argument.
John Isaacks
Case in point, Vista vs. XP
typoknig
A: 

Learn as much as you can...whether it's about Flash only, HTML 5 only, or both. If you are talking about the next six months, let's remember that the HTML 5 standard is still not a "standard" yet. Let's also remember Apple doesn't like too much that aren't "Apple". Flash-based video and audio duplicates their QuickTime efforts, so it's obvious why they are going to lobby against putting it in their products.

For rich Internet application development, I do not believe that Apple has a product or technology that directly supports that effort. They can piggyback off of AJAX and Java, but Flash's popularity and market penetration make it a more desirable tool for developers looking to create that type of experience. According to this site, the Flash Player is installed on over 97% of browsers.

Learn Flash now...pick up HTML 5 when it stabilizes...you have time. No reason why you can't have both in your toolbelt.

Neil T.
A: 

Steve Jobs sums it up pretty well here: http://www.apple.com/hotnews/thoughts-on-flash/

In short you defiantly need to learn HTML5 and you could get by with out knowing Flash but you might as well learn both if you can.

Jared Christensen
That is a good article, thanks for the link. I cannot say I agree or believe everything Mr. Jobs wrote, but it is good to know what he thinks (or what he wants us to beleive).
typoknig
That article is unbelievable. Did Jobs seriously just attack Adobe for being slow to move to Cocoa? The macos *Finder* only moved to cocoa a few months ago! Freaking *iTunes* doesn't even use Cocoa yet.
fenomas
+2  A: 

It's ironic that you link to the HTML5 version of YouTube, as an example of the uptake of HTML5, when it only works in 10% of all browsers. A figure that won't improve until IE and Firefox gain support for it. Even then, the HTML5 spec isn't going to be complete for another 2 years.

It's easy to rail on Flash these days (and popular too, apparently) but the fact is that it has played a large part in creating today's media rich web. Despite its shortcomings, at least it was not five years late, and counting. The sudden circle-jerk over HTML5 seems somewhat inappropriate since it only gives us what we've already had for more than five years (except natively supported, instead of plug-in based and more efficient than Flash, but not more so than Silverlight). The incredibly long standardization process of it (spec complete by 2012, recommendation status by 2022) must be leaving those people pretty blue-balled, I imagine.

Should you learn Flash? That entirely depends on what you want to do. Building an HTML5-only application that is not specifically aimed at Apple hardware, that should be viewable by the general public today is a very, very bad idea. As said, you won't be able to target more than 10% of users. And even when it has the ubiquity of Flash (at least two more years) it doesn't mean there is no more reason to use Flash or Silverlight. The HTML5 standard brings some of the more popular uses of Flash, but won't provide things like live streaming or DRM. The plug-ins will stick around for many years and most likely will never disappear, since they aim to extend the browser and no matter how much more complete the web standards get, there's always something that's missing.

Business-wise, if you want to create a media rich web application, you're going to need Flash or Silverlight.

JulianR
A: 

Apple is a trivial portion of the desktop and phone market (the phone market, not the smartphone market, which is one of those categories manufacturers use to make their products look more important than they, in reality, are). The idea that everyone will do things differently because a few percent of their customer base want them to is a pretty bold gamble.

So Flash may or may not die - but it's unlikely that Apple will be the ones deciding that.

(FWIW, I see more Symbian phones using the web apps I have some responsiblity for than Blackberries, and more Blackberries than iPhones and Androids combined.)

Rodger
I was merely using Apple as an example of a major industry player who has gone with one technology (HTML5) just like Google (Youtube and Android) have gone with another technology (Flash). I would not say that Apple's phone market share is trivial. When we are talking about technology the only phones of consequence are smartphones. I have owned nothing but Nokia devices since 1998 because the Nokia flagship phones have always been the best until the iPhone 3GS rolled out. Nokia and Symbian are losing market share fast to Apple and Android and rightly so. I plan on getting the next iPhone.
typoknig
A: 

Flash is a platform. One of the most popular runtimes in the browser plugin. There's not a much better way to get it into the browser.

Adobe started showing this off more as they're adding more export features to Adobe Flash CS5. They hoped to have iPhone export, but they still have a very simple output to HTML5. Adobe might not always make the best decisions, but with the HTML 5 export feature, they might already preparing for HTML5 and the lack of the Flash Browser Plugin on devices. That doesn't mean that their swfs won't runs. Especially when you consider there are already little projects that implement the flash runtime in JavaScript. Sounds great-- Flash without Flash! (only now flashblock might be less effective). Essentially, I see Flash as becoming a very strong HTML5 framework (lots of code behind it).

I'm pretty sure the flash browser plugin will slowly disappear, especially if Adobe embraces HTML5. The tools and frameworks and flash could be useful in a HTML5 environment. There's some interesting stuff there. I'd say its worth your time because there's a lot of concepts in the Flash Platform (and of course a lot of bad ones). A lot of them look like they're going to apply to HTML5 to. Even if the entire Flash Platform dies, there's so many similarities that HTML5 will make a lot of sense-- perhaps even more because you know the flash platform.

AlReece45
+2  A: 

It's difficult to speak in general terms and pick one over the other. One is a animation plugin and the other is a markup language. You'll always need markup, flash relies it to run. HTML5 will not kill off Flash. The question is will Flash be able to gain any kind of foothold in the smart phone market. So far it's not going Adobe's way. On the desktop Flash is still going strong.

I certainly think Flash is worth while learning. Especially if you're in the communications based industry like advertising and publishing. Learning the tools to create motion based content can never hurt. Don't forget that when push comes to shove Adobe can have Flash Pro tools render out to HTML5 based content. You won't be left high and dry.

These days I only work with HTML/CSS/JavaScript but I also have a fair amount of Flash experience and I'm happy that I do. Having knowledge of one enhances the other. So, focus on one, but learn both. You won't regret it.

Egor Kloos
Adobe and Android are in bed together, I think that is a pretty good foot hold in the smartphone market for Adobe. If Google keeps giving away Andriod devices like candy then Android might be the biggest market share soon :)
typoknig
I hope indeed that Flash becomes a first class citizen on small low powered devices like smart phones. Flash itself will be better for it. It would also be a huge feather in Googles cap if Adobe can deliver.
Egor Kloos
A: 

You can't make games in HTML 5 like on Flash

mazgalici
I am a big supporter of HTML5, but you might be right about this. Canvas is good, but the things drawn on a canvas aren't really objects. You can't attach events to them. And, no P2P in HTML5 (for now) means that the only decent fallback is either switch entirely to Flash, or use Flash as a communication channel. Going through a central server isn't the best route for some types of games.
Anurag
A: 

"to learn Flash or should their efforts be devoted to HTML5?"

Your question is ambiguous to me. I think the answer to your question depends on what you are trying to do. If you need to display video on your website or render fancy fonts, then you no longer need Flash to do that, because HTML5 is an option. However, if you are talking about building an application (either web based or Adobe Air), then some people might prefer Flash.

You don't need Flash to build a web application, you can use HTML/CSS/jQuery/AJAX for the front end instead of Flash (some might even use both). Apple would argue for you to use HTML for web stuff, and Cocoa for non-web apps instead of Air (C# for Windows!!).

For developing web applications, Flex has the convenience of being stateful, whereas HTML is stateless. For developing non-web apps, Flex has the advantage of being cross-plaform compatible, just like Java. Of course there are many other advantages to using Flex, as well as disadvantages.

JohnB
A: 

HTML5 is not going to kill Flash

HTML5 isn't meant to kill Flash. Look it at this way - first there was a web, a textual web. Then as connection speeds were growing images started showing up. As Internet then hasn't been so big as today it was easier to update the HTML with new features...

Then the revolution came, we needed something for layout and we started using tables - but that was wrong, because tables were meant to be used for tabular data. So the CSS layout techniques replaced tables - but they haven't killed the table.

Same thing is with the new HTML5 features - just recently browsers started adopting new HTML5 features like and we hadn't any alternative for video or interactive content - so we used Flash - we built interactive sites in Flash, same thing with RIA (we needed a way to transfer some code to run on the client) - but Flash isn't meant to do that. So, HTML5 techniques will replace Flash - but they will not kill the Flash.

Flash will still be used for advertising, special multimedia sites (like for movies), games, it will be used for Air applications and for mobile applications too.

HTML5 is the future for the web, but that doesn't mean Flash will die.

Danijel