A native application or a native app is an application program that has been developed for use on a particular platform or device.
Native apps are specific to a given mobile platform (iOS or Android or Windows) using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android). Native apps look and perform the best.They are built keeping in mind a particular platform and the features unique to that device.
In a world that’s increasingly social and open, mobile apps play a vital role, and have changed the focus from what’s on the Web, to the apps on our mobile device.
Native apps often cost more to develop and distribute because of the distinct language and tooling ecosystems. The developer is expected to have expertise in the platform specific languages which require more investment in developer skills if you need to develop for more than one platform. The cost of app maintenance and app updating is also higher for native apps, especially if this app supports more than one mobile platform.However, cost is dependent on many other factors as well, so native apps won’t be the most expensive option in every case.
In a nutshell, native applications provide the best usability, the best features, and the best overall mobile experience at a greater development and maintenance cost. There are some things you only get with native apps like Multi touch ,Fast graphics API ,Fluid animation ,Built-in components ,Ease of use and Documentation