I wrote this post for a Flextras newsletter. Before I get into details; I want to remind everyone that they should check out 360|Min coming this October. It is an unconference style event in Las Vegas by the folks who put on 360|Flex. It should be lots of fun and educational on stuff happening now.

Back in November, I wrote a newsletter entitled In Defense of Flash. There was a lot of client confusion about the future of the Flash Platform; and they were worried that all their apps would suddenly stop working; or that their investment in the platform would turn out to be a significant waste of time and money. My original post spoke about a lot of specific issues; but at the time some things were unknown. I thought it was time to revisit that post and see where things stand, 10 months later.

Flash Player on Android

The ball that started the “Flash is Dead” bandwagon rolling was that Adobe announced it would cease development on Flash Player for Android devices. This made sense to a lot of people. Although, it was nice to have a Flash Player in mobile browsers; no one was building browser based Flash Applications with mobile devices as the target. The fact that the iOS browser did not support Flash in any way decreases the ubiquity that the platform used to offer on desktop devices.

With the release of Android 4.1, Jelly Bean, Adobe has removed the Flash Player from the Android store.
There will be no certified implementations of Flash Player for Android 4.1

Beginning August 15th we will use the configuration settings in the Google Play Store to limit continued access to Flash Player updates to only those devices that have Flash Player already installed.

Although, this is sad to see; it is not a surprise. It is interesting to note that a few days after the app was pulled, the BBC pressured Adobe to return the app to the Android UK store; as they do not have another technology solution in place for browser based streaming on mobile devices, yet:
Adobe's mobile Flash Player has returned to the Google Play store in the UK. According to BBC News, Flash's encore is the result of pressure from the BBC and "strategic partners" that rely on Flash for their Android apps

It’s weird that an app with over 500,000 ratings, and a 4.5 star average could be considered a failure. Most of us independent developers can only dream of having that many people try out something we built. 

Despite the news about Flash Player, I still believe that Adobe AIR, especially with captive runtime, is still a fantastic choice for building cross platform native mobile applications.

Long Live Apache Flex

In the original post, I spoke about Flex and how Adobe planned to donate Flex to the Apache foundation. At the time, details were very sketchy. We have plenty more information now. Adobe has successfully donated Flex to the Apache Foundation. They have contributed the Adobe Flex 4.6 code base, a testing framework named Mustella, and the Text Layout Framework used in many Spark controls.

In a few weeks, Adobe is expected to donate a new ActionScript compiler, named Falcon. The Falcon compiler will be included in Flash Builder 4.7; which was recently released on Adobe Labs. But we’ll have the code, and hope to get it integrated with Flex in the future.

In addition to the Adobe donations, there is a lot of new code and bug fixes done by the community. The Apache Flex team has released Apache Flex 4.8. I wrote about building Apache Flex 4.8 from the source last month.

Since an Apache release must be source only; they have also put together an installer Application which will allow you to easily prep Apache Flex for use in Flash builder. Flex has a lot of dependencies, such as the AIR SDK and BlazeDS, which Apache cannot distribute due to licensing terms. This installer takes care of that downloading and setup for you.

Flash Player on Windows 8

Another pressing issue is the Flash Platform support on Windows 8. As I stated in my original post, the “Windows 8 UI”—previously Metro—browser will not support plugins. This affects all plugins including Silverlight and Flash. However, Microsoft and Adobe have worked together in order to support Flash in the metro style browsing. Flash Player will be included as part of the browser.

I’m going to quote the Flash Platform runtime whitepaper, as the source here:
Flash Player release and debug players will be available and supported for Windows 8 Desktop and Metro style experiences on both x86/64 and ARM platforms.
This was a happy surprise to many in the developer community, including myself. Flash Player will be supported on all variants of Windows 8. We’re still waiting for the formal notice that Adobe AIR will be supported on Windows 8; but for the moment we have to believe the Flash Platform Whitepaper:
Adobe is committed to adding both Windows 8 Desktop and Metro as supported platforms for Adobe AIR.
I’m looking forward to converting Igor Knots, my mobile game, to a Windows 8 experience with Adobe AIR.

Final Thoughts

Two years ago, when a client approached me about building an application with Flex and Flash, I think we made the right decision.  Ten months ago, when we decided not to abandon our project, or rebuild it in a different technology, I think we made the right decision.  Today, if I were to start a new project, there are very specific questions I’d ask about the user base. 

Does your app have to run in a mobile browser?  If so; then don’t use Flash!  However, if your target is multiple desktop browsers spread across multiple operating systems in your Enterprise; then Flash can suit your needs.  

Do you want to run on multiple platforms?  If so, then AIR allows you to deploy your app to Mac and Windows desktops; and as Native Android or iOS Application.  AIR can help your app run on a multitude of devices and desktops.  It may be a good choice.