
Wouldn’t it be nice if you could write some code (HTML5, Python, Ruby, etc.), send it off to application stratosphere, and have your app work magically across all platforms? That’d be great. Unfortunately, however, that’s not how the mobile world goes round. And the question I posed in the title, should you create mobile apps for multiple platforms, is less relevant than how it can be done.
One of the greatest obstacles for developing mobile apps is simply the amount of smartphones on the market; Android, iOS, Blackberry, Windows Mobile, etc. – all with different platforms and different app requirements. While the iPhone app store may be the most robust, Android is not far behind. Not to mention what happens when you throw tablets into the mix. When I first got by iPad, I downloaded my iPhone games only to find that I was looking at an iPhone sized screen on an iPad…less than ideal!
There are a couple different approaches that are currently accepted while the little elves work on their “magic-all-device-inclusive-app-creator” (I’m guessing the elves live in Silicon Valley and are working with HTML5).
- Provide a “driver” for each phone that provides access to scripting languages like JavaScript, Ruby and Python. This allows the developer to write a app script once in the desired language (along with HTML and CSS) and run it on all phones that have the “driver”.
- Write the app in one language and have it “translated” to the languages supported by other mobile devices. A tool would then take care of translating the app while the developer would cross his fingers that not too many bugs will arise in the process.
The Pros and Cons
There are pros and cons to both options that I listed above. The main advantages are obviously speed to market and easier app maintenance. In addition, you can ensure a uniform look and feel across devices, support for a flexible layout and use of known technologies.
The main disadvantage, besides not yet supporting all platforms, is that you are restricted by what the driver or translator can handle. There is an added issue of performance (as I hinted above in point 2) that the code will likely not be optimized for every phone it’s translated to harming the users experience.
So to answer my question, should you create mobile apps for multiple platforms? Absolutely. How? That’s up to you, at least as long as our little HTML5 elves are still cooped up in their workshop.