views:

178

answers:

8

The recent article of steve jobs link made me think about the future of flash. I'm learning actionscript 3.0 in my studies but is it the right decision still to go for it? I was pretty sure that I will be able to build application in as3 for iphones/ipads in the near future. It seems to me, while I would stay with flash, the market will be polarized by apple and adobe and you will always work double for both clientele, or just lose half of them. Which decision would you take as a designer, if you were still at university and you intend to become a freelancer?

+2  A: 

This is a tough call. Flash is a fairly dominant technology at this point when it comes to media-intensive web sites. Flash is also very popular for delivering mini-games. I do think that Flash video, which is currently also dominant, will gradually be replaced by HTML5 technologies. I'm not so sure that Flash can be replaced easily when it comes to those media-intensive sites. There is a large number of very talented people comfortable with Flash that might be reluctant to adopt other technologies. I would probably hedge my bets and get comfortable with Javascript and other HTML5 technologies.

Tom Cabanski
I'm not really familiar with coding in Javascript, always with the feeling that there is no serious editor and heard that it is not comfortable for object oriented programming ?
algro
Like I sad, it is a tough call. I happened across a very good article in Linux magazine "Can Flash Survive HTML5". Check it out for more info: http://www.linux-mag.com/cache/7734/1.html
Tom Cabanski
There are plenty of very mature JavaScript editors, e.g. Aptana.Also, JavaScript does support OO, but it's a prototype-based form of OO, rather than the much more common class-based form (found in C#, Delphi, C++, Java, etc.)
Don
I have to say, I'd be a lot more excited about the prospect of HTML5 development if ECMA4 hadn't been abandoned or if ECMA6/Harmony was ready. The last time I did a lot of JS development was around 2000-2002, and it's unnerving to realize that HTML5 uses largely the same language..
fenomas
+3  A: 

I think that reports of the death of flash have been greatly exaggerated. Flash has always been "the bad guy" - self-proclaimed experts have always loudly declared that Flash sucks and is on its way out, but oddly enough I've never had any trouble finding lots of Flash work. There are things that you can do quickly and easily in Flash that are either much harder or flat-out impossible without it. It's an amazing tool and it's going to be in use at least in some capacity for the foreseeable future.

That said, even if Flash on the web goes the way of the dodo in two years (which won't happen) it's still a valuable tool. It's a wonderful way to learn Object Oriented Programming, and its uses go far beyond shiny websites. You can use something like Flash Builder in Eclipse to get accustomed to working in a code-oriented IDE, you can build AIR apps to deploy across platforms, you will soon be able to publish saleable apps to every major phone except the iPhone, etc. I've been having a lot of fun with it lately getting it to work with Arduino - it's just a hobby project but I'm trying to build a little helicopter that I can control from an AIR app. I'd be curious to see someone do that in HTML5. ;)

Flash is amazingly powerful - your abilities are in many respects limited only by your imagination and willingness to figure out how to make it work. It's really bizarre to read all of this stuff about how (some) browsers can now play (certain types of) video one their own, ergo Flash is Dead. How unimaginative. :)

Myk
I'm not convinced that Flash is a great way to learn OOP. It does support it, but certainly the authoring environment doesn't necessarily encourage that, making it trivial to hook raw code to events, etc.
quixoto
@quixoto: you opinnion of flash is backdated to Flash 8. Also, the Flash IDE is probably the worst IDE for creating Flash content. Luckily, it's not the only one by far: http://stackoverflow.com/questions/57882/ide-for-developping-in-actionscript-flash-any-suggestions
back2dos
Quixoto - I agree that the Flash Professional IDE isn't exactly built to help teach OOP. However, that's why they released Flex Builder/Flash Builder as well as various other third-party IDE's. Flash Pro is at its core an animation tool - but the Flash Platform is much broader than that, as evidenced by the wide range of IDEs and use cases for the output. :)
Myk
A: 

Personally, I like the flexscript language used by Flash, it's more structured and object oriented than Javascript. Also it has real inheritance, not the prototype based crap, and compiles to bytecode. For the artist, Flash is easier to use in many ways due to the available tools.

I do hope for better integration into browsers. The current flash plugin is clunky and causes crashes for many users, also the plugin system makes it integrate badly into the flow of pages.

With HTML5, I think the browser plugin idiom is dying in general. Everything from video playback to fancy vector animations can be done with just HTML + Javascript. Even a standard for 3D graphics in webpages is on the way (O3D).

Also I wonder how Adobe will cope with the current explosion of platforms/operating sytems/browsers, especially in the mobile realm. At the moment, the Flash support for systems except for Windows on PC isn't much good.

wump
A: 

Just as projects like SVGWeb brings SVG capabilities to browsers that don't have native SVG, I would expect that if/when HTML5 gains traction against Flash there will be conversion capabilities from existing Flash to browsers without Flash. In fact, Adobe already has a conversion from Flash to iPhone using Flash Professional CS5. IMHO, there's too much Flash content in the wild for this not to happen eventually, and there are too many people for which Actionscript is their primary (or only) language for some conversion not to happen.

Career-wise, the clear long-term trend is away from Flash, and I agree with Tom that hedging your bets is wise. However, HTML5 is still fairly new, and you might do yourself a disservice to ignore Flash at this point. With conversion technologies, a Flash skillset will likely be usable for at least several years.

Emil Lerch
Adobe's Flash-to-iPhone conversion in CS5 made me excited, but right around the time CS5 was released, Apple changed the iPhone Developer terms and made it against the rules to develop an iPhone app with anything other than Xcode, so technically the CS5 app would not be allowed, and it would probably not make it past the App Store moderators.
wmid
Converting Flash to other platforms is not very likely prospect unless the target platform could do most of what Flash can. (The iphone packager was not a converter, it was more like a projector - i.e. player and content wrapped into one executable.)
fenomas
+4  A: 

This question has been around a lot of times. For my opinion on flash's future please look at this answer: http://stackoverflow.com/questions/2741258/should-i-abandon-adobe-flash-for-html5-and-canvas/2743551#2743551

If you are a designer, you will probably actually feel good working with Adobe's Creative Suite, including Flash CS3/CS4/CS5. CS5 will be able to export HTML5 in the near future: http://www.9to5mac.com/Flash-html5-canvas-35409730 . You shouldn't be too worried. OTOH you should consider, that whatever CS5 exports is likely to perform poorer in HTML5, than on flash player.

From my perspective as a developer, I think there is no harm in learning any language, altough ActionScript 3 is relatively boring and easy to grasp. However this makes it a good language to learn programming, including many best practices. The most important things you learn as a programmer transcend languages. The more languages you try to really fully understand and exploit, the better you become by understanding the approaches they promote.

My personal advice to web developers is to have a look at haXe. It is a much more powerful, elegant and expressive language than ActionScript and it allows you to target many platforms. Enough to build a whole web app on 'classic' platforms with only one language. haXe's C++ backend allows building native iPhone apps using an SDL based port of the flash player API, although currently it's not very clear whether Apple's policy will allow distribution. Nonetheless it is an open source language with an enthusiastic community, that moves really fast and adapts to changes rapidly (e.g. unlike ActionScript haXe can leverage flash player 10's alchemy opcodes for fast memory access) making you as a developer independant.

edit: I have personally dropped any plans of targetting the platform until Apple is willing to ease its very restictive policies, since I find this kind of behaviour intollerable. Nonetheless, I think Objective-C is a great and inspiring language, so you may actually wanna have a look at it.

greetz
back2dos

back2dos
+1  A: 

I think it depends on how far into the future you want to look, and what you think is most important. Flash on the desktop will not die for a long time, if ever. If that is good enough, keep going with where you're going. If not using flash on iPhone/iPad is a deal breaker, you only really have two choices - Objective-C or HTML5.

HTML5 is definitely gaining momentum, but it can't be used directly in all browsers yet, and likely for a while. However, in the mobile space, there is pretty excellent support in the major smart phones.

There isn't a single platform/technology/language that can hit everything. If I were going to bet money on the future, though, I would say HTML5 is going to win for the most reach across platforms. And given it is on the rise, I would bet that in the next few years, there will be a lot of demand for good developers in this area, but don't expect the path to be fully paved for you. You'll have to get your hands a little dirty. If you're looking for a decent editor, I use Netbeans, but I also do Java development, so that makes sense for me. Search around, though, and you'll probably find a decent set of tools that work well for you. It is a very active space.

Russell Leggett
I think it's somewhat misleading to say that HTML5 has excellent support on smart phones. Phones are embracing it and planning to embrace it, definitely, but if you open up HTML5 demos on a current iDevice or Android phone, you apparently don't generally find them usable at this point. (Based on youtube videos of people doing that, I mean, I haven't investigated it myself.)
fenomas
HTML5 is not even a completed standard yet, so its really going to depend on what we're talking about, but webkit, including mobile webkit is on the leading edge of HTML5 support. Unlike on the desktop where the majority of browsers are still the Microsoft flavor, the majority of browser usage is being done on a webkit based device. Basically, you'll see a greater percentage of people taking advantage of HTML5 (and by that I mean the term loosely to include CSS3 etc.) than for desktop targeted sites.
Russell Leggett
A: 

As far as I'm concerned, Actionscript is a pretty good language to learn OOP. Javascript is a bit shit. Eitherway, I would expect you'd learn a certain set of (frontend/2d graphics) skills which will come in handy regardless of the vehicle you'll eventually use to deploy your work.

Dario Gieselaar
+2  A: 

Apple vs. Adobe controversy reveals two opposite views of mobile computing.

Apple wants that its developers make the best of its devices by excluding middleware. The aim is to deliver the best possible user experience.

Adobe wants that its developers publish their work on as many platforms as possible. The aim is to reach the widest audience.

Nobody knows which view will win in the future. The mobile war is just beginning...

mouviciel
My guess is, Apple will try to protect its platform as long as they can, until the day their market share gets sufficiently big, and like microsoft, they will be sued for their monopolism. This is, what actually makes me really mad. What happened to "think different"? I personally don't like using products of companies who consider their customers to be dumb and incapable of making their own choices. Also, if the iPhone were open to middleware, there would be signifficantly less iPhone specific apps. Allowing this, they would lose a signifficant USP.
back2dos
I think there's a lot of truth in this comment, and if Apple's approach to excluding middleware was merely to ban plugins, I'd agree that it's simply two different-but-valid approaches. But legally specifying which languages binaries must be compiled from is a different matter.
fenomas