JavaScript has several key advantages over Flash that makes it a much more attractive option for developers. The largest determining factor in making the choice between JavaScript and Flash is easily the range of platforms which can display enriched content using one or the other. With the rise in popularity of smart phones and the paradigm shift to a focus on mobile web, delivering content to mobile users has become a priority for many web developers. There are almost no mobile devices which handle Flash well, if at all. Apple's iPhone, iPod, and iPad cannot display Flash content at all and Steve Jobs' highly-publicized comments about Flash suggest it may never be able to. Recent reviews of Flash's first appearances on Android paint a bleak picture of poorly-functioning Flash videos and unplayable Flash games. Neither Sony's PlayStation 3 nor PSP support Flash entirely. On the contrary, all of these platforms support JavaScript. Although JavaScript's ability to deliver enriched content to so many platforms is the most often cited and publicized advantage, JavaScript offers several other upsides in areas where Flash falls flat. Developing in Flash can get costly, Adobe's Flash software is not cheap and many independent developers and small-to-medium businesses simply cannot afford to purchase it or the developers. JavaScript offers further savings in the form of reduced bandwidth. Additionally, the concept of graceful degradation is alien to Flash developers. Either your program works or it doesn't. JavaScript offers options for a well-coded page to degrade gracefully. Flash also offers little in the way of options for interacting with search engines, while JavaScript plays very well with Google and its like. Lastly, the Flash learning curve is steep and can be quite daunting for newcomers to the realm of web development, but JavaScript libraries such as jQuery and MooTools can make learning JavaScript a much more pleasant experience. With so much going in favor of JavaScript, can we, like Steve Jobs, argue that Flash is dead? Not quite.
Flash still has several areas where it outshines and outperforms JavaScript by orders of magnitude. Flash is so feature-rich that it is hard to find anything that can compete with the dizzying number of features it can offer. Also, Flash handles three-dimensional graphics much better than JavaScript. To JavaScript's detriment, it offers its own set of problems, such as the innate ability in modern browsers to disable JavaScript support and the inability for developers to protect their source code.
About the Author: Peter Marino is the Senior Partner and CMO of reelWebDesign.com, a search marketing firm located in New York City.