Monday, May 2, 2011

Why Flex?

Everything is very difficult until you start working on it. Same thing happened with me. I'm a Java developer, but the company recruited me asked to work on flex. You don't know what you are going to work on until you are recruited by some company unless you start your own company. It was like a Greek and Latin for me at the initial stage of learning flex. Later on I started liking development in flex.

Okay, lets dig into why flex ?? I'm not gonna discuss why not others(Alternative to flex), becoz I don't know much about them.

Here are the 6 points which make easy to understand why flex ?

1. Programming Model
2. Developer Tools
3. Server Integration
4. Run time Consistency
5. Components and their Customization
6. Performance

1. Programming Model: Developers write Object Oriented code in AS3 (Action Script 3), MXML and CSS (Cascading Style Sheets). These languages can be easily learn by developers who are familiar with Java, PHP, C#, HTML and Java Script. Flex supports component based programming model. What does it mean is that flex applications are assembled from hundreds of components and extend base components.It will be more clear once we try a simple example.


2. Developer Tools: Flex SDK (Software Development Kit) is a free software, which includes compiler and debugger. There is also an IDE (Integrated Development Environment) called Flash Builder which build on top of Eclipse to develop flex applications. It includes design view and code view. It supports code refactoring, smart editing and code completion. Flash Builder includes visual debugger along with some other features (which I haven't used yet).


3. Server Integration: Flex applications run on client either in a browser with flash player or on desktop with Adobe AIR, or on mobile devices. To access back end data, flex supports numerous networking APIs and protocols.

4. Run time Consistency: Flex source code in MXML and in AS is compiled into flash byte code (.swf) which runs on client side by Action Script Virtual Machine in Flash Player or in Adobe AIR. These two are cross platform flash run times that work consistently on variety of hard ware, operating systems and browsers.

5. Components and their Customization: Flex SDK contains hundreds of in-build components, which are the building blocks of flex applications. These components can be styled and skinned to fit the look and feel of the application. Ex: Data Grids, Charts, Formatters etc.

6. Performance: Data Visualization and User Interactions which are done on client side make server response time reduced. This makes back ends more scalable and efficient. Interactions like filtering and sorting don't need to go to Server or Database. This also makes software more responsive and easier to use.

No comments:

Post a Comment