Before we start let us define what is a hybrid and what is a native app.

A native app is an app designed specifically for one operating system (OS) following the specific OS guidelines. You would generally need a separate codebase for each different operating system. (NativeBase and perhaps other frameworks is an exception)

A hybrid app is an app designed to run on multiple operating systems and generally use web technologies to provide a common user experience. They generally have a common codebase.

As a developer what should you choose for a project? The answer is you don’t. The person who chooses is the client. The clients decision is usually based on functionalities, budgets and/or time constraints. If you happen to be the client and developing an app for yourself then the answer is easily determined by asking yourself these questions.

1) Is it a trivial application?
If no, go native

2) Do I want to write the best app possible in terms of performance and user experience?
If yes, choose native

3) Do I want to get something available to as many people as possible in the shortest amount of time?
if yes, consider hybrid.

4) What stage of app development am I expecting. Is this MVP or a complete product?
IF MVP stage, hybrid may be more viable option.

In some cases the answer will be go native. Hybrid is useful when you want to create a quick prototype or need a fast ‘go-to-market’ product. It is also useful when you want to maintain a single codebase. However, for long term growth of your app, native is the way to go. Here are some reasons I think this is why:

* The operating system vendors have a vested interest in keeping you on their platform. They have no incentive to help you move away from their platform by means of a hybrid app.

* At some point in the software life cycle you may decide to switch your hybrid app to native. Perhaps for better performance or simply to overcome a bug that could not be resolved otherwise. In either case the decision to go from hybrid to native is generally something critical. Whereas the decision to go from native to hybrid is based on something less critical – like the convenience of a common code base.

For clients with a new idea a good strategy is to develop their app as a hybrid first to guage the demand with lower cost. Once they have established a market and revenue stream they can then determine if the app warrants further investment.

Ultimately the decision to opt for hybrid or native is largely taken on a case-by-case method. As a mobile app agency we seek to first understand the technology required for your app. This is also a crucial step in the process.

Want to debate it further? Leave a comment with your thoughts below