RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Start Your Engines: Mobile Application Development : Page 3

A fifth of the world's population will soon have a mobile device and access to the Internet. With that many potential users, is an explosion of mobile applications inevitable? If so, what technologies will lead the way in their development?

Can You Make It Rich?
If thin-client development on micro-browsers makes sense, the next logical step is to ask if these same applications can be made rich. Rich Internet Applications (RIA) is a term coined to describe web applications that look and feel like desktop applications from a user interface perspective.

Author's Note: Microsoft prefers the term Rich "Interactive" Application because some applications are used internally to organizations and never use the Internet, per se.

It stands to reason that mobile users will want, and perhaps demand, a richness that comes close to the features and interactivity they get with desktop applications. This may sound impossible, but RIA is the current mobile development battle ground, with all the "big boys" (including Microsoft, Sun, and Adobe) offering their own solutions and vying for the hearts and minds of the thin-client mobile developer. In fact, collectively, mobile RIA has been dubbed Mobile 2.0. Unlike their desktop counterparts, mobile RIA solutions are not always integrated as part of the browser. So each technology/RIA application may require users to install yet another engine the mobile device in order to load and display. This certainly blurs the line between RIA applications and other native or resident applications for the mobile device. So what are the options for RIA on mobile platforms?

Flash Lite
Adobe's Flash Lite is a scaled-down version of Adobe's ever-popular Flash Player that is engineered specifically for mobile devices. Learn more about Adobe Flash Lite from this DevX.com article.

What Should You Know About It?
This RIA technology provides access to a mobile device's features, including Bluetooth, camera, microphone, and GPS. Developing with Adobe Flash products is considered easy, and a large and active community is available for support and help. Flash Lite's strength is that it uses vector-based graphics (although it also supports bitmapped graphics) which scales well on screens of varying resolutions—but sometimes at the cost of poor performance. You can conveniently convert desktop Flash content to mobile Flash Lite displays with minimal effort, which helps if your organization already uses a lot of Flash on its web site or in its web applications. Flash Lite can also run on top of other runtime environments such as Java ME or BREW.

Flash Lite has not been widely available on mobile devices outside of Japan and Korea, but this is rapidly changing. Adobe's 2007 Financial Analyst Meeting notes indicate that over one billion handsets will include Flash capability before the end of 2009. Access to Flash Lite content can be expected to blossom as more carriers and devices support the platform. Most of the major cell phone providers (LG, Motorola, NEC, Nokia, Sony Ericsson, etc.) now ship with products that have Flash Lite pre-installed.

It stands to reason that mobile users will want, and perhaps demand, a richness that comes close to the features and interactivity they get with desktop applications.

Straight from Microsoft's Silverlight web site, Silverlight is described as: "a cross-browser, cross-platform, and cross-device plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the web." What does that mean? Well, Silverlight is intended to be a competitor to Adobe Flash. However, instead of compiled applications (such as Flash delivers), Silverlight applications are delivered to the browser in the form of Extensible Application Markup Language (XAML), which is an XML-based language. The XAML is then read and used by a browser plug-in to display rich content. The plug-in reads the XAML files, which can declaratively specify the UI, and play MP3, WMV, and WMA files without a Windows Media Player or the WMP ActiveX control. Microsoft is expected to make Silverlight available for use with some mobile browsers.

What Should You Know About It?
On the positive side, because XAML is text and not a compiled file, supporters say Silverlight applications will be more "searchable" via engines like Google than Flash applications. Silverlight 1.0 is expected to be released for mobile platforms (specifically Windows Mobile 6 platforms) to the development community in mid-2008 with general release scheduled for later 2008.

Author's Note: There is a Silverlight 2.0 for larger platforms, but it is not expected to reach the mobile platform until 2009 at the earliest.

Silverlight is still a very young platform. Needless to say, while there's a lot of hope for Silverlight in general, and Silverlight on the mobile platform specifically, the technology is still in development—read probably "not ready for prime time" yet. One big question is whether Silverlight clients will be supported on non-Windows platforms (and specifically non-Windows mobile platforms). The European Committee for Interoperable Systems has already questioned Microsoft's "cross-platform" support with XAML-related technology. Finally, while XAML is just XML, most developers will want a XAML-aware integrated development environment (IDE). Today, only Microsoft's Expression Blend and Visual Studio are equipped to develop Silverlight applications.

You can learn more about Silverlight from this DevX article.

JavaFX Mobile
JavaFX is meant to compete with both Silverlight and Flash. JavaFX is a family of products initially comprised of JavaFX Script and JavaFX Mobile. JavaFX Script (JavaFX for short) is a scripting language meant to provide rich user interfaces using syntax that resembles JavaScript and Scalar Vector Graphics (SVG). As its name implies, JavaFX Mobile is intended to be used on mobile platforms. See my August DevX.com article to learn more about JavaFX technologies.

What Should You Know About It?
JavaFX Script is a scripting language that runs on top of a Java runtime. JavaFX resembles Java, JavaScript, and other scripting languages in some of its syntax, but developers can also use the standard Java syntax and make use of an extensive set of Java APIs. Sun claims that Java is the most ubiquitous application platform for mobile devices and can be found on over 2.1 billion devices—a lead it does not intend to give away to the likes of Silverlight or Flash technology. However, where Silverlight on mobile platforms may be considered a young technology, Java FX is, in fact, an infant technology.

Back in August of 2007, I wrote that Sun was still working with device vendors to bring JavaFX Mobile-capable devices to market in 2008, and that even development tools were still a few months off. In July of 2007, Jacob Lehrbaum, Sun's JavaFX Mobile product line manager, said in a podcast that "it's a little bit early to start working with [JavaFX Mobile] as we are still defining the platform and building out some of those capabilities." To date, no major announcements on device or development support for JavaFX Mobile have been made. Sun typically introduces many product versions and makes many announcements at its annual JavaOne conference held in May. Look to that conference for updates to JavaFX and to get an indication of when JavaFX might be ready for primetime use:

Mobile AJAX
First, for those unfamiliar with AJAX, it is the combination of these common technologies and techniques for creating RIA web sites and applications.

  • XHTML and Cascading Style Sheets (CSS) for presentation
  • Document Object Model (DOM) for dynamic display and interaction
  • XML and XSLT for data interchange and transformation
  • XMLHttpRequest object for browser-to-server communications in synchronous or, more commonly, asynchronous fashion
  • JavaScript to perform the calls and conduct most of the work.
You can learn more about AJAX from this collection of articles and information.

Mobile AJAX is nothing more than AJAX used on micro-browsers, in other words, mobile AJAX is just AJAX. Those who believe that writing native application software is the wrong approach to mobile software development (and that native mobile applications are on the way out) may find additional support for their case in "mobile" AJAX. Some micro-browsers do not provide all the necessary technologies and standards (such as JavaScript, CSS, and DOM) required to create usable AJAX applications on mobile devices. Increasingly, however, and as discussed earlier, many do. Opera Mobile and Mini (version 4), Access NetFront, IE Mobile, Mozilla's Minimo, some OpenWave browsers, as well as the browsers on the Nokia S60 and the iPhone, all run AJAX, albeit sometimes with limitations, as discussed below.

What Should You Know About It?
The micro-browsers listed above typically fall on mobile devices classified as smart phones or PDAs (or both). Even on these devices, some limitations of AJAX technologies on the devices can lead to issues. For example, JavaScript is limited to five seconds of run time on the iPhone. Also, DOM manipulation and extensive JavaScript execution can tax the devices' CPU and memory—which can impact the device's performance and quickly drain its power supply. But as the capabilities of mobile devices increase, the availability and use of AJAX in all its forms may also increase. In fact, mobile AJAX may actually help resolve some of the issues associated with mobile browsing. For example, AJAX can be used to make it appear as if the content loads faster by loading only the necessary parts of a page (typically much smaller), on a mobile device. Also of note, in September of 2007, the World Wide Web Consortium (W3C) and the OpenAJAX Alliance held a workshop on Mobile AJAX. Standards bodies and industry consortiums of this nature can help remove obstacles and add to a technology's success on any platform.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date