Apart from the conventional use of communication, cell phones are being used today for browsing websites, playing games, establishing social contacts etc. This increase in mobile usage has lead to the development of many mobile apps, which are typically available through app stores of mobile operation systems. Whether it is for online shopping or sending twitter message to a friend, people are hardly turning to their desktops as many of them are finding mobile apps as convenient sources for their browsing needs. Just like the regular internet sites, the usage of mobile apps demands greater end user experience as well. If mobile applications take longer to download or have poor performance then the users feel unhappy and leave the app with frustration.
Based on architecture mobile applications are broadly divided into basic three categories.
Native Apps
One of the distinguishing feature that seperates native apps from other mobile applications is that they are designed and coded for one specific platform or device. Example: iPhone apps are written in Objective-C and Android apps are coded in Java. To get access to the native apps, they can be downloaded from public or private online app stores (Example – Apple’s App Store or Google Play). Since these apps are device specific, they take full advantage of device capabilities, features and other software that are typically installed on that platform. Once installed, the users can have access to mobile apps without connecting to the internet. The main diasadvantage is, native apps will not work with other platforms or devices. Native apps that are developed for one platform will not run in other device or platform. For instance, if an app is developed in Objective-C for iOS, then it will not work in Android unless it is re-coded in Java.
Mobile Web Apps
Mobile web apps are nothing but mobile versions of websites. They include all the functionality of website and are developed using web technologies such as JavaScript, CSS, HTML5 or other languages. Mobile web apps do not appear on the App Store and Google Play and require no installation. They can be accessed directly through internet on mobile browsers like Safari or Chrome. Unlike native apps that are specific to the device platform, web apps are designed common for every platform and therefore they won’t look or behave like real apps. Today, you will find hundreds of examples for web apps that can be viewed in mobile browsers like Flipkart, Gmail mobile web app, Google maps etc.
Hybrid Apps
Hybrid apps are mid-way between web and native mobile apps. In such applications, the features of native apps are embedded into mobile web applications. Like native applications, they are available in app store and take the advantage of device features to provide better user interface. However, the content is rendered through web part of the application using HTML. Hybrid apps are very popular among mobile app designs because they allow cross-platform development. That means, the same code can be reused to develop applications on different mobile operating systems. Many popular social media applications like Twitter, Facebook, Linkedin are best examples of hybrid apps as they have application interface installed on the device but content is loaded from the web.