Mobile application development explained: Best practices for Android and iOS platforms

By IBM Cloud Education

  • Focus on a single OS platform — or enhance efficiency when developing for both Android and iOS
  • Understand the unique requirements and limitations of mobile devices
  • Offload app processing to the cloud to avoid taxing user devices
  • Join one or more developer programs to tap into key resources and prepare your app for distribution

Mobile app development is rapidly growing. From retail, telecommunications and banking to insurance, healthcare and government, organizations across industries must meet user expectations for fast, convenient ways to conduct transactions and access information. Today, mobile devices are the most popular way for people to connect to the internet. To stay relevant, responsive and successful, organizations need mobile apps. 

Yet mobile app development might seem daunting. Once you’ve selected the OS platform or platforms, you need to overcome the limitations of mobile devices and usher your app all the way through the potential hurdles of distribution. Fortunately, by following a few basic guidelines and best practices, you can streamline your development journey.

To learn more about the specifics of developing either platform, read our articles on iOS app development and Android app development.

To explore mobile app development, IBM offers a simple tutorial on building a voice-enabled Android-based chatbot.

 

Choose a platform

Many independent app developers choose to build their apps for Android. Why? The vast majority of smartphones run Android; Android development is often easier than iOS development; Android development does not require owning a Mac (which would be more expensive than a PC); and the Google Play store has fewer restrictions than the Apple App Store. 

Of course, depending on the intended use case for your app, you might have other considerations. For example, if you’re designing an app for your organization’s employees, you’ll need to support the platforms they use, even if that means developing for both Android and iOS. Or if you’re building a mobile app for your customers — and you know that the majority of your customers use iPhones — iOS will have to be top priority.

Mobile development platform and management tool integration

Enhance efficiency and tighten security by integrating the development platform and device management tool

Develop for both Android and iOS: Native or hybrid?

Let’s say you need to develop for both Android and iOS. What’s the best approach?

You could develop two native applications. Taking advantage of native APIs and OS-specific languages can help you build a powerful app. Most enterprise apps, especially ones that require substantial API traffic, benefit from native development. 

If you decide to develop native applications in serial, you’ll likely want to begin with Android — for some of the same reasons that independent app developers often focus on Android. You’ll probably have better luck developing the full application as a proof of concept on Android and then converting it to iOS after release. 

Of course, you will still need to rewrite the code for the native language and redesign the user interface because the different operating systems function very differently — from navigation to the units used to measure fonts. You can’t just port your entire application and have it automatically look the same across both platforms. 

So, why not start completely from scratch? While you can’t simply recompile the code into a new language, much of the back end can be replicated across platforms. Frameworks, libraries and third-party extensions often function identically in either environment, allowing you to avoid costly rework. You can also use a pre-built mobile cloud service, such as IBM Mobile Foundation, to manage the web back end. 

Another option is to go hybrid. Hybrid applications use a single codebase that can function on either platform. They’re typically coded in a language that’s universally recognized, such as JavaScript, HTML or CSS. Because you’re denied access to the operating system’s native APIs, hybrid development works best for simple applications — three- or four-page applications with limited functionality.

 

Think light: Building for a mobile platform

Whether you choose native or hybrid development, one of the first hurdles you’ll need to overcome is the relatively limited resources on mobile devices. Your target mobile device will have much less processing power and memory than desktop computers or enterprise servers. These constraints might seem like a significant challenge, especially if you’re more familiar with the comparatively boundless resources of conventional development.

Limited mobile platform resources mean you need to adjust your goals for your app. Your mobile app must be less resource-intensive than a desktop application. 

Your user interface should also be simpler for a mobile app than a desktop application interface. By creating a straightforward interface that is focused on critical functions, you can provide a better user experience while consuming fewer resources. 

And of course, your mobile app interface should be designed for touch. Mobile users must be able to navigate your app easily and provide input without excessive typing. 

Fortunately, these requirements for efficient, simple touch-based apps map well to user expectations. Mobile users generally want to accomplish tasks simply, with just a few taps. They want apps that are above all fast, convenient and easy to use on their mobile devices.

 

Offload processing to the cloud

What if your mobile app requires more processing than a typical mobile platform can support? Consider offloading that processing to the cloud. 

Through the judicious use of APIs, you can connect your app to cloud-based services and databases to provide advanced functionality without slowing your application or straining the device it is running on. You can even offload data storage and caching to a cloud-based server, leaving very little data on the device.

 

Extend your app with advanced cloud services

The cloud can offer additional advantages beyond performance boosts. Connect your app to powerful cloud services to add features and improve usability. Employ APIs to integrate new features. IBM Cloud™ offers a number of advanced cloud-based services that can help you enhance your apps, such as push notifications, IBM Watson®-powered AI analytics, Internet-of-Things (IoT) smart device integration and more. 

 

Join a developer program

Neither Android nor iOS is a completely open environment. Before your application can be officially distributed, you’ll need to join the appropriate developer program. 

The Android developer program lets you use your existing Google account to create a developer account, pay the $25 fee and submit your application. Google Play (the official Android store) does have quality standards that must be met prior to publication, but they’re more guidelines than actual rules. You can also distribute your applications outside the Google Play store and allow users to directly download and install them.

By contrast, the Apple developer program sets a higher barrier to entry. You need to pay a $99 per year program fee and adhere to high quality standards. Once you’re a member of the program, you get early access to beta versions of the operating systems and proprietary frameworks or APIs. Meeting the high standards for the App Store also signifies to the world that you’ve developed a high-quality app. 

 

Move forward

Mobile app development is a foregone conclusion for most enterprises. When you build your application with both operating systems in mind, make judicious use of APIs and understand the specifics of the required developer programs. That approach will help you deliver an app that’s flexible, convenient and lightweight — the perfect way to serve information or services to your users.

To learn more about the specifics of developing either platform, read our articles on iOS app development and Android app development.

To explore mobile app development, IBM offers a simple tutorial on building a voice-enabled Android-based chatbot.