Native app development requires a unique skill set. Most people assume that any developer can jump in and build an app but that is simply not the case. While mobile devices have been around for years the technology they are built on is changing even more rapidly then most web development languages. When you also consider that each mobile device manufacture controls the platform (language and development standards) you start to understand how complicated it can be. A big question our clients bring to us is "Should I build a native app or a mobile web application?" It's a great question and the answer is "It depends."
Native App Development Advantages
Some of the primary advantages to building a native web application are:
- Access to more robust parts of the device: While HTML5 is quickly adapting to making mobile websites have access to more features on the phone, like the camera, there are still plenty of pieces of functionality that a native app simply has access to. For instance the Accelerator in a phone requires a native app as of writing this web page.
- Speed: If you have an application that really need to function extremely quickly a native app will almost always perform better
- Better offline mode: If you need to use an application without an internet connection you must build it as a native app. Yes there are some tricks to make a mobile web application work without the internet but those are still mostly tricks and not practical for business applications.
- Games: If you want to build out complex graphics, animations, sounds and tactile feedback you need a native app
Native App Development Disadvantages
- Cost: You spend more developing the application if you want to use it on more then one OS. For instance Android and iPhone. If you want to make it work for Windows and Blackberry too you are talking about spending significantly more
- Maintenance: A web application is built primarily using HTML which is a standard that is well supported. Native apps are subject to the whims of the OS provider. They may break when an update is pushed or might not work on the next generation of phone or tablet.
- Install Requirement: A web application lets anyone open it and start using it. Native apps have to be installed
- Approval Process: If you have never taken an app through Apple's approval process you simply can not guess at how annoying and long the process can be.