Mobile App – Go for Native or Web (HTML5) based?
As the reach of smart phone increases in a very rapid phase, the software industry is turning towards building up all possible kinds of applications in this relatively new mobile technology. There exists a very healthy competition between different mobile companies using different platforms, to build as many good applications in the platforms they use. As a result of this, a wide variety of mobiles applications are popping up day by day.
The mobile software industry is looking upon the easiest and most capable ways of building mobile applications. There are mainly two different approaches for creating mobile applications, native applications and mobile web applications. Native applications are developed to be run on specific platforms, and hence these applications will be able to use the maximum potential of that operating system. On the other hand mobile applications are build on HTML5, which could be used across different mobile devices.
The development approach to be selected depends upon the end user requirements. If the application has to use the full capabilities of the device, then Native application development is used. Else if the need is for a quick way for getting an application that runs in different platforms, then it would be better to go with the mobile web application.
In developing a native application, the knowledge of device specific language like, Objective C for iPhone or iPad, Java for Android etc. is essential. But with the existing web development skills, mobile web applications could be done. By using native approach, we need to develop applications for each platform, hence it is expensive and time consuming. Whereas using the mobile web application approach, applications could be developed once and run in different platforms.
Tools like Appcelerator Titanium, Phonegap etc makes it possible to develop mobile apps by Web Developer even without the knowledge of Objective C or Java. In Appcelerator Titanium, JavaScript compiles with Titanium API to native code. Whereas Phonegap is an open source framework for developing mobile applications, using HTML5, CSS3 and JavaScript. Since September 2012, Phonegap introduced a Phonegap build service, and at the time of compilation, the Phonegap build will inject the appropriate SDKs in the cloud. So it avoids the difficulties in maintaining the SDKs for different platforms. These types of apps reside between Native and HTML , also known as Hybrid can overcome the limitations of a basic HTML5 app where all the code remains on the server and no offline application is possible.
The main advantage of using HTML5 for creating mobile web application is that it provides some features like local storage, offline caching, geolocation etc. There are many frameworks and tools like jQuery Mobile, jQTouch, Sencha Touch etc. that provide HTML5 support across different mobile platforms.
Native application provides excellent graphics and UI that the user expects. But in mobile web application, the look and feel will not be that much perfect. Also mobile web applications could not provide the native experience like the multitouch, that the native applications could provide.
In future, as the use of mobile devices increases, there could possibly be a massive change in the application architecture. May be there could be hybrid applications, which will combine both the native technology and mobile web technology.
Both native and mobile web application development are having advantages as well as disadvantages. So the development approach to be selected must be based on the end user requirements, cost and the development schedule.
In a quick view, the advantages can be noted as
Native App: User Experience, Security, More Access to Devices, Accessible to latest technologies, Better Performance
HTML5 App: Multi-Platofrm, Fast and Easy Development, Lesser cost.
Author: Minu George