Survey on Native and Hybrid Mobile Application Development Tools
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 6, Issue 9, September 2017, ISSN: 2278 – 1323 Survey on Native and Hybrid Mobile Application Development Tools Shruthi Sasidaran Different operating systems run on different smart Abstract— Mobile phones have drastically phones – Android, iOS and Windows being the transformed from being simple devices to being most widely used. These platforms use different fully – functional pocket – sized computers, programming environments, each with its own equivalent to any desktop or laptop. This language and APIs, to develop unique and high – typically led to the requirement of mobile end user experience apps. The increased demand of application development and mobile – friendly such apps gives rise to the necessity of cross – user interface design development. Hence it is platform mobile app development frameworks, to important to understand, learn and analyze the ensure that apps gain access to the largest user – different types of mobile applications that are base they possibly can, irrespective of the platform present in the market. This paper conducts a they use, resulting a low cost – in terms of money, survey on the types of various mobile time and effort [1][5]. applications, a brief comparison between them, and the various application development tools Organizations have understood the necessity to available in the market – for both native effectively use smartphones and mobile apps to applications as well as hybrid applications. reach and attract customers. Many organizations have started encouraging users to utilize their Index Terms—Native Applications, Hybrid mobile apps and websites for using new and existing Applications, Xamarin, HTML5, Android, operations. The choice between employing mobile Cordova apps and websites or both, depends largely on their cost, usability, required features and the audience they target [5]. I. INTRODUCTION Nowadays, every person walks around with at There are several reasons why mobile apps are least one smartphone, if not multiple. Along with preferred over than mobile websites: the ability to make and receive calls and text 1. Better Personalization is offered by messages, users pay keen attention to the mobile apps specification of the smartphone, analyzing the 2. Flexibility to view, send notifications various features and the rich capabilities available, 3. Making the most of the device’s built – in such as gigabytes of memory, multi core capabilities processors, high resolution camera and so on. A 4. Ability to work offline mobile app, short for mobile application, is a software that is pre – installed or downloadable 5. Ability to create mobile – friendly user from an application store, and installed on mobiles experience design and tablets. The count of mobile apps that are being 6. Ability of mobile apps to work faster developed and released into the market increases than websites exponentially by the day [4]. 7. Provides branding opportunity for apps [6]. Shruthi Sasidaran, Honeywell Technology Solutions, Bangalore, India, 00919535038426 All Rights Reserved © 2017 IJARCET 1389 International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 6, Issue 9, September 2017, ISSN: 2278 – 1323 II. DIFFERENT TYPES OF MOBILE APPS One of the main disadvantage is the absence 1. Native Apps: These apps are developed of access to many APIs for developers, with exclusively for a platform, and take full some exceptions such as geolocation [7]. advantage of the operating system features and other softwares that are typically Why Hybrid? Why Native? installed on the platform [2]. Prior to indulging into the pros and cons of both High performance and great user experience native and hybrid apps, it is important to understand is the main advantage of native apps. the top most CTQ, or Critical to Quality, of mobile Moreover, native apps provide wider access applications. That is, without doubt, the user to their APIs which sets no limitation on the experience of the app. app usage. These apps are directly available from their app stores, ensuring a clear reach The user experience can make or break the success to the target customers. of the app. An app that has a bad user experience will not be entertained by anyone, neither the Development of native mobile applications customers nor the stakeholders. Prior to the can be tedious, in the sense that, the entire development of a mobile application, the main decision that has to be taken is the approach on codebase has to be re – written to target a which the app has to be developed – whether a different platform and users, despite having native or hybrid app. the same business use – case and logic [7]. There are pros and cons for both Native as well as 2. Hybrid Apps: These apps are developed Hybrid apps [8]. using multi – platform web technologies – like HTML5, CSS3 and Javascript. They The differentiators in case of Native apps are: are partly native apps that run on the device, 1. Best Security inside a native container and device’s 2. Perfect in user experience browser engine to render the HTML and 3. Great performance process the JavaScript locally [2]. 4. Offline mode 5. Native UI helps users to quickly adopt to Hybrid apps are fast and relatively easy to the functionalities of the app develop. A single code base for all the 6. Access to the device hardware / software platforms ensures low – cost maintenance – GPS, Location, Calendar etc. and smooth updates. The differentiators in case of Hybrid Apps are: 1. Portability – one code base, multiple However, they lack in performance, speed platforms and overall optimization in comparison to 2. Various hardware / software capabilities the native apps [7]. access – through plug – ins 3. Lower costs for development 3. Web Apps: These apps use mobile 4. Faster speed to market – initially browser to run and are usually written in 5. Doesn’t have to update each app in the HTML5, CSS and JavaScript. They require app store to wait for approach. minimal device memory. Users get access from any device, provided there is an active internet connection, since the databases are saved on the server [2]. www.ijarcet.org 1390 International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 6, Issue 9, September 2017, ISSN: 2278 – 1323 The following table summarizes the differences develop native apps or cross – platform apps. between a native app and a hybrid app The Titanium Development Platform by Appcelerator works with web programming Native Hybrid languages such as HTML, PHP, Javascript, Development Native Native and Ruby and Python. The main advantage of Language languages: web / web only Appcelerator is that it has several platform Java for specific APIs, features, and user interfaces. It Android ensures enhanced performance since the Swift for iOS development is platform targeted. Device Specific High Moderate Appcelerator’s Titanium used Javascript and Features XML to build native and hybrid mobile Code Portability None High applications [1]. UI / UX High Moderate Advanced High Moderate 3. PhoneGap: PhoneGap is a cross – platform app Graphics development tool. It works on standard web Application Available Available development languages - HTML5, CSS3 and Store Javascript. PhoneGap allows developers to Development Expensive Reasonable create mobile applications for Android, Cost Symbian, Blackberry, iOS. The main advantage Device Access Complete Complete of applications developed using PhoneGap is Speed Fast Medium that they work uniformly well over multiple Access to Native High Moderate platforms without any compromise on the look APIs and feel. It does not require any special skill set or expertise for building apps [18]. The main advantage of PhoneGap is that III. TOOLS FOR MOBILE APPLICATION applications developed work uniformly across DEVELOPMENT multiple platforms, ensuring the same user experience. Also, the powerful backend system 1. Xamarin: Xamarin is the most preferred tool for increases the development speed of mobile native application development. Xamarin is applications. It also taps into the hardware of built on the C# programming language and it the device such as camera, geo – location, runs on the .Net CLI. It is used to build apps for accelerometer [1]. iOS, Android and Windows platforms [14][15]. One of the main advantages of Xamarin is that it 4. Ionic: Ionic is HTML5 mobile app development reuses the business logic layers and data access framework which is used widely to create layers across various platforms. This feature is hybrid mobile apps. It is an open – source SDK. beneficial when functions such as large amounts Hybrid mobile applications are small websites of local data, offline mode and image that run in a browser within an app that has recognition need to be implemented [1]. It is a access to the native platform layer. Ionic has mono framework that enables communication several default CSS components and Javascript with the API of mobile devices. It is very helpful components for building mobile apps. It in creating scalable and robust applications becomes easier to build applications, as Ionic is [16][17]. built on top of AngularJS framework. As Ionic apps are built in HTML5 framework, they 2. Appcelerator: Appcelerator speeds up or require a native wrapper like PhoneGap or accelerates the app development process as it Cordova to deploy as a native app [19]. allows the developers to create apps with fewer lines