DLG Software


Rich Internet Applications,

  Flex, and maybe a little SAS


About a year ago a programmer friend of mine gave me a Flex3 demo, and as soon as I saw Flex I was hooked. This was an about-face for me — previously I'd never much liked web apps, at least not those based on HTML and a bit of Javascript. After years of developing desktop apps I found HTML-based apps too limiting: less functionality, less satisfying user experience, and generally less fun to develop.

Still, it was obvious that browser-based apps were a great idea (central codebase, no deployment issues, access from everywhere, etc.) and it was just a question of when they'd mature into something better.

The "when" almost arrived for me with Ajax. Ajax was clearly a big step forward, though far from perfect. But the timing was off — around the time I was first aware of Ajax I was already heading into a three year sabattical of writing fiction (see My background for more on that little detour). In the end this delay was for the best, because now as I return to the appdev world RIAs like Flex have matured into serious browser-based app development environments.

As I mentioned above, when I first saw a Flex demo it was a revelation. And when I downloaded the trial version and began playing with it I just kept liking it more and more — Flex creates browser-based apps with incredible, seamless functionality; AS3 is object-oriented and mostly makes sense, as does MXML; it's open source with a large community of generous developers freely sharing code (Flexlib is a great example); it has a sibling, AIR, for creation of desktop apps with almost the same codebase as a Flex app; it has a solid market share; and it's fast and fun to work with.

So, after a quick look at other RIA options (Silverlight, version 3 at the time, was still a bit too rough, and JavaFX was even worse) I took the Flex plunge. I've taken this past year to come up to speed on Flex and haven't regretted my choice.

UPDATE: April 2011

Flex Hero (the prerelease of Flex 4.5 and AIR 2.6) has strengthened my belief that Adobe has real winners with both Flex and AIR. While the release of HTML 5 makes Flash a bit less attractive (because HTML5 features like Canvas begin to encroach on Flash territory) at the same time Flex/AIR have grown even more attractive, largely because of the proliferation of mobile and tablet devices — Flex/AIR let you create native apps that run on a variety of OS's and devices and can do this with lots of code reuse (here is a good devnet article on this). The Flex 4 skinning model also facilitates this, letting you create components with different "faces" for different physical screen sizes and pixel densities.

This cross-platform/cross-device capability becomes more valuable as the variety of devices just keeps growing, with Blackberry Playbook about to be released and many Android tablets coming over the summer. I purchased a Motorola Xoom recently just so I can play with Honeycomb, and I've already developed Gingerbread apps for my Droid X. All great stuff, and a great time to be an app developer!