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 Y开发者_高级运维ouTube, 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?
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.
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.
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.
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.
Is it even worth my time to learn Flash?
No, and that has nothing to do with HTML 5.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
"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.
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.
It seems like every browser has one little quirks about how they implement features like FileReader. It is a PITA having to test every browser.
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.
精彩评论