Friday, May 14, 2010

Flex, Flash, AIR-- what is the affair!!!!

In one of my team meetings in Adobe, I raised a question on what is the difference between Flex and Flash. This was the time when I was completely unaware of what actually Flex is. Flash, ofcourse, everyone would know because of so many flashy website born everyday.

Going simple, Flex is another language, written as mxml document, which becomes Actionscript 3, and finally converted in .swf binaries. So flex to me is really a suite of tools and an environment to build bigger, more reliable more complex Flash applications. You can do anything in flash you can do in Flex, but it is often harder.

Flex provides the ability to create a SWF file (flash player files) that run on the Adobe Flash Player in any web browser. Just like the Flash was created to enable animators and illustrators to provide visually appealing experiences on the web, Flex was design for the same purpose, but Flex is Flash’s “big brother”, it’s the same “technology” but the way applications are built is different and allow much more complicated applications to be built by software engineers instead of animators

My cousin, Mohsin, and friends Servesh and Azeem were much confused when I told them these things. And then, an intelligent question was raised by my soul-partner Sadiyah, on how many platforms any Flex application can run on. It must be noted that there are 3 platforms that Flex can run in. Flash, Flash Lite, and Air. But story never ends without objection from my cute lil sis, Samreen. Being more into Law books, it was unpexted to see her asking that what about Flex over Mac, and over phones!

So, I clarified, "Flash is for the browser. Flash Lite is for the phone. and AIR is for the desktop". This was enough for all of them say unanimously "Anwar Rocks!!"

Remember, Flex can be used to create any of these applications. However, Flash lite doesn't allow the use of ActionScript which is essential for creating complex apps.

The difference is also the libraries that you have access to. AIR provides additional libraries so that you can talk to the OS and get things like file listings.

Noted difference between Flex and Flash is that, Flex was not built for animators, writers, accountants; it was written for software developers and the paradigm matches the development methodologies they already know. If one knows Java, C, C++, C#, Delphi, VB, PHP, ColdFusion, Python, Javascript or any other number of programming languages and environments, then he/she can learn Flex with little effort. Flex has classes, components, a compiler, a debugger, class libraries, and uses XML (MXML) for declarative markup of components. This makes it a complete OOP Language.

My write up would not be complete without mentioning that Flex Applications Run on the Desktop too! Adobe AIR, a new runtime, by Adobe Systems, enables the developer to write desktop software that runs on 3 operating systems ( Mac, Windows, Linux ) with the same file. This allows your applications to run as true desktop applications rather than just a website and allows you to do much more than the web provides today. The look and feel remains same. This minimizes your lot of effort making your applications set on various platforms. Once done, it is done on all!

So, 3 cheers for Adobe.
And one cheer for me too! ( For posting this blog)
;)

3 comments: