There’s tremendous opportunity for growth in the mobile apps industry and we are right in the middle of a booming industry. The current mobile industry boom reminds me of the dot-com boom more than a decade ago. There’s no limit to ideas and talent and there’s so much potential for growth in this area. People are creating apps for everything, companies are focusing on advertising and monetizing through in-app advertising and in-app purchase. Even mobile hardware are competing to come up with better and slicker design and technology for smartphones and tablets.
I was at AppsWorld London recently and I spent an interesting two days learning a lot about where the mobile apps industry is at, what cross-platform development tools are available and where the mobile apps industry is headed in the future. This will be a two part article. In the first part I will begin by writing about the challenges of cross-platform development for mobile apps. In the second part I will write about choosing the right cross-platform strategies and cross-platform tools.
One of the main success of iPhone, iPad and Android smartphones are the number of apps available for download from the app stores. Everything about the smartphone or the tablet is about the user experience when using the apps. In a successful app store, you can find an app for almost everything you can imagine. These days we spend more time using a smartphone or tablet than a desktop or laptop. Even websites are now designed or re-designed for mobile devices.
Since businesses and individuals are developing apps for almost everything and for every smartphone device and tablet, we as developers have learnt that it is not an easy task to migrate a mobile app for one platform to another, i.e. migrating an iOS app to Android. One of the challenges in mobile apps development is to make cross-platform development as seamless as possible but in reality there isn’t a holy grail solution available for cross-platform development in the mobile app industry. Well, at least not yet.
There are various companies that provide tools and professional services to help port your mobile app from one platform to another. There’s also been a debate about developing in HTML5 or to go native. HTML5 provides a bridge for cross-platform development but it is not always the best solution from the technical perspective.
When you start on a new mobile app project, the first logical decision is to select the framework to develop in, i.e. iOS, Android, Bada, HTML5 etc. When the app is ready and accepted by the app store, the most natural next step is to sell your mobile app in another app store. Ideally we will want to adopt a zero incremental cost of sale strategy. Hence, the search to find the best possible way to migrate your mobile app from platform A to platform B without spending too much effort, time and money. The strategy is to re-use most of the code but realistically there are technical challenges in cross-platform development of mobile apps.
Enough Software, a German mobile development company who specializes in providing tools and services for all mobile platforms shared the following challenges in cross-platform development in a recent presentation at AppsWorld London. Here are the cross-platform challenges that we as mobile apps developers should be aware of:
Programming languages and SDK
Each mobile platform requires mobile developers to learn to code in a different programming language and the SDK released for each mobile platform is different. For example, for iOS app, a developer will have to learn to code in Objective-C and code using the iOS API. If the developer than decides to port the mobile app onto an Android smartphone or tablet, the developer will have to learn to code in Java and use the Android API.
This example is true if the mobile app was developed using the native API. If the app was developed using a more “open” language, i.e. HTML5, then it will simplify the cross-platform migration from platform A to platform B. There are limitations in coding using HTML5 as compared with coding using the native API. I will cover more on this topic in a different article.
Support for multi-tasking
Not all mobile SDK supports multi-tasking. Android, Blackberry and Symbian supports full multi-tasking but iOS, Windows Phone and Bada supports only partial multi-tasking. Implementation strategy must be carefully considered before taking your mobile app from one platform to another.
Battery consumption and GPU performance
The battery consumption and GPU performance for mobile devices are different. When you migrate your mobile app to a different platform you have to test how the app will run on different devices and to measure any lag when using the app.
Support for in-app purchase and in-app advertisement
Different SDKs have different implementation of in-app purchase and in-app advertisement. You have to be aware of the differences and consider the best strategy when doing cross-platform development.
Push strategy
There are different data limit for different devices when using push notification. For example, you can push more data to a Blackberry device compared with an iPhone or iPad.
User interface and user experience
Mobile devices come with different screen sizes and have different number of button on the devices. When doing cross-platform development, you have to design and test for every screen size, navigation keys and if data lookup is required, you have to focus on how to implement web services and how to store data locally. The implementation will be different for different mobile devices.
It is also very important to pay attention on your design philosophies since users of different mobile devices have different expectations of the look and feel and the user experience when using an app on their device.
Cross-platform mobile apps development prove to be one of the biggest challenges for developers today. In Part II of this article I will write about how to choose the right cross-platform strategies and cross-platform tools.
Sphere: Related Content











i like android since it is becoming the norm , it has already many applications
it is too bad apple didn’t use it as well
isma´s last [type] ..Download Avira AntiVir 10
HTML 5 / Javascript mobile apps builder that cuts across a lot of what you discuss in your blog is Application Craft (http://www.applicationcraft.com).
It’s a cloud-based dev platform that does mobile (all important platforms) and desktop on an equal footing. It’s got an IDE that does drag-and-drop / wysiwyg UI building as well as code editing. I guess you could describe it as Visual Basic in the Cloud, but Javascript not Basic. Widget based like VB was, extensible. Open Source with free platform offering.
Phonegap case study called ‘Pain free mobile app development’ is here:
http://phonegap.com/case_study/phonegap-application-craft-pain-free-mobile-app-development/