Cross-Platform Mobile App Development Is a Significant Challenge
An interesting article titled “As Apple shares slide, Research in Motion rises,” was published in the Washington Post late last week. This article, which highlighted that Apple’s stock lost nearly 25% of its value while RIM’s doubled in price this past quarter, conjured up a couple of thoughts in our heads: 1) “Really?!?!” and 2) “Wow, the mobile world can change on a drop of a dime, how does anyone keep up?”
A few years ago, RIM ruled the smartphone roost. Then the iPhone and iOS took over. Then Android entered the market in a big way and now leads in global market share. Just a few months ago, Windows Phone was hyped as the new kid on the block. In the meantime, HTML5 was deemed the savior of the mobile web. Now RIM might make a comeback with Blackberry 10? Really?
If you’re a business looking to develop a mobile application, this problem of technological change is compounded. Which platform do you develop for first? For how many platforms do you develop? Do you use a cross-platform development tool like PhoneGap or Titanium, or do you build individually on each platform? Do you develop a separate mobile website as well? Do you develop internally or outsource? How do you manage all of this?
Most experts would say that you should develop for iOS first. But Apple’s strict approval process may make this a time-consuming, costly choice and your app may get lost in the ocean of apps on the App Store. Android has a less-stringent approval process and more of an open-sourced philosophy but suffers from hardware fragmentation. Microsoft is making it easy to develop for Windows Phone and your app has a better chance of standing out in the crowd, but will this platform be around in a few years? Will Blackberry cease to exist as well? And if you’re generating revenue from your app, each platform has different financial rules to consider.
Once you make those decisions, a potentially tougher issue is finding developers or app development shops that have the expertise to develop across multiple platforms. Each platform has a different API and development environment. Form factors differ significantly and each platform allows for different features. Even if you are building an HTML5 based application, it’s not guaranteed to be 100% “cross platform”. Every phone out there could potentially support more or less of the HTML5 spec than others. Even something as standard as Cascading Style Sheets (CSS) can vary from phone to phone, and what looks great on one phone may end up looking very different on another. It’s difficult to understand each platform’s quirks and subtleties and be proficient in developing for all of them.
As you can see, there are a plethora of issues to deal with and many decisions to make when developing a mobile app. And with the speed at which mobile technologies are moving, what you decide today may not hold true tomorrow.
Like this post? Please share it! Then follow us on Twitter – @thorntech – and sign up for our email list below for future updates.
[grwebform url=”https://app.getresponse.com/view_webform_v2.js?u=BK4gP&webforms_id=2886304″ css=”on” center=”off” center_margin=”200″/]