Flex recently became a top level project at Apache and released version 4.9.0. I’m personally very excited about the project and I’ve seen a lot of confusion and misinformation on the web. Here’s some of facts as well as some of my thoughts on the subject. I hope it will help clarify what Flex is all about for some people.
A Brief History
Flex started its life in 2002 as a framework to develop enterprise applications for Flash. I think this makes it the oldest framework around for web application development. Flex in its infancy actually took on a very different form than what it currently is. It started off as server-side technology. Over the years, Flex evolved greatly, and four major versions were released. By the time that Flex was at version 3.x, it was a widely popular framework for web application development. A few years ago, Flex 4 was created which had a much more sophisticated skinning model and numerous improvements in the framework as a whole.
As most people know, Steve Jobs waged his war against Flash a couple of years ago, and Adobe shifted its focus. Enterprise application development is no longer a focus at Adobe. At least as Flash is concerned, Adobe is concentrating on games and video. Flex was no longer important to Adobe’s strategy, but it was still a highly popular development framework. I think most people would agree that Adobe did the right thing and donated Flex to Apache at the end of 2011. In fact many would argue that Adobe should have donated Flex earlier. It’s important to note that Adobe did not just “dump Flex in Apache’s lap”. There are a number of full time Adobe employees still working on Flex including Alex Harui, the new Apache Flex PMC Chair.
Where Flex is Today
Despite all the talk about Flash being dead, it’s still a very active technology. There’s lots of websites that use Flash to better deliver content. Some can be replaced by HTML5, but some cannot. Simply reciting the HTML5 mantra doesn’t necessarily make a better user experience for users. But let’s ignore the Flash plugin for a moment and pretend it doesn’t exist anymore…
Not just web
When most people think of Flash technology, they think of the Flash run-time that runs as a browser plugin. The fact of the matter is that Flash technology goes way beyond the browser plugin. The AIR runtime is much more powerful and capable big brother to the Flash browser plugin. Being able to quickly write an application and simply deploy across multiple platforms makes AIR a very compelling development environment. No Flash on iOS? What about AIR? I recently had a very amusing discussion with a friend of mine about the feasibility of creating a specific app using AIR. He had a hard time believing that AIR for iOS and AIR for Android could be used for building serious apps. Why does nobody know that all the Adobe touch apps were created using AIR? I blame Adobe for that. Their marketing department leaves what to be desired. They have the most powerful app publishing platform out there, and so many people believe the “Flash is dead” mantra. It’s sad really… But enough of the past. Let’s discuss the future!
Adobe “Dumping” Flex Was a Good Thing!
I’ve seen a lot of popular opinion that Adobe donating Flex to Apache was just the writing on the wall that Flex is dead. The logic of that argument always escaped me. Why is donating a rich project with many followers to a thriving open source organization a death sentence? The fact is, that the donation of Flex to Apache is the best thing that ever happened to Flex. If I’m not mistaken, the Flex mailing list discussions are the most activate of all the Apache projects. For the first time in Flex history, Flex is a true open source community with all the goodness associated with that.
But Flex was always open source!
Well, it depends what you mean by “open source”. It was in the strict sense of the word, but definitely not in spirit. It was open source in the sense that you can see how the components were implemented, crack them open and change them if you so desire, etc. It was not open source in the sense that anyone could contribute. The only way anything could be changed in Flex before it was donated to Apache was by Adobe employees making changes to the code and committing those changes. There have been countless bugs that had not been fixed and countless improvements that could not be made by the community at large.
As part of the Apache Software Foundation, Flex is truly open source. Literally anyone can contribute bug fixes and new innovations. If there’s an itch you’d like to scratch, you can scratch it yourself. Any one of the volunteers would be happy to commit new code, and if you put in enough effort, you will quickly become a committer yourself. In the last year there have been many new committers added who are doing incredible work advancing Apache Flex.
The discussions on where Flex is headed is incredibly refreshing. Flex got a new face, with a new logo, and a new beautiful website which should be live any day now. Of course I haven’t even discussed the innovations going on!
Flex Innovation is Exploding!
There has been a lot of work done on Apache Flex since the donation process started a little over year ago, and the momentum of the project is picking up rather than slowing down. There have been a whole pile of bugs fixed. There were new components donated. There have been discussion on how to improve Flex for mobile including GPU accelerated and 3D rendering. There have been countless stimulating discussions about where Flex is today and where it’s heading. What Flex is, etc.
What is Flex?
A year or two ago, you might have defined Flex as a framework for building Flash and AIR applications. A year or two ago, you might have even been right. But if someone defines Flex using that definition today, they would be totally wrong. A year ago, the future of Flex was totally tied to Adobe and what Adobe decides to do with Flash and Actionscript.
This all adds up to an extremely powerful framework for creating HTML applications that can be used across a really wide range of developing requirements. The future of Flex is looking more exciting by the day! We could very likely be using Flex to create full HTML applications before the year is out!
It Goes Beyond HTML
The dream of “write-once, deploy everywhere” was not quite realized by Adobe Flex, but it very well might be realized by Apache Flex!