“Blasphemy! Burn the Flex-hating heretic!”
I’ve never been a Flex evangelist. I get passionate about AIR, and ActionScript3 – but I tolerate Flex. This is because, despite the evangelist’s view, that Flex is an all-singing, all-dancing, panacea to absolutely everything – I don’t believe that Flex was ever designed to build powerful AIR desktop applications.
I realise that this is a minority view, and likely to alienate me. Most developers love Flex with a religious fervour that’s a little scary.
Over the years, I’ve seen a lot of beautifully crafted applications and games written using Flash. In 2001, I started experimenting with Flash 5 and then Flash MX to build sophisticated applications. I wasn’t the only developer to subvert Flash to this purpose.
Flex doesn’t leverage the tremendous wealth of wonderful applications that have been created using Flash. Hence I think it was a little odd that AIR was paired with Flex, and not Flash, and this resource wasn’t tapped into when AIR was first launched.
When Flex was first released, it wasn’t even appropriate to what developers like myself were doing. It was an expensive server technology, and Flex Builder was Windows PC only – so I didn’t pay much attention.
The first Mac port of Flex Builder was truly awful! (Admittedly, it was a public beta, not proper release). Still, it seemed more apt for PC users. Uninspiring, grey forms to build the kinds of boring things that Microsoft Visual Studio did.
As for scroll-bars, tabs, forms, and interface elements – Flex was too little too late. Developers like myself had already made their own efficient application frameworks and reusable classes – Flex didn’t give us much we didn’t already have.
So while other developers jumped on the Flex bandwagon – and evangelised – I never did.
My biggest problem with Flex evangelism concerns the “Flex+AIR” association. It is assumed that the two are inextricably linked. They’re not. When, AIR first went public and the Flex mob preached that the ONLY way to make AIR applications was to use Flex – THEY WERE LYING!
e2spreadsheet was one of the earliest AIR applications. And it was developed completely without Flex. All my applications avoid being slowed down and bloated by the Flex framework.
Ok, there have been some cool AIR applications developed in Flex. But I think that the developers of these applications are subverting Flex, in the same way that the pioneers subverted Flash, before Flex came along.
Ok, what do I mean by “subversion”?
I mean that neither Flash, nor Flex are really appropriate to what I want to achieve. But the best tool for the job doesn’t exist – so I “subvert” what I have. Flex wasn’t designed specifically to make AIR applications. For a start, Flex just doesn’t include useful libraries we need to build cool desktop applications. Spell-checkers, standard palettes / advanced colour pickers, predefined cool icons, conversions from common desktop file formats…
Not only are Flex and AIR designed for different types of application, the Flex developer mindset is different from the AIR developer mindset. Suppose you need a spell-checker? A Flex guy would say:- “Use an internet service”. An AIR developer would say “What about occasional connectivity?” The Flex developer probably doesn’t even know what this is or why it’s important – this is because the Flex mindset is focussed on the always-connected browser world – not the desktop.
I’m specifically interested in AIR applications as products. Not the service industry of rapidly creating internet/intranet business services. This is another reason why Flex isn’t really appropriate to my world.
Despite the religious devotion amongst its users, Flex was not divinely created. It was made by Macromedia, and it’s EVOLVING! Perhaps Flex 4 or a future version will have evolved to the state that I get as passionate about it as I do other Adobe technologies. But I would rather be discontented than evangelistic. Evangelists preach blind dogma. Whereas discontentment may arise from a vision of what could be.
Entry filed under: Adobe AIR.