Native Apps: In mobile native apps are very common. Native apps mean applications that are written specifically for type of mobile devices. Native apps can take advantage of mobile phone’s functionalities. Native apps can be downloaded and installed. Main disadvantage of native app is if you want to develop same application for different smartphones like iphone, android, blackberry, etc., you have to write apps in different languages in different platforms. For blackberry and android you can take little benefit of java but iphone is completely different it uses objective c.
Pros of native apps:
1. You can take advantage of hardware features of devices.
2. You can sell your application on app stores.
3. User can download and install your app.
Cons of native apps:
1. You have to use different platforms, SDK’s, languages for different mobile platforms.
2. You have to pay to become iphone or android or blackberry developer.
3. You have to maintan different builds for different mobile platforms so maintenance, debugging will be slow.