Flexcursion with Apache

55 Comments 17 November 2011

Flexcursion with Apache

What a week! Adobe made a lot of announcements which raised a lot of questions on the web, and led to a lot of WTF (which meant”What The Flex” right?). I feel that since MAX, the Flex community was expecting some clarification about the future of Flex. The strategic shift made by Adobe precipitated our communication to unveil the overall plan. Unfortunately, it has been shared in the middle of a wave of changes (the lay-off, the Flash mobile story, the HTML5 commitment…). There was a lot of misunderstanding, so let me give you my personal opinion on this as a Flex developer and as an Adobe Evangelist. First, here is the official article that provides details about the future of Flex: 

The evolution of Flex

This is a fairly long post, if you don’t have time to read it all right now, you may want to skip directly to What’s next for Flex. I’m French, I talk too much, and I’m not Victor Hugo… Whatever :) So feel free to skip this paragraph to focus on our future. But the history of Flex might help you understanding the difference between our past strategy and the new one.

Flex 1 was released in 2004. To develop and deploy a Flex app, you had to use a 15000$ server. I remember that I started looking at Flex 1.5 in 2005 at my previous company. Because of this economic model, I didn’t even try to develop a prototype. Then, after the acquisition of Macromedia, Flex 2 was launched with a free business model and an IDE based on Eclipse. It was 2006, when I started coding Flex projects and when I joined Adobe to promote this technology. In 2007, Flex 3 was open-sourced under the MPL license. Flex 4 introduced the Spark architecture that lets you skin visual components very easily and with a lot of freedom. Thanks to Flex 4.5.1 (and soon Flex 4.6) you can build “native-like” mobile apps and deploy them on Android, iOS and QNX. So what’s next?

I’m very close to the Java and the PHP community (I’m currently writing this post from the fantastic DEVOXX conference with 3200 Java developers around me). When we used to present Flex as an open-source technology, it was more a “you can view my source” one. That was a huge step, and it helped our community to understand how the framework works. After a few months, it also generated some frustration. Flex developers and strategic customers who are Flex masters wanted to contribute actively, optimize the code, etc… Some of them even started their own branches. The Spoon project is the expression of this will and the expression of our lack of efficiency in accepting contributions, which I think was because Flex was perceived and promoted as a product. What I want to express is that we were defining the new Flex features on our side, to (somewhat) surprise our community and generate excitement. It was of course based on customer and user feedback, but then the new features were only shared during main conferences (360Flex or MAX for instance), and this was related sometimes to our product strategy. And this system works very well to spur adoption and generate a lot of excitement: Flex is very successful in the Enterprise today thanks to this strategy.

What’s next for Flex ?

At the same time, HTML5 is moving very very fast — faster than most anyone would have predicted two years ago. This is mainly due to the success of the iPad. That’s why Adobe believes that within 3 to 5 years, depending on the complexity of your RIA, HTML5 should be able to enable decent Enterprise Application user experiences for desktop users, associated with a professional coding experience. What I would add, as an Enterprise consultant, is that we can easily add 2 or 3 years to this period of time. A significant part of the Enterprise customers I’m interacting with are still running on Windows XP. This is a reflection of the tempo of the Enterprise world that cannot be synced with the outside world for security, maintenance, training, and auditing reasons. So even if HTML5 integrates some key RIA concepts within 5 years, it means that browsers still have to implement them and that companies need to update to a recent browser… well, you know the story.

Flex is and will remain the leading framework for first-class Enterprise applications for many years. And by the way, don’t be scared. We’re not blind and we must accept the fact that HTML5 is making fantastic progress. That’s GREAT! And our community has A LOT of time to anticipate this shift and make the most of this transition. Adobe won’t let you down. We’ll contribute to open standards, and at the same time, Adobe, starting with my team, will make sure that you’ll make it through — and even thrive during — any shift in our industry. Don’t worry, if HTML5 becomes the standard for RIA apps, then the best HTML5 RIA developers of tomorrow will be today’s Flex developers. Why? Because RIA development is not just a matter of language. RIA developers have a lot of specific skills (design awareness, client-side architectures, service exposure architecture, user-experience, mobile applications conception and optimization to name a few). You have a unique knowledge of the market that goes beyond knowing a technology inside and out. Adobe is already a key player in the HTML industry, and we’ll deliver more and more advanced tools and technologies (you can already look at PhoneGap, Edge…).

That’s why we need to define the best strategy for the Flex framework and establish it as an Enterprise standard today! There are two options. The first option is to invest in more new features and hire more engineers on the Flex SDK team. For the long term, I don’t believe in this strategy. It’s the traditional way to proceed for software products but not for application development frameworks. The more committed and talented developers you have in the community, the more you need to let them interact with the source code of your technology. The more you have mission critical Flex apps deployed in large organizations, the more strategic customers need to trust the future of your technology. Open source can fulfill these needs. We all know that Flex is deeply linked to the Flash Player which boosted the innovation on the web, and then, consequently, in Rich Internet Applications. I believe that the Flex framework is very mature in terms of features and can answer pretty much all the current Enterprise needs. It can also answer  future needs as we can now rapidly build native apps for iOS, Android and QNX since Flex 4.5.

The second option is to consolidate the current SDK and transition to the next level of openness. That’s why we decided to propose incubating the Flex SDK to the Apache Software Foundation. I’m very happy and excited about this move for several reasons:

  • Apache is a very respected foundation by developers and by large organizations. A lot of mission-critical Enterprise applications are already relying on Apache software: Axis, Ant, Maven, JackRabbit, Tomcat, Geronimo, ActiveMQ, Felix…
  • We are not only proposing the Flex SDK, we’re also pushing BlazeDS (Java server libraries for data serialization and real-time messaging). In 2012, we’ll propose Falcon, a new generation compiler. We’ll also unveil and propose FalconJS, an experimental and advanced Flex to JavaScript compiler. More projects may also be proposed to Apache to build a first-class open Enterprise RIA stack.
  • For the first time, Adobe won’t be the sole influencer on the Flex roadmap. We’ll still have engineers working on it but the effort will also be advanced directly by work of top Flex developers in the community (join the Spoon project if you’re one of them).

So Flex or HTML5 ?

I’ve been working on Rich Enterprise applications for more than 6 years and I can tell you that it requires a lot of different skills and specialized knowledge. RIA developers, and especially Flex developers, know how complex it is to combine an efficient user experience with a maintainable client architecture. Flex is really the only cross-platform solutions on the desktop for rich applications. Today, 90% of Flex applications are internal apps (statistics from what I see on the field) available on the intranet and on the extranet to share the screens with external partners or customers. Flex apps won’t run in mobile browsers as Apple and MSFT don’t host plugins on their tablets (we’re still waiting for the MSFT one by the way) and as Adobe announced its intent to discontinue Flash in mobile browsers. Thanks to this decision, Adobe engineers are now focusing on Adobe AIR, the runtime that can execute and package your Flex applications as native iOS, Android and QNX (BlackBerry) apps. With the arrival of Flex 4.6 at the end of November, Flex apps will perform even better to deliver “native-like” experiences on smartphones and tablet devices. So what’s the market for Flex? Well it’s huge because we are focusing on Enterprise apps and not on Customer apps, we’re focusing on Enterprise data-driven apps, on rebranding and re-architecting existing Enterprise apps developed with Web 1.0 technologies or even client-server ones. That’s a growing market in all industries. Tablets will accelerate this need of user-oriented architectures, because if you deliver a bad user experience on tablets, you’ll immediately fail. The potential of RIA for desktop and tablet users is higher than ever because it unlocks ROI (increase the productivity of your company, improve the decision making processes, reduce the learning curve and then the training costs for employees…). I know that today you’ll hear a lot of people talking about the growing role of tablet devices in our daily life, that tablets will replace PCs, etc… Who cannot agree? I’d like just to add that the Enterprise world is evolving at a different tempo. Believe me, you won’t see large organizations replacing all PCs by tablets next year. If it happens and if it makes sense, it will take years, maybe decades. Desktop users will still represent the main population of Enterprise apps end users for a very long time. With Flex, you can already target 100% of your desktop users without migrating to a new operating system or a new browser, and you can target 99% of tablet devices as you can now generate iOS and Android native apps.

This is regarding the market for Flex, but there’s also the “developer experience”. Flex has been designed for Enterprise developers who are used to working with object-oriented languages like Java, first-class debugging experiences (on the desktop and on mobile devices), continuous integration, agile development, modular applications managed by several development teams, productive tools based on Enterprise standard IDEs like Eclipse, etc… It’s by far the best and the most efficient coding experience on the market and that’s not trivial. Before developing a mission-critical application, you have to measure/estimate the development time. Flex is usually way faster than other solutions, for a better result at the end. That’s why it’s considered the leading RIA framework on the market. So, don’t be scared, Flex is not dead. I was not surprised to see some posts on the web promoting this idea. It’s a classic trend in our industry. Just to illustrate that point, I googled some queries. Here is my TOP 5 list of the dead technologies:

  1. “.NET is dead” is the big winner with 576000 search results on Google. Congratulations.
  2. “JAVA is dead” is following with 138.000 results. I can hardly feel this trend from Devoxx and the 3200 Java developers around me :)
  3. “PHP is dead” is a little child with only 35.600 results.
  4. “Ruby is dead” is in the same range with 30.700 results.
  5. “AJAX is dead” generates 6500 results.
So we are newbies in this competition as “Flex is dead” only displays 5000 results :( I’m kidding of course, it’s a stupid analysis but it highlights that you shouldn’t always trust online articles about technologies lives. Try it with Flash, you’ll be amazed. Flash is a damned zombie :). Ok… no more stupid games, let me go back to the future of Flex.

How can I contribute ?

After the announcement of our proposal to the Apache foundation, I received several emails from Flex developers and customers who want to contribute, to play a role in the roadmap, to fix bugs, etc… We’re still defining the process, so I cannot share any information on that today. But as soon as everything is defined, I’ll be the first writing tutorials to explain how to contribute. It’s such a big opportunity for the Flex community. It’s also a huge change of strategy and I’m aware of that, and some of you may be a little bit nervous. But Flex won’t be the only project in collaboration with Apache. We acquired Day software, and the engineers at Day are Apache masters, true open-source contributors. I like that. PhoneGap will also become an Apache project. Adobe is one of the top contributing companies to the Apache Foundation, and I fully embrace this strategy. I want Flex to become as popular as Tomcat in Enterprise architecture!

Let’s embrace this strategy together. Adobe is proud of Flex and super proud of what you achieve everyday with this framework. Based on the emotional reactions perceived on social networks this week, I can tell that we are all true and passionate Flex lovers. So let’s continue to build on that passion and work together on the future of Flex.

Post to Twitter

Your Comments

55 Comments so far

  1. Masu says:

    Btw … Flex 4.6 has been released this night … @Michaël right on time 😉

  2. Rahan says:

    You must be kidding, i’m a french guy trying to do its best with weird foreign language 😉 sorry 😉

    Thank you for wiki and blogs,
    and thank you for the fresh news about 4.6 :)

    I was in a meeting a few days ago in Paris, where i was able to ask some questions to Mickael. (thank you again Michael by the way ;))

    It was very interesting and very reassuring about Adobes project concerning the future of flash platform and flex. Even if i’m pretty sure that they can’t reveil all their strategy right now, because of legal restrictions.

    Even during this meeting, among flash users, there was surprisingly much people still confusing flash player runtime, and flash platform.
    And thats why they get scared by HTML5.

    As you say, future will not be decided by us.
    But i never saw something that could prove me that flash platform and especially flex are not compatible with the future of web standards.

    Recently i saw some news aout ECMA standards.
    It all show that until now my view is relevant.

    ECMAScript 6 is still work in progress and goes fast (see the very fresh new announcements about new features added to it).
    It’s already OOP orientated if i’m not wrong.
    Google is pushing for a big step forward on javascript, with Dart.
    Even Microsoft propose some extensions to level up javascript!

    What i read (correct me if im wrong) is that ECMAScript 4 lead by Adobe and Mozilla which ended up to AS3 and was abandonned for Javascript, was considered to be too ambitious and was a too big step forward, creating a new language that would not be considered as Javascript anymore.
    They prefered to get a step back and propose more little steps to go further. It leads to ECMAScript 5, and 6.
    But at that time, HTML5 had not the same buzz effect.
    Today everyone is pushing a bigger step forward for the standard.

    I don’t know exactly what is the gap between ES6 and ES4 but it surely get thiner.
    And as soon as the ES6 is be implemented in browsers, it won’t be long to get some JS engines that will undertake compiled JS to gain more speed.

  3. Masu says:


    It is really amazing to see how diverse the ECMA cloud is:

    Also an interesting post about ECMAscript 6:

    I guess it will take at least ten years until this ECMA cloud has been reduced to a single solution. Which means good times ahead for Adobe 😉 Maybe Adobe should try to show efforts to implement ECMAscript 6 in Flashplayer 13 … which should make it easier to crosscompile to the WWW world. But as I have seen it in the ECMAscript Harmony spec: they don’t plan to namespace and package support … which I think would be awful!

  4. Rahan says:

    from this post:

    I understand that ES4 was too ambitious but not entirely dropped, only delayed.

    So ES4 features, except for packages, namespaces, and early bindings WILL be implemented in standard but it is split between ES6 (called and the next version as it call it in the post.

    ES6 standard will be finished in 2013, but implemented earlier at least in Firefox.
    See how HTML5 is already impleted and used even if standard is not yet finished!

    The only questions i have left are:
    Michael do you have answers? :))
    – how is it difficult to cross compile AS3 to ES6, what performances drawbacks it leads to?
    – what is the gap between ES6 and ES4 and thus, how long will it take for standards to evolve from ES6 to next version, which will lead to the flash platform ruling againg!
    – what the drop of packages, namespaces and early bindings imply for AS3 cross compilation and performances?

    Im quite confident that even packages and early bindings will come in standards quite soon, as RIA development will be heavly adopted on HTML5.

    And of course, again, even starting from ES6 implementation, we will soon see some JS VM using alternative compiled JS, for performances. Google will push it for sure.

  5. Rahan says:

    Hi again,
    Another post to complete the subject:

    It’s related to the need to get JS compiled for performances.
    In fact this post is claiming that JS source code could be used as a bytecode which would be parsed with good performances.

    To achieve that the JS code must be transformed, and thus the JS code used as bytecode could be different than JS code written by programmers. But it would all be JS code based on the same standard speficitaions!

    So for flash platform, we can think about JS as bytecode to which we compile AS3.
    Just as many languages are targetting JVM bytecode without being java.

    In this way, compiling AS3 to JS (in an optimized but not humanly readable bytecode style) would become even more efficient than directly coding in javascript. :)

Share your view

Post a comment

Who am I ?

I'm Michaël CHAIZE, Adobe Flash Platform Evangelist based in Paris. I'm a big fan of Rich Internet Applications and I promote the Flash Platform in the Enterprise world.
You can follow me on twitter:


Follow us on Facebook

© 2018 RIAgora. Powered by WordPress.

Daily Edition Theme by WooThemes - Premium WordPress Themes