In their lawsuit against Samsung, Apple accused Android of practically being a copy of iOS. That means it should be easy to create cross-platform apps which work well on both Android and iOS, right? Well, maybe notâ€”ask any mobile web designer about the challenges of developing for multiple platforms and youâ€™ll get an earful.
Mobile Web Designers Explain The Paradox Of Compatibility
HTML5 and cross-platform development kits have made it easier than ever before to build apps from a single codebase which work on both Apple iOS and Google Android devices (and Windows 8 too, to a lesser degree). But app developers face a set of problems reminiscent of the problems standard and mobile web developers face when building websitesâ€”although all browsers claim they support standards, each one has its own quirks.
Aggravating the problem of web browser quirks, as your friendly mobile web developer will point out, is the inconvenient habit of old web browsers to stick around long past their expiration date. Lots of people are still using Internet Explorer 7 (IE7), and up to 15% of people using Firefox and Chrome arenâ€™t using the latest versionâ€”and those are just software programs, which are much easier to update than mobile devices.
Like web browsers, mobile devices have each have their own quirks, and so an app developer, like a mobile web designer, will need to spend time writing what programmers call ifdef statements to make cross-platform apps function correctly on each platform.
The Alternative: Going Native
Faced with the overhead of cross-platform development, some businesses decide they donâ€™t want to be the mobile web designer of the software world, so they make the same decision many large corporations made years agoâ€”focus on one platform and force all of your customers to use it or go somewhere else. In our website analogy, these are the old-style web applications which require you to use a particular version of Internet Explorer and ActiveX because thatâ€™s what the website was written for.
Targeting a particular platform has a number of benefits, chief among them is saving time because you donâ€™t need to fix bugs caused by platform incompatibility. This can significantly speed up development and get your app to market faster.
Another benefit is itâ€™s sometimes easier to integrate native apps with their operating system, although how much easier depends on several factors.
But as you contemplate the benefits, your mobile web designer friend will point out that the going-native strategy didnâ€™t work out too well for a bunch of businesses which built IE-only websites. Only about 20% to 25% of typical website traffic still comes from IE, and most businesses who depended on website sales either switched to a cross-platform design years ago or withered and died.
Lots of money is spent every year on mobile web designers precisely because cross-platform support is necessary, and more and more money is being spent every year on cross-platform development because itâ€™s more and more necessary.
This is especially true with the introduction of Windows 8 which looks like it will become the third big mobile platform, which means both your friendly mobile web designer and your app development programmer will probably soon be working hard to create apps which can run on iOS, Android, and Windows 8 without too much extra work.