![_MG_5442 Some Mobile Programmers Skeptical About Adobe's Flash Utopia](https://www.wired.com/images_blogs/gadgetlab/2011/04/MG_5442.jpg)
The BlackBerry PlayBook, which launched April 19, supports Adobe Flash. (Photo: Jon Snyder/Wired.com)
It’s no secret: Adobe wants to see Flash everywhere. The company wants everyone to write programs with Flash, and for all customers to rely on Flash for their software needs.
With a set of new tools launched this week, the company continues to make an aggressive push in that direction — though it may have a tough time convincing developers to buy into its vision of a Flash utopia.
Monday’s release of two software tools for mobile developers, Adobe Flash Builder and Adobe Flex 4.5, creates a single platform programmers can use to make applications that work across three major mobile platforms: Android, iOS and the BlackBerry PlayBook.
Both of these tools allow a developer to write software in Adobe Flash, then automatically recompile their creations into native apps that can be sold on three major mobile platforms.
According to Matthew Fabb, senior mobile developer at StickerYou.com, cross-platform tools like Adobe’s, and another popular one called PhoneGap, serve a need.
“Companies want to reduce their costs in creating mobile apps across platforms, rather than making them all natively,” Fabb says. “I know some companies have outsourced a lot of their mobile development,” he says, as a result of needing external talent to handle code with which in-house developers may not be as familiar.
But such tools come with their own set of problems. Some critics say using tools like these result in decreased performance, compatibility problems and generally mediocre software. So, as convenient as the idea of “write once, run anywhere” sounds, it’s just not that simple.
Poor performance is the most often-cited problem with cross-platform development tools.
When you create an application using code that’s not native to the device you’re targeting, the authoring software you’re using sometimes needs to tack on an additional layer of code called a runtime. The runtime enables the device to interact with your non-native code, but a common side-effect is a more sluggish app.
“Generally, the additional runtime is a performance hit, and it’s another layer to worry about,” says Mike Novak, Android engineer for Group.me. “I prefer native environments for the lack of a middle man.”
Also, cross-platform tools may miss some of the intricacies of each mobile OS, says mobile developer James Eberhardt.
“The biggest complaint that I have with third-party tools like these is that they’re focused on lowest common denominator features,” Eberhardt says. “The iOS SDK has a feature that allows in-app purchases, while some of the third-party tools don’t support that.”
Problems with performance and compatibility aside, Adobe has been pushing to get its software on all mobile platforms, especially the iPhone. In 2010, Adobe added the ability to create Flash apps for iOS in its Creative Suite 5 Professional software.
The company trumpets the fact that its software helps developers get their creations into multiple app marketplaces more quickly.
“If you’re deploying a mobile app, you want to reach every one of your customers on whatever device they’re on,” Greg DeMichillie, director of product management for Flash Platform tools at Adobe, tells Wired.com. For companies building everything in native code, that can take “up to three times longer to bring the apps to market,” according to DeMichillie.
Flash, along with the companion technology AIR, has long been Adobe’s flagship cross-platform environment for application development, but Adobe has struggled to implement the software consistently across different computing platforms. Most famously, Apple CEO Steve Jobs blamed Flash for frequent crashing and battery drain on Macs, and he says similar limitations have kept Apple from supporting Flash on its iOS platform entirely. On other smartphones and tablets, Adobe continues to face challenges in getting the technology to work consistently across different devices, including Research In Motion’s PlayBook tablet, which runs QNX and the Motorola Xoom tablet, which runs Android.
There’s also an entirely different snag that’s tied to device compatibility: Each class of devices has its own app store.
Unlike the centralized marketplaces like Apple’s App Store and the Android Market, there isn’t an efficient app distribution channel for applications built in Flash or AIR.
“For small guys peddling smaller web apps or services it’s a lot harder,” says Phillip Ryu, developer of the best-selling iOS game The Heist. “And there aren’t many turnkey monetization services or effective sales channels to just tap into.”
This is the problem Adobe’s new tools are effectively trying to solve, by giving Flash developers an easier way to get their creations into the multiple app marketplaces rather than rely on ad hoc distribution.
Another issue: Adobe may not be able to keep up with continuous feature updates from the different mobile platforms. Android, for instance, currently maintains a six-month release cycle, on average. Just like hardware manufacturers struggling to keep up with the platform developers, Adobe may not be able to keep its tools updated at the same pace.
That’s a non-issue for native coders. “If you go right to the source you’ll always have the option to be cutting edge,” says Group.me’s Mike Novak.
Developer James Eberhardt echoes this sentiment.
“It doesn’t matter how good the technology is,” he says. “If it doesn’t support some of these important features, it’s dead in the water.”
See Also:
Authors: