Download presentation
Presentation is loading. Please wait.
1
Survey Paper & Manuscript
A Study of Software Reuse in Cross-Platform Mobile Application Development Injung Kim T. Shah, Z. Ahmad National University of Sci & Tech Islamabad, Pakistan
2
Supplementary Paper A Comparative Analysis of Cross-platform Development Approaches for Mobile Applications S. Xanthopoulos, S. Xinogalos Aristotle University of Thessaloniki / University of Macedonia, Greece
3
Motivation & Summary Rapid growth of the mobile application market
Android, iOS, Windows, Blackberry Cross-platform mobile application development Native, Web-based, Hybrid Application Development (NAD, WAD, HAD) And more… Software reuse in NAD, WAD, HAD
4
Mobile/Tablet OS Market Share
Background Mobile/Tablet OS Market Share Worldwide usage, Oct, 2017 [1]
5
Android & iOS Platforms
1 level : acts as an intermediate layer between the user applications and the underlying hardware components. includes all pre-installed and third-party applications that extend the functionality of the device. 2 layer : audio, video technologies that create multimedia experience. 3 layer :fundamental system services that all applications use directly or indirectly, such as security and data storage. 4 layer :necessary technologies and operating system interfaces that other layers need, such as files, drivers and memory management. [4] A Comparative Analysis of Cross-platform Development Approaches for Mobile Applications
6
NAD, WAD, HAD NAD Involves developing the application on a native mobile platform, which can be Android, iOS or Windows Phone. WAD Are browser-based applications that are developed using the HTML / JavaScript technologies HAD is a cross between NAD & WAD. HTML5 / JavaScript are used as development technologies and no detailed knowledge of the target platform is required Hybrid applications are closing the gap bet. Native and web-based application development
7
Example of NAD [5] IBM
8
Example of WAD [5] IBM
9
Example of HAD [5] IBM
10
NAD, WAD, HAD NAD, WAD, HAD
11
Brief Comparison of NAD, WAD, HAD
[5] IBM
12
Brief Comparison of NAD, WAD, HAD
13
Detail Comparison of NAD, WAD, HAD
Native App Mobile Web App Hybrid App Skills/Tools needed for cross-platform app development Objective-C, Java, C++, C#, VB.net HTML, CSS, JavaScript, Web programming language HTML, CSS, JavaScript, Web programming, mobile development framework Apps needed to reach all major smartphone platforms 4 1 Installed on device? Yes No Distribution App Store/Market Internet WAD: Rendering time Rendering Engine – this takes HTML code and interprets it into what you see visually. For instance, a tag would be interpreted by the rendering engine as a set of instructions to make the text inside of the element bold Partial device access # of platform Airplane mode?
14
Detail Comparison of NAD, WAD, HAD
Native App Mobile Web App Hybrid App Device integration Full integration: (camera, microphone, GPS, gyroscope, accelerometer, file upload, contact list) Partial integration: (GPS, gyroscope, accelerometer, file upload) Full integration: (camera, microphone, GPS, gyroscope, accelerometer, file upload, contact list) Best used for Highly graphical apps Apps that need to reach a large consumer audience Data-driven apps B2B apps Internal business apps Cross-platform apps that need full device access Business apps that need app store distribution
15
NAD, WAD, HAD And more… In interpreted apps native code is automatically generated to implement the user interface. Generated apps are compiled just like a native app and a platform specific version of the application is created for each target platform Market place deployment (distribution). Evaluates whether and how easy it is to deploy apps to the app stores of mobile platforms, like Google Play or Apple’s iTunes. Widespread technologies: Evaluates whether apps can be created using widespread technologies, such as JavaScript. Hardware and data access: Evaluates whether apps have no access, limited or full access to the underlying device hardware and data. User interface and look and feel: Evaluates whether apps inherently support native UI components or native UI and look and feel is simulated through libraries, such as JQuery Mobile. User-perceived performance: Evaluates whether apps have low, medium or high performance as perceived by the end users (like loading time and execution speed) compared to a native app. [4] A Comparative Analysis of Cross-platform Development Approaches for Mobile Applications
16
Cross-platform App RSS feeds reader application
NAD, WAD, HAD Cross-platform App RSS feeds reader application LOC <= 150, Every code line is pure JavaScript w/ no need of coding anything using a native language. [4] A Comparative Analysis of Cross-platform Development Approaches for Mobile Applications
17
Trends of Native vs. Cross-platform
NAD, WAD, HAD Trends of Native vs. Cross-platform 8% 0.5% x16 2017 2017 Stackoverflow trend, May, 2017 [3]
18
Software Reuse Process of using existing software components to create new software systems Increase of productivity, quality, reliability Decrease of cost, implementation time
19
How Often? Single Platform Application Development
SW Reuse How Often? Single Platform Application Development 18.75% of Android app classes inherit from a base class in Android API 35.78% of the classes inherit from a domain-specific base class 84.23% of classes across all categories of app occur in two or more app and 17,109 apps were a direct copy of another app Cross-Platform Application Development Software reuse is a big challenge due to different platforms using different programming languages, SDKs, IDEs. How much sw reuse is possible in case of NAD, WAD, HAD?
20
SW Reuse SW Reuse in NAD A single application is developed multiple times to support multiple mobile platforms. Need to work from scratch Impossible or challenging to port functionality Even if the programming languages may be the same Ex) Android and Blackberry both use Java for application development there is no or very little software reuse, which greatly increases the time, effort, budget required for the development and maintenance of an application.
21
SW Reuse SW Reuse in WAD A single application is developed in web technologies like HTML and JavaScript and used across multiple mobile platforms. write once and run everywhere Provide complete software reuse but still it carries some technical disadvantages & is not a choice of most of the developers
22
SW Reuse in HAD Provide complete software reuse
Overcome the disadvantages of web-based applications Ex) lack of hardware access & lower performance) Generally a web-based application wrapped in a native shell
23
Native vs. Cross-Platform Code Sharing
SW Reuse Native vs. Cross-Platform Code Sharing Nov, 2017 [2]
24
Conclusions Cross-platform mobile application development
Software reuse in NAD, WAD, HAD Cross-Platform Applications Development is always good? Worldwide usage, Oct, 2017 [2] No! It depends on application types
25
Conclusions Cross-platform mobile application development
Software reuse in NAD, WAD, HAD Cross-Platform Applications Development is always good? No! It depends on application types Security, Performance, Offline mode
26
Conclusions Cross-platform mobile application development
Software reuse in NAD, WAD, HAD Cross-Platform Applications Development is always good? No! It depends on application types Security, Performance, Offline mode There is no or very little sw reuse in NAD for an app What about among different apps? Libraries, Stack overflow, etc.
27
References [1] Mobile/Tablet Operating System Market Share system-market-share.aspx?qprid=8&qpcustomd=1&qpct=3 [2] Native development vs cross-platform development: myth and reality reality/ [3] Stack overflow trends development-stack-overflow-trends/ [4] S. Xanthopoulos, S. Xinogalos “A Comparative Analysis of Cross-platform Development Approaches for Mobile Applications” [5] IBM (Worklight Inc.) “Native, Web, or Hybrid Mobile Apps?”
28
Thank you. Question?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.