Despite Steve Job’s self-serving war on Adobe Flash, it still continues to be an extremely important web medium with impressive ubiquity, especially for interactive, media-rich, and immersive experiences.

Flash is by no means the best tool for everything on the web, but it has it’s place among web technologies. The ability to work with sound and video, images, byte-code manipulation, asynchronous communication, and vector graphics position Flash years ahead of HTML 5’s specifications.

Flash must be used judiciously. It should not be used for menus, for example, as it may prevent the links from being properly indexed by search engines. However, using the principals of graceful degradation and progressive enhancement, fallback content can be served up to search engines, which can be replaced on-the-fly with an interactive experience for those who have Flash player. This train of thought extends to devices that do not support JavaScript.

Flex boasts a large arsenal of user interface elements that can be quickly integrated into a functional and powerful application. It uses a combination of an XML markup language known as MXML and the scripting language ActionScript 3.

AIR applications can be built using Flex, pure ActionScript 3, or with JavaScript and HTML. AIR offers a versatile runtime environment that allows the same code to install and operate on all three major operating systems: Windows, Mac OS, and Linux. It is feature rich and a cost effective way of delivering content to a diverse target audience.