Posted in Flex | Posted on 02-08-2010 | 3,314 views
As I (slowly) try to recover from yesterday, I thought I'd send out a quick reminder to folks that the latest betas of both AIR 2.0 and Flash 10.1 are available.
AIR 2.0 should be an amazing release. I highly recommend catching up on Christian Cantrell's blog as he has quite a few entries on the new release.
Flash 10.1 is also now at beta 2. I've not followed the news much on this but from what I can see this will be an important update for mobile devices.
I hate to sound like a broken record, but, I'll say it again. For my readers who only know ColdFusion, now is the time to expand your skills and pick up AIR. Even if you don't want to learn Flex (which I recommend as well), you can simply build upon your existing HTML and JavaScript knowledge by adding the power of AIR.


I think it all comes down to what your building and who your audience is. I think that jQuery (or JS in general) is best for enhancing an existing HTML page. So you take a simple form and use JS to enable better interactivity with it. JS shines at that.
On the other hand, I think if you are building out an entire application with custom UI, heavy data usage, etc, than Flexh is going to be more appropriate. This is more what folks call RIAs (rich internet applications). You _can_ do this with HTML/JS of course. Ext has a pretty good layout/UI model for it. But in my personal opinion, Flex just seems better suited for it.
Not a great answer I guess, and as you can imagine, there are going to be _many_ different opinions on this. I'm really happy AIR supports both Flex and HTML though. It gives you the choice to pick what you think is best.
HTML is like a Honda Civic - Been around for a while, everyone has seen it and you can make it look pretty cool (or you can make it look ridiculous), but, under the hood, its still HTML.
Flex is like an Audi G8 - new kid on the block, sleek, sexy and fast as all hell.
Each has its own set of pros and cons. You won't always need the speed of a G8, and along the same lines there will be times when you need more than you trusty old Civic.
Both will get you to where you are going, but if you don't know how to drive, both are pretty dangerous.
(Basically, I am saying the same thing as Andy, but with a very cool analogy)
I could guess that Flex will be better suited for applications that a user might use (email tool, reporting tool, etc) while HTML/JS is probably better for public content that I want indexed by search engines (blogs, forums, websites, etc).
So in what cases would I choose Flex over Flash? I'm still trying to figure out what the differentiation is for Flex. Is it just a programming difference? ie: the end result will look similar in Flex and Flash, but Flex is easier to program, to do database connectivity, to build a web application with?
Also know that Flex/Flash apps _can_ be indexed. I know zip about that - but I remember hearing Adobe talking about it, that they had worked w/ Google, etc. So I know it's an option at least.
Flex is a way to create Flash applications. In _general_ it seems to appeal more to coders where the Flash IDE appeals more to designers, but thats a simplification.
I think there is a distinctly different feel to applications built in Flex/AIR, in terms of the user interactions and the general look and feel. They look "flash", and this can be enough of a justification to use it.
Similarly Flex/AIR can be overkill when you only need a small element of functionality in a template. Often you'll get see an entire application built around one element that the developer wanted to do in Flex, which is just weak.
I do love the level of integration with Flex/AIR and CFC's. Having a consolidated library of objects servicing functionality internal to a project and functionality exposed to external users is awesome, I haven't quite worked out if you can get a similar architecture with JQuery and the like.
Have to disagree about the lack of customizable UI for HTML/JS. You are really only limited by your imagination when it comes to customizing a HTML/JS UI with CSS. If you can imagine it and are willing to take the time then you can make it happen. Especially with HTML5 and canvas.
Personally I think that most of the Flex UIs I have seen are lacking in refinement.
Flex is going to be faster development wise for really in-depth RIA though.
As for many Flex apps "lacking refinement" - I think thats a side effect of it being simple. A lot of folks who play with Flex (and I definitely include me in that) don't bother to go beyond the default Flex skin, even though it isn't that difficult to do so. (I'm kinda reminded of how people fault CF when people build bad sites with it. It's ease of use can sometimes end up as a negative as well.)
Flex is an application development toolkit for Flash. It is designed from the ground up to serve the purpose of building rich internet applications.
So, it comes down to this question: what are you building? Are you working on a killer website? Or are you building an application? If I want to add some animation to stuff in my documents, then HTML/JS is certainly the sensible way to go. But if what I'm trying to do is build a business application, then it makes more sense to use the control I'm offered by the Flex framework.
Hope this helps.
[Add Comment] [Subscribe to Comments]