Is Cross-Platform Development Right for You and Your Mobile Medical App?

Your company has decided to create a mobile medical app. Perhaps it will monitor your medical instrument, streamline the workflow of a health care practitioner, improve patient compliance, or educate patients. When you come to us to develop your app, we’ll ask a series of questions to determine your requirements.

One of the first questions we’ll ask is, “Which mobile platform do you want to support: Android, iOS, or both?” (Although there are other options, Android and iOS have the lion’s share of the market and my focus will be on supporting these two mobile platforms.) If you answer “iOS only” or “Android only”, our follow-up questions will be, “How likely is that to change?” and “Have you considered the possibility of supporting the other platform in the future?” Having managed multiple mobile development efforts, I have found that thoughtful and early consideration of these questions is essential for choosing a cost- and time-effective means for development. In fact, one of my current clients initially targeted a single platform and is now facing the possibility of supporting the other platform. Fortunately, we had discussed and agreed on cross-platform support before development began.

Regardless of whether you are considering supporting or will definitely support both platforms, what development environment is right for you and your mobile app? The options are to use the native environment, for “just iOS” or “just Android”, or a cross-platform environment which will support both.  Let’s explore cross-platform development.

What is cross-platform development?

Cross-platform development is essentially using a single language to create your apps for the target mobile platforms rather than the native development environments. The languages can be C#, HTML, or JavaScript, for instance; it depends on the choice of cross-platform tool. For a variety of reasons, Syncro tends to recommend the use of Xamarin Studio for our client projects. (That’s what we used for that client I mentioned earlier. So, rather than rewrite the entire app, we’ll only need to create a new UI and service layer in order to support the other platform). While the details here apply to Xamarin, most of them will apply to other commonly used cross-platform tools, such as PhoneGap and Appcelerator Titanium.   (The difference between these tools and their relative advantages and disadvantages is a conversation for another day.)

Why Use Cross-platform Development?

The primary reason for cross-platform development is to have common code across platforms.  Since development uses a single software language, a significant portion of the code is common to all platforms.  Common code written in a single language has many benefits:

What trade-offs accompany cross-platform development?

I know what you’re thinking. “That all sounds great, but what am I giving up?” Well, just like everything else in engineering, there are trade-offs. Some of them depend on the selection of the cross-platform tool. In general, you should consider the following when choosing whether or not to use a cross-platform tool:

What else to consider?

Since all things are never created equal, cross-platform development has some nuances to keep in mind:

With some cross-platform development, a unique UI for each platform is created. This can certainly be a benefit because creating apps that make use of familiar native features will typically increase the app acceptance.

Where to go from here?

There are two primary environments for developing mobile apps: cross-platform and native.  As discussed above, cross-platform development generally saves you time, effort, and money. However, cross-platform development may not be appropriate for all scenarios. Nevertheless, for large mobile medical apps that are likely to run on both Android and iOS devices, cross-platform development should strongly be considered. Since multiple cross-platform tools exist, the remaining task is tool selection.

author avatar
Rose Marcantonio
Rose Marcantonio is Director of Quality and Process at Syncro Medical. Rose has been working as a software engineer and manager in the Biomedical Industry for more than 25 years, first in medical research and subsequently in medical device development. During her 15 years in leadership roles at Syncro Medical, she has managed a variety of development projects for instrument and systems software as well as mobile devices. Rose leads Syncro Medical’s quality assurance effort and focuses on improving internal project management and agile processes. She is a Microsoft Certified Technology Specialist. Rose holds a BSEE and an MS in Biomedical Engineering. Outside of work, Rose enjoys crafts and gardening and is an avid community volunteer.