A web developer friend of mine recently sat down with me at a very fashionable counter in the first Starbucks licensed to serve wine. Naturally this experimental venture is in Seattle, the home of the original Starbucks coffee shop and a city forever pushing forward with the latest internet technology. As he frowned at the limited selection, he ordered a Pinot Grigio and said, “Flash, yeah… I don’t see much call for it. Companies see it as a ‘nice to have,’ but with the iPad and the iPhone blocking Flash, I just don’t see that it has much of a future.”
“Ah,” I said, ‘then why am I getting so many calls about Actionscript 3?”
There is nothing lacking in my friend’s technical expertise or his awareness of the latest industry trends. The evolution of Actionscript-based Rich Internet Applications (RIAs) is the Internet’s best-kept-secret, a progression so under the radar that most of its users don’t know that they see it every day. Coders who dabble in Flash might see Actionscript 3.0 as the next version of the language that will replace Actionscript 2.0, therefore they must learn it, and all the while not know how much it’s being used for, or how. “How” is a significant point, because although Actionscript is the native tongue of Flash applications, the latest generation of Actionscript developers may never see a timeline. They are developing in Flex.
Adobe’s website describes Flex as “a highly productive, free, open source framework for building expressive web applications that deploy consistently on all major browsers, desktops, and operating systems by leveraging the Adobe® Flash® Player and Adobe AIR® runtimes.” Flex is a developer’s environment, a playground for programmers with ready-made classes and libraries that create a visual product without attaching code to any visual elements. In terms of object- oriented programming development, Flex is a powerful tool that lets code think like Java and behave like a desktop application. In terms of influence, it’s the engine behind the persistence of Flash in spite of bad press and bloating media moguls.
Social media games and online gaming communities led the way. An enormously popular family multi-player role-playing game called Club Penguin launched in 2005 and grew to 12 million users by 2007. According to their website, Club Penguin is a “virtual world for kids… In the form of a colorful penguin avatar your child can join the community, engage in a variety of fun activities, chat and play games with friends.” Purchased by Disney in 2007 for $350 million, enhancements and maintenance for the game are developed in Bellevue, Washington where Actionscript 3.0 programmers are in high demand.
Zynga, the best-known producer of social networking games and the company behind Farmville, Yoville, Cityville and Frontierville, works almost exclusively in Actionscript 3.0 from their headquarters in San Francisco. To say these games are developed in Flash would be misleading, as the only thing they share during the development process is the language and the end result: the Flash Player, Adobe’s plugin for browsers. Actionscript and Flash go hand in hand, so as the language gains increasing adoption, the software that accompanies it persists.
The greatest threat to the near-monopoly AS3 holds on social network game development is HTML5, as Facebook leaders evangelize its cross-platform capabilities. Trouble is, HTML5 isn’t ready to play; its features are still hazy, its performance, inconsistent. As Apple relented on third-party application development and relinquished its ban on Flash-based development for mobile apps last year, the future of development looked more fragmented than ever. Technology spokesmen always prefer simplicity, with a single solution to rule them all, but programmers are in the trenches, accustomed to allowing for divergent platforms. Actionscript may not always dominate the development landscape, but it has enough clout now to remain a significant option for many years to come.
After finishing off a Starbucks Merlot that was pleasant but not memorable, the afternoon ended in a trip to the local bookstore. I hastily snatched a book on Actionscript 3.0 to peruse on the plane flight back home. Hours later I opened it up, and after a few chapters detailing the concepts of object-oriented programming, I finally found the code examples. Not surprisingly, it assumed I would be trying it out in Flex.