In today's fragmented mobile world, choosing the right application development strategy is a big challenge.Traditional approach to mobile application development has been either purely web based or purely native for specific platforms. Increasingly we are arriving at hybrid approach which allows parts of the application to be developed using web technologies and parts using native bringing together the native experience and developer productivity. This blog provides comparison of these three mobile development approaches with various pros and cons.
Native applications are built for the specific platforms. For example applications running on IOS (IPhone, IPad) are built using Objective-C language and those on Android are built using Java. The advantages of native applications are better performance, great user experience, monetization, ability to access device specific features, ability to continue using the application in disconnected mode. Applications can be hosted in device providers market place such as Google Play and Apple AppStore. Biggest challenge with this approach would be to develop the application separately for each platform and longer time to market. Developer productivity becomes an issue, as it requires different skills for each device target.
Hybrid approach brings the best of both worlds. These applications may be composed of web code as well as native code and you can package your web code with the native shell and deliver it via regular channels such as AppStore and Google Play. It allows you to reuse your web skills and also provides access to device specific features. Disadvantage of this approach is that it's more complex and if not development properly managed will quickly turn to be release nightmare.
So the right approach to choose for the developer actually depends on the requirements like rich user experience, time and skills required for development, monetization etc.