Is Flex Dead?
May 8,
This question comes in from a reader; and to be honest I've been at a loss as to how to respond without writing a book. I finally found time to devote some time to putting down some thoughts.
I'll start by quoting the full question and then trying to answer points one by one:
As I was viewing your blog I noticed you seem very knowledgeable about Flex. I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash which has recently been dropped from Linux support which affects Android and the growing mobile market. I was wondering what your insight, I know you don't have a crystal ball, is on Flex usage and could you tell me if you think it has a future. Also, what is Flex really good at? I've not been able to find any example Flex apps out there... only Adobe Air apps. Thanks!
I'm going to answer the question in reverse order. First,
...what is Flex good at?
Flex is a Software Development Kit used for building Enterprise Applications. It provides a component set and a framework for rapid development. By making use of the Flash Player runtime; it is easy to build a consistent experience across multiple desktop browsers.
I've not been able to find any example Flex apps out there... only Adobe Air apps.
An AIR App can be a Flex app. Most Flex apps that I'm aware of are internal apps used for browser based applications in an "big business". You probably won't find too many public applications.
Now, Let's tackle this sentence; which is full of misconceptions:
I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash...
This isn't necessarily true. Flex is dependent upon Adobe Runtimes; however the browser based Flash Player is just one of them. Adobe AIR is a second runtime which you can use to build Flex applications. Adobe AIR can be used to deploy your Flex app as a desktop for Mac and Windows, or as a native mobile application on iOS, Android, or Blackberry's Playbook.
I expect that, in time, we'll be able to use Adobe AIR to create Windows Metro applications and Native Applications for the Blackberry "next" phones. More info on Adobe and its runtime commitment is in the "Roadmap for Flash Runtimes" whitepaper.
However, keep in mind that Flex is in the process of being donated to the Apache Foundation and the Apache Flex Project is in the process of creating their first release.
There is interest in decoupling Flex from the Adobe Runtimes, so that we can use the same Flex code and deploy them to other languages or platforms, such as HTML5 / JavaScript, such as Native Android, or Native iOS. I think it will be a couple of years before we start to figure out if such endeavors are going to become a reality for building Enterprise Applications. There are a lot of smart and motivated people, involved in the Apache project; and I have faith they will do great things.
...which has recently been dropped from Linux support...
Adobe has not dropped Flash Player support on Linux. However, as I understand it they will only be supporting the Flash Player on browsers which support a new plugin API that was developed in conjunction with Google. At the moment, only the Chrome browser will support the Flash Player on Linux; however if this API is implemented on other Linux browsers, it seems probable that this will also come with Flash Player support.
As I understand it, however, Adobe AIR, will not have any support on Linux moving forward. I understand a lot of developers find this troublesome because they were using Adobe AIR as part of their build and test process; which run on Linux machines. In practical terms, this has not affected any of my clients.
...which affects Android and the growing mobile market.
Adobe support for Linux is completely different than Adobe's support for Android. Adobe did cease development of the Mobile Browser Plugin for Android. But, you can still use Adobe AIR to build Native Android applications.
In terms of clients who I speak to; people are more interested in building Native Applications on devices and care less about browser based applications--which is where Flex excels. I do not know of anyone building Flash content targeted towards mobile browsers.
And finally....
tell me if you think it has a future
It's hard to say. At the moment, a lot of people I talk to are taking a wait and see attitude. They aren't ceasing Flex development or retiring their current applications. However some are halting on starting new projects with a technology that is "deemed" To be abandoned. People want to see the Apache Flex team create a formal release. They want to see the Apache Flex team prove they can move the SDK forward in a relevant manner. Once we prove that; I think things will improve in terms of corporate mindshare for Flex.
If I were to "guess" what is going to happen, I'd say that browser plugins are going to go away completely in the future. Apple started this with the iPhone; and Microsoft is going to accelerate it with Windows Metro apps. However, I believe that Adobe AIR is going to thrive; as it solves a unique problem (Cross platform deployment on mobile) which the browser based Flash Player used to solve. I anticipate that AIR may become more focused / niche than the Flash Player was; but I anticipate it will be a profitable niche.
There is potential for great things; and I believe that the potential can be realized.
Update 6/20/2013
This page has been translated into Spanish language by Maria Ramos from Webhostinghub.com.
#1 by Paul on 5/8/12 - 2:25 PM
#2 by Marc Loeb on 5/8/12 - 2:43 PM
I do not believe that plugins will completely disappear in a browser - it will happen to my knowledge to Metro on Windows 8, but not inside the windows itself. The Flashplayer disappeared on the iOS because it performed badly and was buggy, this is what I read in the news that time. I think Microsoft will keep the Falshplayer as long as it can, because it makes Windows worth more (more content) than without it.
I think the programing language/sdk will be most popular that can fulfill a cross-device and cross-browser development best. By now – it does not seem to be clear who will win – the race is still open so if you have no project you can wait.
If you have a project that is focused in Video or gaming – Flex/Flash is still a valid option for me.
#3 by Pete on 5/8/12 - 4:47 PM
Is Flex a strong choice for forms?
#4 by Nicolas on 5/8/12 - 9:01 PM
It is still today the most reliable way to deploy both desktop and web applications that are
- pixel perfect looking
- strongly typed
- enterprise built (by many developers, productively)
- rapidly deployed
All the haters can go ahead and claimed it is dead. In the meanwhile, we keep producing very successful software with it.
Same goes with Java.
#5 by Nikos on 5/9/12 - 7:58 AM
#6 by Brian Kotek on 5/9/12 - 12:56 PM
#7 by Nicolas on 5/9/12 - 7:41 PM
Sure, html and knockout js. I've used it too. It's great for your little startup applications, but please, enterprise software is a complete different beast.
Good luck riding the tides, I hope you will end up ashore somewhere. In the meanwhile, I will continue to deliver tangible solutions.
If I read another article about "Is Flex Dead?" I will poke my eyes out. Yes it's dead, just as petrol engines are dead.
#8 by Brian Kotek on 5/10/12 - 1:15 PM
#9 by James on 5/10/12 - 3:37 PM
#10 by James on 5/10/12 - 3:39 PM
#11 by Nicolas on 5/11/12 - 12:10 AM
#12 by Jeffry Houser on 5/11/12 - 1:07 AM
I'm not sure I'd consider anything [public] from Google or Facebook to fit that bill. Gmail maybe (?). It definitely has the complexity I might expect from an "Enterprise" app.
However, I bet the systems that handle the Google/Facebook advertisements placement and processing of money are built using Enterprise Software techniques. I have no idea what technologies are used; but as a customer of both, there is a browser based front end to both.
#13 by Brian Kotek on 5/11/12 - 3:38 PM
If that isn't enterprise software, then yes, apparently our definitions differ greatly.
#14 by Ansury on 6/18/12 - 2:05 AM
I agree with pretty much everything Jeffry said in his post, especially about the need for an Apache Flex 5 SDK. An HTML5 compiler, while it would be a bit lacking, would be another huge selling point. But on the alternatives front, nothing has really changed. We still have the same fragmented, non-standardized, HTML & JavaScript library-flavor-of-the-month free for all.
The dangerous thing for armchair analysts in IT is that it's easy to look at public/web stuff and think that's all there is. But that's extremely misleading when you consider the business world. And Flash Player, yeah, that won't be going anywhere anytime soon despite all the FUD of people who for some reason just dislike "plugins". The facts aren't all behind the ones spreading the FUD.
For my environment (all non-public internal apps), for the time being, I still can't honestly recommend anything other than Flex and Java. And believe me, I have plenty of complaints about some of the existing flaws in Flex/Java integration and setting up a nice build process, so I look for alternatives--but I'll be damned if there's a better one out there yet. Silverlight is the closest - but that's .NET and also a plugin based SDK. Flex is still king of this domain.
#15 by apilink on 7/4/12 - 6:51 PM
What now?
#16 by Jeffry Houser on 7/4/12 - 8:22 PM
Even if Adobe were to stop distributing the AIR Runtime via the Android market, most people I know of are using Captive Runtime to distribute mobile AIR apps that they make, so the availability of the AIR Runtime is less of an issue right now.
The first release of Apache Flex is not here yet; but very close. A release candidate is here and PPMC members are testing on the release. We'll get instructions for using it up shortly after the release is ready. I have been on vacation so haven't had the chance to test the release yet myself.
I still believe there is potential for great things to come from the Apache Flex project. That has not changed.
#17 by Tony Smith on 7/10/12 - 1:28 PM
Having just moved to HTML/Javascript I will tell you that I miss Flex very much though! Development is.....so.....very.....slow.
#18 by Jeffry Houser on 7/10/12 - 1:55 PM
Most people I know are distributing apps through the use of Captive Runtime which removes the dependency on having AIR installed.
That doesn't solve the problem that it is still an app and corp IT departments would still need to allow permission to install it on corp desktop computers.
Flash Player has (or had?) the same exact problems back in the day with being installed or updated on IT computers. I do not know how Adobe bypassed that, but I know there were ways for corporations to host internal version of the Flash Player so they could be installed or updated without having access to the public Internet.
I think AIR will carve out a niche as a cross platform mobile development tool; but that is currently a crowded space and I'm not sure if Adobe can rise to the top of the heap, despite the potential. I'm also not sure how big that "niche" will be.
#19 by Costas Y on 10/13/12 - 8:26 AM
@all others who fight for Flex... yes! unfortunately flex died. It is not the first time in history a company spits onto the faces of it's developers. Remember what happened to VB 6 ? Get over with it and go on have a look to some of the great ajax based frameworks. Noone will remember flex after 5 years...
#20 by Jeffry Houser on 10/13/12 - 11:45 AM
If you think no one will remember Flex in 5 years; then you have very different experience than I in terms of Enterprise Software Development.
It will be significantly cheaper for many Enterprises to support the software they already built in Flex than it will be to rewrite in a new technology. Enterprises don't re-write software from scratch every few years.
#21 by Ansury on 10/16/12 - 7:24 PM
People who make comments like yours crack me up. Anything to substantiate such comments? Would you like to address any of the arguments to the contrary above to explain specifically why they are wrong? Do you have any statistics (please include all nonpublic/intranet, international, and government agency statistics), or maybe a crystal ball giving you such information?
Or perhaps you are a disgruntled person who is upset that a corporation did not do what YOU wanted? Do you even realize how many major enterprise and reporting applications currently utilize Flex? Are you aware that Flex is not dependent on Flash Player, and may even target HTML5 in the future?
Developers love to claim that things they don't like are "dying". Yeah, ColdFusion has been "dying" for what now, a decade? (ha ha) Sun is gone, uh oh - I guess Java is "dying" too, right? You do realize that what Adobe has done with Flex is similar to what IBM did with another "dead" technology named Eclipse, yes?
No, technologies do not simply "die" so easily. Especially those with unique advantages over alternatives.
Most people curiously trying to damage the popularity of a perfectly good technology always have little substance to back up their claims - and most often they seem to have a chip on their shoulders, or an ulterior motive. Productive developers aren't interested in "junk IT" any more than junk science.
#22 by Tong Wang on 4/27/13 - 2:49 PM
Regarding Facebook, yes, it has a huge technical chanllenge, but I think the most part of the chanllenge lies on the backend, especially the database, to my knowledge, Facebook uses a customized version of MySQL so that they can serve tens of millions of users. The big efforts are put into the backend.
#23 by atdavis on 6/18/13 - 5:00 PM
#24 by Ansury on 8/17/13 - 6:17 PM
I don't really disagree with anything you said. But we should keep in mind a few things. Forcing users to use a browser is not a solution to the DOM/HTML5 JS environment problem.
There are the inevitable browser version updates. I've seen later versions of IE completely BREAK JavaScript menus on applications. Sometimes CSS doesn't render consistently between browsers/versions.
In my environment, a major project had such problems with their JS library that they formalized the use of FireFox, just for that app, where IE was previously the standard. So now in our enterprise environment, we have users with either IE or FireFox - you can't really control which icon they click on.
Flex is even more important to me now than it was back when we had "one" (sometimes upgraded) browser.