Channels ▼

Avo Reid

Dr. Dobb's Bloggers

Code Once Deploy Everywhere witth Adobe Flex 3 and AIR

February 23, 2008

This week Adobe announced the availability of Adobe® AIR™ and Adobe® Flex® 3 software which combine to create a technology platform for enabling rich Internet applications (RIAs). The importance of RIA's, a term Adobe coined several years ago, is the promise in the near term to eliminate the usability and functionality boundaries between desktop and web applications. And more importantly for the long term, RIA's promise to eliminate those same boundaries between mobile, desktop and web applicaitons. The concept of coding an application once and deploying it everywhere, seamlessly running it as a web application, desktop application and a mobile application is quickly becoming a reality. Microsoft has released a competing technology Microsoft® Silverlight™.

This may be an important inflexion point for mobile developers who have operated under the assumption that mobile computing is different from PC computing. And in all fairness the proliferation of Mobile Operating Systems has advanced this assumption into a law that goes further to state that mobile software needs to be built from the ground up using device specific stacks.

We have discussed the mobile OS fragmentation and important choices developers must make to target the broadest market for their applications. We also have discussed new advances to address this issue with portable stacks and technologies from Google and AOL. But now we may be seeing a paradigm shift from the industry addressing the challenge by improving portability across the fragmented market to simply ignoring the fragmentation altogether. The strategy to accomplish this is to move as much of the application code out of the operating system into a model where the application depends on the internet for its computing power, features and rich user interface (rich internet applications). Companies like Adobe and Microsoft are providing small portable environments (Adobe Flash, Silverlight) that supports graphics, user input and limited functionality and then rely heavily on the application architecture to use internet resources (web services) to accomplish the target functionality and heavy lifting for the application.

This interesting blog entry "Mobile applications, RIP" by Michael Mace, former Chief Competitive Officer and VP of Product Planning at Palm, proposes that mobile applications will move completely to the internet and be run through the browser. The conclusions and advice at the end of the article are alarming:

For the mobile customer Michael advises "make sure your next smartphone has a fully functional browser that can display standard web pages. And get the best deal you can on a flat-rate data plan; you'll need it."

For operators or handset vendors Michael's advice is more of a reprimand "get used to life as a dumb pipe. By trying to control your customers and make sure you extract most of the revenue from mobile data, all you've done is drive developers to the Web, which is even harder to control. You could have had a middle ground in which you and mobile developers worked together to share the profits, but instead you've handed the game to the Google crowd."

And finally for developers Michaels advice is pretty radical, "If you're a mobile developer, you should consider stopping native app development and shifting to a mobile-optimized website." Michael goes on in more detail, "See if you can create a dumbed-down version of your application that will run over the mobile web. If the answer is yes, do it. If the answer is no, try to figure out what technology changes would let you move to the web, and watch for those changes to happen."

If you are watching for the technology "changes to happen" your wait may be over, the code once deploy everywhere environment of Adobe Flex 3 and Adobe Air may be worth a close look.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video