Andy Hulstkamp

about creating online experiences

29. February 2012

See you in the browser

It’s been a while since Adobe managed to nuke its developer base with a single press release. In the past few months I’ve been repeatedly asked if I would still bet on Flex, so I might as well write it down. My short conclusion: Flex has a future but within a limited scope.

I won’t sum up all my thoughts here, since Jesse Warden has already thoroughly written down the whole situation, which reflects my point of view quite well.

Fact is Flex (Spark!) is a wonderful (component) framework. Separation of concerns is very well done, the API has good granularity and flexibility, there’s a well defined component lifecycle that fosters reusability and the runtime performance is good enough. Flex missed great components out of the box and compilation and refactoring should have been better. Flex is a damn good Framework to do RIAs and it had and still has a damn good community to support it. However, in my point of view, the dependency on Adobe and the Flash Player is a burden and JS/HTML5/CSS3 is growing fast to replace it in many areas.

I guess it comes down to this:

If your application targets the Intranet and you do have control of the runtime environment and consistency of the runtime is critical to your application, then Flex is still the most productive, robust and easiest way to develop a rich client. Rich Trading and Banking applications come to mind and there’s enough money in it to support a career. In this type of scenario I can see Flex as the preferred RIA-Framework for many years to come. Further I think Flex is an excellent choice to do prototyping in complex scenarios.

In a consumer oriented market however, the Flash-Player and therefore Flex will continuously lose ground. Developing complex, consistent and maintainable RIAs in HTML and JavaScript is hard but many of the issues are being addressed by approaches like, Google Closure Tools, Ender, SASS, LESS and tons of great libraries like backbone.js, knockout.js, bootstrap and jQuery to name just a few.

Initially, the first time I turned towards Flash in 2001 to create onmodular was because I – like many others - was frustrated by the limited possibilities in the browser and by SUN Microsystems’ inability to establish the JVM in the browser. Enabling rich interactive content was the raison d’être of Flash. Later on, for many Java-Developers including me, Flex was a great framework for the view layer. Now, with wide HTML5-Adoption around the corner, both Flash and therefore Flex lose their reason of existence in many fields. If your focus is Web-Applications or Cross-Plattform Mobile Apps, it is definitely time to move on.

Also, no one should be too worried that the investment in Flex has been for nothing. Many of the paradigms that have been used in Flash or Flex reappear in JS/HTML5/CSS3. Migration is quite straightforward.

I’m writing this in response to the e-mails I get regarding the future of Flex. I’m writing this as well to let you know that I won’t reply to any request for support regarding the custom components you might find on this blog anymore. I still use Flex for prototyping and some commercial projects where applicable but I think it’s time to move on.

If you need some starting point and want to get the basics right I’d recommend

Good luck and see you in the browser.