I was expected to post about this topic some time ago, but I've thought to wait and read other posts and watch other people's opinions closely.
I've seen different point of views and there is no doubt, they are all right, someway.
So let me be sincere in this post and let me express the way I see this going.
When Adobe first bought Flash, the community was so excited. I was one of them and watching Adobe turning it into a platform was delightful. Flash had undergone lots of improvements in the past 4 years and the community exploited it to the max. I remember these days when I used to write more ActionScript 3 than any other language for the web – I was making a living out of it. I guess everything was going just fine, smoothly... normally.
Until one day Steve Jobs popped up and said: "HTML5 is the future". Again, the community was so excited about it that they instantly started
to take their precautions and work on kick ass projects, not to mention the defensive blog posts, talking about how bad is the lack of support
of Flash on iPhones(Pads) and how HTML5 was still inmature. Old story.
I was actually pissed off too, I have to admit it. I thought how would my entire career be in trouble if HTML5 could one day, be under the
spots for one reason or another. It actually was, in the past, and it actually isn't, right now. But that's another story.
The release of the iPad was going to change the world and HTML5, along with JavaScript and CSS3, could do the job. The funny thing is the community did the job because having websites that work on iPads turned out to be so essential that developers wouldn't even dare tell their clients that their Flash websites will not be accessible on Apple devices. They had to go for HTML5. And they did.
That was the time when Adobe should have done something about it. Actually they added many features to Flash, unessential features. They started to turn the Flash Platform into a gaming platform, this is how it looks like today. A goddamn casual gaming platform. It's a fact, Adobe doesn't listen to their community. What about concurrency? What about multithreading programming? Yes they have made performance improvements by adding StageVideo and Stage3D (molehill) so what? What about the real power that they could give to the application developers? They were literally wasting their time and in the meanwhile HTML5 became the trend on both mobile and desktop.
Adobe AIR was good before entering the world of mobility. I personally had lots of fun doing apps in both Flex and pure ActionScript. It performs great on desktops but it's a total failure on mobile devices. Adobe promised an entirely new Flex framework optimized for mobile development. Unfortunately that never happened and they just added some fancy "bigger" controls to Spark and some navigation utilities. I remember when I started to play around with Flash Builder "Burrito" and did some scrolling lists. Well, that scrolling thing performed so bad on my Nexus One that I decided to stop doing AIR for mobile. I uninstalled the AIR runtime and studied Native Android development. It was relieving.
Another disappointing fact was they use Eclipse for Flex development. Instead of working on nonsense projects like Flash Catalyst they could at least have done a better IDE for Flex. Well, at least they could work a little harder with Eclipse instead of watching others creating better tools like FDT or Flash Develop. Not to mention its price.
Now, Adobe fires 750 employees and finally admits HTML5 is the winner and started to invest into tools for that. Well, they have trashed Flash
and thought about why they would continue in putting efforts in Flash while they can still get the top of the cake by creating tools for HTML5.
They discontinued the Flash Player for mobile browsers and even worse, they have trashed Flex. "But don't worry, we are sticking with AIR for
mobile platforms" they said. Of course they would, or who would pay a penny for a new release of Flash Professional in the future? And what did
they do to keep AIR on air? They added Native extensions, which basically means the ability to attach "native" code to ActionScript in
order to access the lower layers of the hosting operating systems. Wait what? Why on Earth would I develop applications in AIR if I still
have to add native code to them? Of course, it isn't worth the effort and going native (Java or Objective-C for iDevices) would be better – at
least I won't sacrifice performance. Adobe AIR is going bye bye very soon, as well.
See, the whole point is, Flash survived all this time because of its loyal community and not because of Adobe. It's up to its community whether it will die or not. Why? Because HTML5 will never be as fascinating as Flash when it comes to user experience, interaction or even performance, at least for desktop versions of Flash Player.
So you either stick with Flash doing great stuff with it, or you do yourself a favor and learn a new language tonight.
"Stay hungry, stay foolish" - Steve Jobs (1955-2011)


