Thursday, December 3, 2009

Basic Flex

Flex ! Its been quite some time that I have been working in Flex. I am here to put into words my understanding of the Flex development. Lets start with some basic questions - What is Flex? Which technologies compete Flex? Why choose Flex? What are different tools/technologies involved in Flex application development?

flex-ing here! But what is Flex?
If you are familiar with Adobe Flash then it would be very easy for you to understand what Flex is. It is a development technology to create the same kind of applications (Rich Internet Applications) as Flash does. Creating RIA in Adobe Flash becomes complex when using timelines etc, alternatively Flex is a programatical approach.

Static web pages are dinosaurs, lets talk a bit about RIAs (Rich Internet Applications)
Paradigm of displaying simple text and static images on web pages has shifted towards more sophisticated, interactive, responsive, and dynamic web applications. Such applications have a broad spectrum - ranging from simple e-commerce applications that use multimedia content to more complex ones like animations (using Adobe Flash), games (using Adobe Flash), interactive content (Ajax Framework), and even Desktop applications (using AIR).

Is Flex one of its kind?
Not really ! As we discussed that Flex is used to build RIAs. There are various other technologies to build RIAs, each having some plus and minus. We would go into details of only Flex but meanwhile we would be using a comparison based approach to discuss others. Examples of RIA frameworks include Ajax, Curl, GWT, Adobe Flash/Adobe Flex/AIR, Java/JavaFX, Mozilla's XUL and Microsoft Silverlight.

I don't like Flex but its better than others
Its open source - I can use it as long as I need it, I can modify it as much as I want to !
It creates applications in smaller size - uses Flash Player's framework cache to keep libraries and classes saved. This reduces the downloadable size of your application ! (ping me if you need explanation)
It has got looks because you use it aesthetically - Adobe creative suit can be used to build custom skins/templates for visual components in flex. (Caution: Flex is very bad at styling. Most stylish people like other graphics tools to keep Flex visual components upto mark)

Convinced to use Flex. Now what?
Following THINGS make up the Flex platform:
i) Adobe AIR - to build desktop applications using web development technologies in flex
ii) Adobe Flex SDK - contains both Adobe Flex Framework and Adobe Flex Compiler

Adobe Flex Framework - classes and libraries used to build RIAs can be downloaded separately
Adobe Flex Compiler - compiles application code into SWF binary files and can be downloaded separately

iii) Adobe Flash Player 9 - crossplatform client runtime for (web-based) RIAs built in Flex

Following Products are helpful but cost money:
Adobe Flex Builer 3 - an IDE that contains Adobe Flex SDK, Flex Designer, and Flex Debugger
Adobe Flex Charting - libraries to draw different type of charts in Flex applications
Adobe Flex LiveCycle Data Services - data management services

We would dig into some more stuff in the next post. So keep visiting :)

Are you a nerd! Go read more
Flex Learning Paths
An Animated Overview of Flex

For serious developers only !