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 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 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 of code. It supports iOS, Android, 5. Sencha: Sencha Touch is an MVC – based Windows and browser – based HTML5 Javascript framework to build mobile applications. Appcelerator can be used to applications. It improves the user experience

All Rights Reserved © 2017 IJARCET 1391

International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 6, Issue 9, September 2017, ISSN: 2278 – 1323

through its high level of responsiveness. Sencha Certain key features available for WidgetPad for Touch is compatible with iOS and Android. For iPhone are: app development using Sencha, code initially  Editing: Source code editing – HTML5, written in HTML5 can be translated with the CSS3 and Javascript along with syntax help of another tool like PhoneGap. This highlighting ensures easier usage in Android as well as iOS  Project management and inventory: [12][13]. Uploading of various resources like images, sounds and other Javascript and CSS files 6. RhoMobile: RhoMobile offers Rhodes, an open – and maintaining them. source framework based on Ruby. It permits the  Code Sharing: Sharing public projects developer to create native apps for Android, automatically to everyone. Windows, Symbian, iPhone, RIM. Rhodes  Secure cross – domain scripting: Creating framework enables user to write cross platform applications easily with existing web code by using common web skills. Data services by accessing web – service APIs synchronization is ensured through the over the domain boundary in a secured RhoConnect client by RhoMobile. The manner. RhoMobile suite consists of a package of tools  Application preview: To be able to run the for various operations related to app application on Safari, without the development: Building, Testing, Debugging, dependency of an iPhone. Integrating, Deploying and Managing consumer  Publishing: Choice to publish the app to and enterprise apps. This services of this suite AppStore either through a generic are offered in the cloud [9]. WidgetPad client (free) or as the developer’s own branded application (free The suite consists of: or paid). [3] Rhodes RhoElements RhoStudio IV. CONCLUSION RhoConnect

RhoGallery Hence, in this paper the comparison between native

and hybrid mobile applications are discussed. Also, 7. WidgetPad: WidgetPad is an open – source, the various tools for mobile app development are collaborative environment for development of summarized. It is clearly evident that narrowing mobile applications using standard web down to the perfect approach – if native or hybrid, technologies – HTML5, CSS# and Javascript. as well as the best tool to use for the development of One of the main advantage of WidgetPad is that a mobile application purely depends on the business it eliminates the need to learn platform – specific requirement of the app. API sets and tools. [2]

WidgetPad is available through the web as a REFERENCES Software as a Service (SaaS) model. WidgetPad for iPhone enables developers to create fully [1] Apurva P. Pawar, Vandana S. Jagtap, Mamta S. interactive, media – rich mobile applications. Bhamare, “Survey on Techniques for Cross The applications developed using WidgetPad Platform Mobile Application Development”, can leverage all of the iPhone’s advanced International Journal of Advanced Research in hardware capabilities such as GPS, Computer Engineering and Technology, Vol. 3 accelerometer, compass, easily by accessing Issue 10, October 2014. WidgetPad.com through standard browsers like [2] Pooja Jardosh, Lipi Kothari, “A Comprehensive Safari, Firefox and Internet Explorer [10][11]. Survey: Techniques for Mobile Development Cross Platform”, IJEDR, Vol. 5 Issue 2, 2017

www.ijarcet.org 1392

International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 6, Issue 9, September 2017, ISSN: 2278 – 1323

[3] Mounaim Latif, Younes Lakhrissi, El Habib [19] https://ionicframework.com/ The top open Nfaoui, “Cross platform approach for mobile source framework for building amazing mobile application development: A survey”, apps. Information Technology for Organizations

Development (IT4OD) International Conference, 30 March – 1 April 2016 [4] Pavel Smutny, “Mobile development tools and cross – platform solutions”, Carpathian Control Conference (ICCC), 2012 [5] https://ymedialabs.com/hybrid-vs-native-mobil e-apps-the-answer-is-clear/ Hybrid vs Native Mobile Apps – The answer is clear [6] https://www.mobiloud.com/blog/web-hybrid-n ative-apps/ Native, Web or Hybrid Apps? What’s the difference? Shruthi Sasidaran has [7] http://blog.techmagic.co/native-vs-hybrid-apps/ completed Bachelor of Technology degree in Native vs Hybrid Apps. What to choose in Computer Science and Engineering from Amrita 2017? University, Coimbatore, India. She is Product [8] https://impekable.com/native-vs-hybrid-mobile Design Engineer at Honeywell Technology -app-development/ Creating Top Apps: The Solutions, Bangalore, India. Her field of interest pros and cons of Native vs Hybrid Mobile App include mobile application development and UX. Development [9] https://en.wikipedia.org/wiki/RhoMobile_Suite RhoMobile Suite [10] https://readwrite.com/2009/09/21/widgetpad / WidgetPad: Open – source, Web – based Environment for Mobile Developers [11] http://mrdroidz.blogspot.in/2011/09/widgetp ad-introduces-web-based-open.html WidgetPad introduces web - based open –source development environment for iPhone Widgets [12] https://www.sencha.com/ Sencha [13] http://senchadevelopers.blogspot.in/2012/10 /what-you-can-do-with-sencha.html What is Sencha Framework? [14] https://www.xamarin.com/ Xamarin [15] https://msdn.microsoft.com/en-us/library/mt 299001.aspx?f=255&MSPPError=-214721739 6 Visual Studio and Xamarin [16] https://msdn.microsoft.com/en-us/magazine/ mt790185.aspx?f=255&MSPPError=-2147217 396 Xamarin – Xamarin and the Universal Windows Platform [17] https://msdn.microsoft.com/en-us/library/dn 879698.aspx Build apps with native UI using Xamarin in Visual Studio [18] https://www.phonegap.com Adobe PhoneGap

All Rights Reserved © 2017 IJARCET 1393