Cross-Platform Mobile Applications with Web Technologies
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Computing and Digital Systems ISSN (2210-142X) Int. J. Com. Dig. Sys. 4, No.3 (July-2015) http://dx.doi.org/10.12785/ijcds/040302 Cross-platform Mobile Applications with Web Technologies Christos Bouras1,2, Andreas Papazois2, and Nikolaos Stasinos2 1 Research Unit 6, Computer Technology Institute & Press “Diophantus”, Patras 26504 , Greece 2 Computer Engineering & Informatics Department, University of Patras, Patras 26504, Greece Received 21 Nov. 2014, Revised 19 Jan. 2015, Accepted 7 Mar. 2015, Published 1 July 2015 Abstract: The extended use of smart mobile devices has become an integral part of daily life leading to the expansion of mobile application development. Currently, the majority of mobile applications are native applications that need an initial installation prior to being utilized. In addition, for a given application, a separate software development process could be required for each mobile platform, which subsequently increases dramatically the corresponding effort and cost. With the emergence of HTML5 these issues can be addressed efficiently, since web technologies allow the application development in a cross-platform manner. An important benefit is that users can have easy and immediate access the application without any need for downloading and installation. In this manuscript, we investigate the potentials of mobile application development with web technologies and we present a development framework that we have designed and implemented. This framework utilizes the most important state-of-art web technologies for the support of mobile devices. It can be used for the implementation of mobile web applications and also for the investigation and experimentation on the main features that HTML5 offers for this specific type of devices. Keywords: mobile web application, HTML5, framework, cross-platform, social networks Longer quality control process, given the need for 1. INTRODUCTION testing the application’s behavior in different The use of smart mobile devices, such as smartphones contexts, i.e., platforms, devices, etc.. and tablets, has become an integral part of daily life From a user's point of view, each native mobile leading the development of innovative mobile application requires downloading and installation prior to applications to a great expansion. Currently, there are its usage, which adds an overhead of time and memory several different platforms for mobile application resources even for applications that are rarely used [2]. development with the iOS and Android being the Application’s upgrade becomes also an issue for similar dominant among them. Each of these platforms requires reasons since it should also be performed onto the end- separate software development process, based on different device in a non-transparent way after end-user’s consent tools, SDK and programming languages to implement the to download and install new version. same functionality, which is an activity that subsequently increases dramatically the corresponding effort [1]. This The emergence of HTML5 introduced a new paradigm fact has a negative effect on the lifecycle of the mobile for the mobile application development and there are application development since several issues usually arise, several reasons why the popularity of HTML5 for mobile including: application development is increasing steadily [3]. HTML5 supports interfaces to the various mobile device Multiple software implementations, since sensors and operations and thus it can provide nearly the different production lines should be maintained same functionality as the native applications. for the various mobile platforms supported. Additionally, through new features such as application Inconsistencies between versions for different cache and file system, selected data can be stored so that devices and platforms, due to differences in the the application can be executed even when the mobile implementation process and other device or device is not connected to a data network. Given that the platform limitations. mobile application runs on a web browser, application portability is assured in a cross-platform manner saving a large amount of costs for the software development E-mail address: [email protected], [email protected], [email protected] http://journals.uob.edu.bh 154 Christos Bouras, et. al: Cross-platform Mobile Applications with Web Technologies process [4]. Last but not least, with mobile web current work in the field of cross-platform web applications users are not obliged to install any software application development. In Section 3 we present the to access the application features [5]. The significance of architectural design of the framework for mobile web HTML5 as a technology for mobile application application development as well as selected important development has increased in light of Adobe's cease of implementation issues. Section 4 provides details on the developments on Flash Player for mobile browsers and its most important features offered by the framework. In turn to invest on HTML5 instead [6]. Section 5 we present the conclusions of our study and, In this manuscript, we present the design and finally, in Section 6 we close by summarizing some implementation of a framework built for experimentation possible future steps that can follow this work. on mobile web application development. This framework is a set of tools that make use of the most important 2. RELATED WORK features and provides indicative methodologies of their Web technologies are becoming popular in the frame use. We use it to investigate the potentials of the HTML5 of mobile application development. In fact, the technology for mobile application development and to capabilities and the development process with HTML5 explore new fields of services and functionalities that can are so significant that platforms for building native be engineered. Part of this study is also the investigation applications using web technologies are also becoming and proposal of best practices as well as ideas for future dominant. Some related interesting examples are work on mobile applications based on HTML5. The main PhoneGap, whose corporate website is at: purpose of this framework is to provide the developer http://phonegap.com/, and Apache Cordova, whose with simple and easy to implement features of HTML5 in website is at: http://cordova.apache.org/, that have been a cross-platform aspect. Most of the features of the both extensively documented by relevant technical framework are essential for a modern mobile application. literature [7], [8], and [9]. They make use of the information a device can provide and also features such as social network interaction and A. PhoneGap data on the cloud are presented. It should be noted that the Adobe PhoneGap is a tool that provides the capability application that demonstrates the features of the of building a web application into a native one. It is based framework is publicly available online at “RU6 Mobile on Apache Cordova, which firstly developed by Adobe Group: Mobile Apps”, at the following URL: and it is an open source project. Apart from the packaging http://ru6.cti.gr/mobile/apps.php to be used by interested of the web application into a native one, something that researchers or web engineers. Additionally, the gives access to developers to each platform’s applications applications features are briefly demonstrated in the stores, PhoneGap provides interfaces to many native demo-video created for this purpose and being available features and services that may not be supported by in website “RU6 Mobile Group: Mobile apps demo HTML5 and all these in JavaScript language. For example video”, and more specifically at the following URL: with can have access to device’s SD card, to the native http://ru6.cti.gr/mobile/uploads/demo_html5app.mp4. notification system and many more. The platforms that This manuscript is structured as follows: In Section 2 we presented a scientific and technical review of the Figure 1. PhoneGap Application Development Process (http://phonegap.com/) http://journals.uob.edu.bh Int. J. Com. Dig. Sys. 4, No.3, 153-163 (July-2015) 155 are supported until now are Android, BlackBerry, iOS, D. Sencha Touch Windows Phone, Windows 8 and Tizen. Furthermore It is another mobile application framework, which is there are many plugins that offer additional features while open source and is based on HTML5. It supports the Adobe has developed a Cloud service that converts and following platforms: Android, iOS, Blackberry, Windows packages any web application into a native application Phone and others. It provides a theming engine and tools without being necessary for the developers to get into the for user interface development and it also supports the building process by their self and learning additional creation of hybrid applications with Apache Cordova. tools. Below there are pictures of the building tool and the development process in PhoneGap. E. Titanium Appcelerator B. Parse It is a mobile application development framework. The main difference here is that it produces native code It is a cloud framework that offers backend services and so a real native application. The programming API is for web application and more specifically focus on mobile based on JavaScript and HTML5 and provides specific devices. It has APIs for many different platforms such as SDK for every supported platform. The supported iOS, OSX, Android, Windows Phone, Windows 8, platforms are: iOS, Android,