Loading Form...
Thank you
Mar 23, 2011 | 4 minute read
written by Dennis Newel
One of the greatest obstacles for developing mobile apps at this time is the number of different mobile phones that need to be supported.
Even though the iPhone is currently the most popular platform for apps, it's no longer enough to just support that. Android is a worthy competitor, and the iPad presents different options and possibilities that often warrant developing its own app experience.
To truly embrace a mobile offering, you also need to support Symbian, Blackberry, Windows Mobile and Palm just to cover the most widely used smartphones. But how do you go about developing for multiple platforms?
The ability to create one app and have it "magically" work on all mobile devices is not currently available, though there are a number of companies working hard at achieving this. In the meantime, there are two different approaches, with a third on its way.
One is to provide a "driver" for each phone that provides access to, for example, accelerometer and GPS from scripting languages like JavaScript, Ruby and Python. This way a developer can write the app once in a scripting language (together with HTML and CSS) that can be run on all the phones that have the "driver".
Another is to write the app in one language and then have it "translated" to other languages that can be used on other phones. A developer would then create the app (e.g. for the iPhone) and run it through a tool to produce versions that could run on other platforms.
The upcoming way of creating apps is through HTML5, which is a major extension of the current HTML specifications that, among other things, could provide direct APIs to GPS and other mobile-specific features. The main problem for HTML5 is that the standard has not yet been finalized and very few phones support it. When it becomes widely supported, however, you could theoretically create an app that will run on all phones as well as all browsers (provided they all support HTML5).
There are pros and cons to both the current and future options. The main advantages of using these technologies are speed to market and easier maintenance of one app instead of multiple apps.
Other advantages are uniform look and feel across devices, support for flexible layout (using HTML and CSS at least) and use of known technologies. It's still not easy finding great mobile developers but it very easy to find really good web developers who are familiar with HTML, CSS, JavaScript, Ruby, Python or other scripting languages.
The main disadvantage, besides not yet supporting all platforms, is that you're restricted by what the "driver" or "translator" is able to handle. You may not be able to access local storage (this will be part of HTML5), Bluetooth, Wi-Fi or similar that may not be available on all phones. There's also the issue of performance, since the code (either translated or written in a script language that needs to be interpreted) may not be optimized for a given phone.
Titanium
Ramp
J2ME Polish
PhoneGap
Grapple
Open Plug
Rhomobile
Can’t get enough mobile? Our own Executive VP of Elastic Path, Mark Williams, will be representin’ at the Mobile Shopping Spring conference along with panelists from eBay, Fandango, Amazon and the Children’s Place. You can catch the session Impending ‘Disruptive’ Moments: Developing A Mobile Channel Strategy That Embrace’s Change Friday, April 29th in San Francisco.