Flex Quick Overview

What am I targeting here?
1) What is flex and how to start Flex development?
2) Interesting facts about Flex.
3) Few Resources.

What is flex and how to start Flex development?

You might have heard about Flex these days, so what is it? And why should one show interest towards it? Long story in short:

“Flex was built for making rich client side application behavior. It wasn't built for making web pages, banner ads, or server side logic it was built for creating client-side applications that runs over the Internet talking to remote servers. Flex is being used to build rich applications”

Where should I start?

• First you need to have Flex SDK, you can download it from http://www.adobe.com/devnet/flex/?view=downloads. Flex SDK is free !!!!!
• You need to have and IDE for developing Flex applications; we have two options for this (a) Flex Builder and (b) Eclipse plug-in for Flex Builder. These tools are not free but the trial version can be downloaded from http://www.adobe.com/go/try_flashbuilder
• A web server. Through this article I’ll refer tomcat and it can be downloaded from http://tomcat.apache.org/

That’s all bout tools, another important thing which you need is interest in learning new things and obviously for developing Flex applications you’ll need good command on ActionScript. But, for now if you don’t have good knowledge that’s fine, I am one among you...

I’ll not go through the installation process of Flex SDK, Builder and Tomcat, that is pretty straight and simple. Before we start actual development I’ll quote few points which will be helpful to understand Flex and use it in more efficient way, there could be other ways and I’ll love to hear that from you…

A typical flex application consist of a binary flash file (with .SWF as extension) and few HTML pages which loads the .SWF files. A SWF file is a complete package (pretty similar to J2EE WAR file) which consist of:
• Images and other assets.
• Themes CSS (yes you can have a CSS for flex, but is somewhat different than regular CSS used on HTML pages).
• Modules (I’ll discuss more on this, as it is important for large applications).
• Custom components.
• Run time libraries.
• Resource bundle (main used for localization)
• And XYZ123……resources which your application needs.

When we access a Flex application the .SWF file gets downloaded from internet and then it run locally. For smaller application one flash file (.SWF) will be OK, but if your application is quite large and it has multiple pages/screens then it is good idea to break them in pieces, how???? Flex Modules are there for us.

Interesting facts about Flex

Q) How difficult is it for a Java/.NET developer to learn Flex?
ActionScript is heart for Flex and it is pretty much similar to Java/C#. So, if you have good knowledge of Object Oriented design then you can learn it relay quick.

Q) I heard that Flex application is having performance issue?
A badly designed application always has performance problems. Flex provides many features, and if we consider them while developing application then you’ll get even better performance. Flex modules is one feature using which you can break down the big application in smaller pieces and load modules as and when needed rather than loading complete .SWF file.

Q) Can we optimize a Flex application for SEO?
Yes, you can do that and Adobe is actively working with Google and other search engine giants to give more and more….you’ll be visible to world. See this for more information http://www.adobe.com/devnet/flashplayer/articles/swf_searchability.html

Q) Are there any framework which allows integration with Java applications?
Yes, there are many and few popular ones are:
BlazeDS: http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/
Spring Flex: http://coenraets.org/blog/flex-spring

Q) Are there any code generators available which we can use for converting Java to ActionScript files (.as)?
Yes, you can use granite: http://www.graniteds.org/confluence/pages/viewpage.action?pageId=229378

Few resources which you should consider:
1) Coding conventions: http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions
2) A nice site to follow http://flex.org, you'll find cool stuff here.


Popular posts from this blog

Sling Authentication

CQ Development - OSGi bundles and Components

Create an AEM (CQ) project using Maven

Multiple log files using log4j appender