Native applications are built to run on a specific mobile platform – iOS, Android, or Windows Phone. Code is written directly for the specific hardware, and can’t be ported directly from platform to platform. Development tools used to build native apps are typically provided by the owner of the platform. For example, iOS apps are typically built using Apple’s XCode. Google’s official platform for Android development is Android Studio. For Windows Phone it’s Visual Studio.
Native apps can take full advantage of all of a device’s built-in hardware. Because the apps have been written specifically for each device, they offer high performance are particularly important for games, and also useful for graphics and media apps.
There are drawbacks, though. Developers with skills for writing native apps are in short supply, and charge top dollar. Those costs aren’t just for the initial app. Apps need constant maintenance and bug-fixing. They also need to be updated regularly. So the high costs tend to be ongoing.
Unlike native applications, these aren’t downloaded as apps onto mobile devices. Instead, people visit a web page on a mobile browser to run them. These are full-blown apps, with the interactivity and features you’d expect. Web apps can also make use of some mobile hardware such as GPS, although the support tends to be limited for sensors.
They’re easier to build than native apps because they use the same skill set as that for building non-mobile Web pages. It’s easier to find Web developers than it is to find developers of native apps, so there’s a larger pool of talent from which to choose.
There are some drawbacks. Web apps aren’t always able to take advantage of sensors on every device. They also don’t have access to a device’s contact lists and other kinds of data. Because they’re not distributed on app stores, it may be difficult to get new users to find them.
Making the decision
To decide, you need to take a long look at your mobile needs, resources, and timeline, says Forrester analyst Michael Facemire.
For now, native apps are best for companies that are building consumer-facing apps, need their design and interface to stand out, and want top performance, for example, for games. Web-based apps are best-suited for internal apps, B2B and internal apps. Hybrid apps take the middle ground between the two, allowing apps to look somewhat like native apps, but are built using Web standards.