Adobe AIR vs Flash vs Flex vs Microsoft Silverlight

Internet Eras

The internet has been in many many different stages since its conception, both smaller stages of advancement such as the defining of web standards and a push to implement them, to larger, more generalized advances such as the recent explosion of “web 2.0”, blogs, social networking, and media enrichment. One could easily write for weeks covering all these advances, but for now i want to talk about media enrichment and interactive applications using rich media platforms.

Adobe Flash

By now, I don’t think there is anybody who DOESN”T know what flash is or at least interacts with it in a semi-daily basis. Formally Macromedia flash introduced in 1996, the now Adobe-acquired platform continues to thrive as the primary way for media interaction online – namely video sharing and streaming, largely popularized by youtube. Flash was originally developed for and used as a medium for vector-based animations, whereas Shockwave was the platform for video and interactivity. Flash has since drowned out shockwave in all aspects of use, except online 3d game development and interactive training applications, which is shockwave’s current primary purpose. Flash is quite versatile with its ability to handle videos, images, vector animations, key-frame animation, and its build-in scripting language called Actionscript, not to mention flash is cross-platform.

Adobe Flex

Flex is based on the Flash platform, but has more of a programmer approach to interactive web application design, whereas flash’s approach to application development is still based around the vector animation, as it was originally designed to be. Flex allows programmers to rapidly develop applications and their layouts using MXML and Actionscript, along with other built in technologies that make video and audio streaming and handling a breeze. Since Flex is built on the Flash platform, and actually produces its output in a Flash file format, Flex applications are inherently cross-platform. Flex also pushes for more native server-client data communications which makes it very easy to make dynamic, interactive applications such as shopping carts, video chatrooms, and just about anything else you can think of! In addition, Flex also has built in components ranging from lists, text boxes, and buttons, to streamline features such as drag and drop, form validation, and animation effects. From a user standpoint, flex applications will be nothing more than nicely designed flash applications, but from a developer standpoint, Flex will become the standard method for making flash applications that are not based on animating.

Adobe AIR

Even though AIR is still in development stages, I believe that AIR will become the primary use for desktop-based application development for programs that have any sort of internet interactivity. AIR allows developers to use flash, html, javascript, xml, and other web-familiar technologies to rapidly create desktop applications that provide a rich experience with internet communications built in. Not only does that alone give AIR excellent potential for wide-use by current web-only developers, but what really gets me excited is that adobe AIR is cross-platform, meaning that applications developed once, will natively run on windows, mac, and linux machines – with a good chance of it finding its way to mobile devices as well! With adobe AIR, there is going to be an explosion of software applications that can be developed more rapidly, and utilized by more people worldwide. Right now there is a beta available for windows and mac. Adobe expects to have linux support by third quarter of 2008. Until then, I am going to be very anxiously waiting to start developing with with AIR.

Microsoft Silverlight

Microsoft is finally stepping into the rich media market with its Silverlight platform, which is comparable to Adobe Flex. Currently Silverlight is rather limited as far as platform compatibility. And even though they are currently developing a more compatible version, it still will not be as cross-platform as any of adobe’s solutions. See Compatibility Chart at Wikipedia.

silverlight

One of the main things that I think will make Silverlight successful (once v2 is finished), is the .NET computability along with the ability to use python, jscript, VB, and perl coding within the applications. This means that the .NET technology will be available for limited use on cross-platform applications, which is, in my opinion, one step closer to having more windows application developers, making cross-platform software.

I do think Silverlight has potential and will become widely used, however I do not think its going to be overtaking Adobe’s market share anytime soon.