Health and fitness apps on Apple iPhone 5SBy Scott J. Pearson. Scott develops medical research software currently with Project REDCap. He has written four medical apps for healthcare institutions and lives in Nashville, Tennessee.

So you have this new great medical app idea, but no clue how to pull it off. Perhaps you have some money to hire a developer; perhaps you want to do it yourself. You’ve never dealt much with software development, much less mobile app development. And it can all seem pretty overwhelming pretty quickly.

Here’s a quick primer on the basics of app development for healthcare professionals.

Native Apps: The good, the bad, and the ugly of health & medical apps

Let’s start with some basics about so-called native code. Apple products are more popular among US medical folk; Android has a much larger worldwide audience (1 billion people). If your target audience is those with Apple products (iOS platform), the app will be developed in either the Objective-C or Swift programming languages. Swift is a new language that makes writing iOS software quicker and easier. If your target audience is those with Androids, the app will be developed in Java. This language can get relatively complex with the intricate hierarchy of classes in the language that allow a programmer to get things done.

Developing an app with native code gives you the most flexibility in terms of design and functionality. You’ll be able to use all of a device’s capabilities with a native app, like the camera, microphone, contacts list, and so on. They also tend to have the most responsive user interfaces.

The biggest downside here is cost. The most basic, simple app will probably approach $10,000. And that’s just for one operating system.

There must be another way! Doing both at once

Don’t panic though, there are other options. Because of development costs, sometimes it’s easier to use a platform to develop for many devices at once. You can write one set of code in one language and deploy to multiple platforms (Android and iOS) instead of writing two sets of code (one in Objective-C/Swift and another in Java).

Appcelerator uses JavaScript and has a good reputation for user interfaces. Adobe’s PhoneGap/Cordova/Ionic also uses JavaScript. These platforms use a middle interpretive layer to translate into the underlying Java for Android or Objective-C for IOS (or other languages). If you need to write high-performance code (for say, encryption), you have the option of writing a plugin in the native code. Databases are available for these, too.

There are other tools available – like Kiwi (using Python) or others for C# (a popular.NET language supported by Microsoft).

Whatever you use, make sure that the appropriate tools are available before writing. For example, you might want to ensure that you have the appropriate level of database support available if that’s what you want, or video capture, or email access, etc. Different platforms offer different capabilities.

You will still distribute via Google Play and for-pay in the Apple App Store. You will need devices on both platforms to test.

Battle Royale: iOS vs. Android

There are a lot of benefits and downsides to each platform; going over them all is way beyond the scope of this article. But here are two important ones for first-timers to consider.

First, there’s the issue of cost. If you go iOS, you will have to pay a launch fee (ranging from $99-$299, but only $99 for individuals) to the Apple Developer Program. Also, a Mac computer or laptop is advised to make development easier. If Android, you will launch through the Google Play Store for free.

Second, there’s the device issue. With either iOS or Android, you will probably want to buy a device or two of different sizes. But keep in mind that Android has hundreds of device options, so there is no way to test them all without paying for a service.

Finally, consider the device your audience is most likely to use. Healthcare professionals favor iOS devices by pretty big margins. However, Android has the majority of the general market, particularly if you’re looking at worldwide numbers.

What about web apps?

A final option is the mobile web. This is simply a website. It requires continual online access, which is not always available. And users tend to dislike the mobile web compared to native apps in part because mobile devices’ Internet access can be slow or spotty. And while mobile optimization has come a long way, it still can’t match the capabilities of a native app.

Development costs can be significantly lower especially if a responsive website, a website that has the same content from the server but is formatted differently for different screen sizes, is built. The web has a bunch of tutorials on how to do this. PHP or .NET are preferred languages for building such websites. If you anticipate a smaller audience with no offline needs, this approach may be your best bet.