Hybrid and Native are two popular ways of creating mobile apps. Both methods can and have created great, popular apps, but there are pros and cons to each.
Native apps run on a device using its built-in, native user interface. That means all of the buttons and widgets are rendered by the operating system. This allows for a slightly faster user interface experience. Native apps always have to be run on a simulator or a real device, so they can be more difficult to debug and generally take longer to develop. Additionally, making native apps cross-platform can involve modifying a lot of code or completely rewriting the app for each operating system. Xojo, React Native and Appcelerator all produce native apps, although they have good systems in place to reduce the headache of coding for multiple platforms.
Which to Use?
To decide which to use, consider these questions:
Is your app complex? - If your app will only have a few pages, or static content such as an app version of an existing website, a hybrid app works very well. If your app is storing lots of data, doing statistics or other intensive work, a native app is better suited.
What is your budget and timeframe? - If you are looking to get an app developed quickly on a lower budget, consider a hybrid app which will save money and time.
Will the app be free or paid? - Many users won't notice the difference between hybrid and native, but I strongly recommend that paid apps be created native to give customers the best possible experience and improve your ratings on app stores. It is worth the extra cost.
Do you need to target platforms other than iOS or Android? - Hybrid apps created with PhoneGap can work on many, many different operating systems like Windows Phone, FireFoxOS, etc.
I am happy to give my recommendation based on your project description, or give you multiple estimates for both hybrid and native versions of your app.