1 / 20

Cross-Platform Mobile Software Engineering: Guidelines, Requirements, and PhoneGap

Learn about cross-platform mobile software development, different types of mobile software, guidelines for developers, and the PhoneGap framework. Evaluate performance and explore references.

samons
Télécharger la présentation

Cross-Platform Mobile Software Engineering: Guidelines, Requirements, and PhoneGap

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS454: Software Engineering-3 Mobile Software Engineering Cross Platform Mobile Software Development

  2. Software Engineering in Mobile Computing List of topics Introduction to cross-platform mobile S/W development Types of mobile software Guidelines for developers Requirements of cross-platform mobile S/W development General architecture of cross-platform mobile S/W development framework PhoneGap Performance evaluation of some tools

  3. Software Engineering in Mobile Computing Introduction to cross-platform mobile development • A myriad of mobile platforms (Android, iOS, Blackberry, Windows Phone…). • It is required to provide an application to all or many platforms. • Developing a separate application for each platform is not viable. • Cross-platform comes to rescue! • It is the practice of writing a single piece of code that can be executed on different platforms that are not binary compatible.

  4. Software Engineering in Mobile Computing Types of mobile software

  5. Software Engineering in Mobile Computing Types of mobile software

  6. Software Engineering in Mobile Computing Types of mobile software

  7. Software Engineering in Mobile Computing Guidelines for developers • Native UX • Use native or hybrid • Offline/Online Usage • If offline use native or hybrid, If online use mobile web • Long-term Compatibility • Use mobile web • Access to Built-in Features • Use native or hybrid • Security • Use native or hybrid

  8. Software Engineering in Mobile Computing Requirements of cross-platform development • Multiple mobile platform support • Specially Android and iOS • Rich UI • Cross-platform tools can not provide rich UI as native apps • Support for sophisticated graphics (2D, 3D), animation, multimedia • Back-end communication • support for backend communication protocols and data formats • Security • Applications developed by cross platform tools are not highly secure

  9. Software Engineering in Mobile Computing Requirements of cross-platform development • Support for app-extensions • Power consumption • Accessing built-in features • Cameras, Sensors, GPS, etc… • Open source

  10. Software Engineering in Mobile Computing General architecture of cross-platform development framework

  11. Software Engineering in Mobile Computing PhoneGap • Open-source mobile development tool developed by Adobe System Inc. under Apache 2.0 license. • Permits the creation of applications for Android, Bada, BlackBerry, iOS, Symbian, webOS and Windows Phone OS’s. • Applications are developed using HTML5/CSS3/JavaScript and the PhoneGap framework APIs. • PhoneGap framework APIs provide access to device components (Camera, GPS, contact list, vibration…) via JavaScript. • Applications are compiled to a native platform package that consists of HTML pages and a native container.

  12. Software Engineering in Mobile Computing PhoneGap • PhoneGap applications are hybrid, i.e., not purely native and not purely web-based • ”not purely native”: layout rendering is done via web-view instead of the native language of the OS • ”not purely web-based” not all functions are implemented in HTML • PhoneGap offers the possibility to extend the tool by developing plug-ins

  13. Software Engineering in Mobile Computing PhoneGap Layers

  14. Software Engineering in Mobile Computing PhoneGap Architecture

  15. Software Engineering in Mobile Computing Performance Evaluation – Memory Usage • PhoneGap integrated with JQuery Mobile or Sencha Touch 2.0 is a complete environment for better UI development of applications • Proportional set size (PSS): is the amount of memory shared with other processes • Unique set size (USS): is the set of pages that are unique to a process

  16. Software Engineering in Mobile Computing Performance Evaluation – CPU Usage • A CPU snapshot is taken at each state of the Activity life cycle (i.e. onCreate, onStart, onPause, onStop and onDestroy) of the apps

  17. Software Engineering in Mobile Computing Performance Evaluation – Power Consumption • Power consumption is computed using "Power Tutor” Android app

  18. Software Engineering in Mobile Computing Performance Evaluation – UI

  19. Software Engineering in Mobile Computing References • I. Dalmasso, S. K. Datta, C. Bonnet and N. Nikaein, "Survey, comparison and evaluation of cross platform mobile application development tools," 2013 9th International Wireless Communications and Mobile Computing Conference (IWCMC), Sardinia, 2013, pp. 323-328. • M. Palmieri, I. Singh and A. Cicchetti, "Comparison of cross-platform mobile development tools," 2012 16th International Conference on Intelligence in Next Generation Networks, Berlin, 2012, pp. 179-186.

  20. Thank you for yourattention.

More Related