Some Thoughts: Adobe Flex
I’ve been looking into the somewhat new Web 2.0 Rich Internet Application (RIA) from Adobe called Flex and thought I would give some thoughts on it (i.e. a small review). Let me first give the disclaimer that I have only played around with a few live sites (Mint), had a few discussions at work, and tried compiling and running the dashboard demo on my local machine…in other words, I’m certainly no expert.
Flex is a self contained sandbox for running rich internet applications in a web browser. It runs within the Adobe Flash Player, thus the browser requires Flash to be installed (Adobe claims that their Flash player has 95% infiltration, but I’m not going to bet the farm on that stat). It has an Adobe introduced markup language (MXML) along with ActionScript that compiles into SWF files (for use in the Flash player). Essentially, you output your data as XML from your back-end servers/services (data model) and the Flex application written in MXML and ActionScript will handle the presentation with all the provided pretty colors and desktop like feel. Adobe says that you can write all of this in notepad, but I found that you’re very limited if not using the Adobe Flex IDE. The Flex IDE is based on Eclipse and has several pre-built widgets.
I’ve seen a couple of sites and several proof of concepts built in Flex. It looks great! In many ways it truly is like having a desktop application in your browser, much more than what I’ve seen Ajax being able to do. I have noticed that most sites have the same look and feel (buttons, graphics), but I am guessing that is because people are still getting use to Flex and relying too heavily on the pre-built GUIs. One common theme I’ve also noticed is the speed, or the lack thereof. The problem is that you are loading an entire application into the browser and throughout the client’s experience the application is communicating with the back-end to retrieve more/new data. This maybe a fundamental problem with Flex or it might just be people need better methodologies to gather and display the data. However, overall Flex certainly looks like it holds a lot of potential. One way I always check to see if a technology is up and coming is checking on Amazon the number of recently published or soon to be published books on the subject…Flex has several!
The question is will Flex suffer the same fate? I remember years ago when I was working in a wireless trading group we began using the Microsoft Mobile Internet Toolkit. Basically, the proposition was that you could write your application once and Microsoft would handle translating/formatting the XHTML for each specific mobile phone (with all it’s idiosyncrasies). At first it was great, but slowly the Microsoft updates to support more phones took longer and longer to come out until they eventually stopped supporting the toolkit all together. So we were left with a site written in a language/technology no longer supported. Let’s hope Adobe’s Flex doesn’t go that same way. And not matter the number of promises they make, if their don’t sell enough licenses, well, updates will take longer and longer and….