Michael Gonsalves MS Thesis

Total Page:16

File Type:pdf, Size:1020Kb

Michael Gonsalves MS Thesis EVALUATING THE MOBILE DEVELOPMENT FRAMEWORKS APACHE CORDOVA AND FLUTTER AND THEIR IMPACT ON THE DEVELOPMENT PROCESS AND APPLICATION CHARACTERISTICS A Thesis Presented to the Faculty of California State University, Chico In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by © Michael Gonsalves 2018 Fall 2018 EVALUATING THE MOBILE DEVELOPMENT FRAMEWORKS APACHE CORDOVA AND FLUTTER AND THEIR IMPACT ON THE DEVELOPMENT PROCESS AND APPLICATION CHARACTERISTICS A Thesis by Michael Gonsalves Fall 2018 APPROVED BY THE INTERIM DEAN OF GRADUATE STUDIES: Sharon Barrios, Ph.D. APPROVED BY THE GRADUATE ADVISORY COMMITTEE: Tyson Henry, Ph.D. Bryan Dixon, Ph.D., Chair Graduate Coordinator Kevin Buffardi, Ph.D. PUBLICATION RIGHTS No portion of this thesis may be reprinted or reproduced in any manner unacceptable to the usual copyright restrictions without the written permission of the author. iii TABLE OF CONTENTS PAGE Publication Rights ...................................................................................................... iii List of Tables ............................................................................................................. vi List of Figures ............................................................................................................ vii Abstract ...................................................................................................................... viii CHAPTER I. Introduction ................................................................................................ 1 Background ........................................................................................... 1 Statement of the Problem ...................................................................... 2 Purpose of the Study ............................................................................. 4 Organization of the Study ..................................................................... 4 II. Review of Related Works .......................................................................... 6 Background ........................................................................................... 6 Cross-Platform Development Approaches ........................................... 7 Evaluating Cross-Platform Development Frameworks ........................ 10 III. Methodology .............................................................................................. 13 Overview ............................................................................................... 13 Task Station .......................................................................................... 14 Development Hardware Devices .......................................................... 22 Development Framework Environments .............................................. 23 Source Code Evaluation ........................................................................ 24 Application Characteristics and Performance Profiling ....................... 25 Development Process Qualitative Differences ..................................... 31 Summary ............................................................................................... 31 iv CHAPTER PAGE IV. Results and Discussion ............................................................................. 33 Overview ............................................................................................... 33 Source Code Evaluation ........................................................................ 34 Application Characteristics and Performance Profiling ....................... 39 Development Process Qualitative Differences ..................................... 47 Summary ............................................................................................... 70 V. Summary and Recommendations.............................................................. 72 Summary ............................................................................................... 72 Limitations and Recommendations for Future Research ...................... 73 References .................................................................................................................. 78 v LIST OF TABLES TABLE PAGE 1. Source Code Lines of Code, Number of Files and Dependencies ................... 35 2. Source Code Comparison of Native vs. Cross-Platform ................................. 35 3. Android Application Package Size and Installed Size ..................................... 41 4. iOS Application Package Size and Installed Size ............................................ 41 5. Android Application Menu RAM Usage ......................................................... 42 6. Android Application View Tasks RAM Usage ............................................... 42 7. iOS Application Menu RAM Usage ................................................................ 43 8. iOS Application View Tasks RAM Usage ...................................................... 43 9. Android Application Startup Times ................................................................. 45 10. Android Application View Transition Times .................................................. 45 11. iOS Application Startup Times ........................................................................ 46 12. iOS Application View Transition Times ......................................................... 46 13. Languages and Testing Tools .......................................................................... 60 vi LIST OF FIGURES FIGURE PAGE 1. Transition Diagram of Task Station ................................................................. 15 2. Menu Page of The iOS Flutter Application ..................................................... 16 3. View Tasks Page of the iOS Flutter Application ............................................. 17 4. Task Details Page of The iOS Flutter Application .......................................... 19 5. Add/Edit Task Page of the iOS Flutter Application ........................................ 21 6. Android Native Screenshots ............................................................................ 49 7. iOS Native Screenshots.................................................................................... 50 8. Android Flutter Screenshots ............................................................................ 51 9. iOS Flutter Screenshots.................................................................................... 52 10. Android Cordova/Ionic Screenshots ................................................................ 54 11. iOS Cordova/Ionic Screenshots ....................................................................... 55 12. Flutter widget tree example ............................................................................. 57 13. Ionic Framework HTML example ................................................................... 58 vii ABSTRACT EVALUATING THE MOBILE DEVELOPMENT FRAMEWORKS APACHE CORDOVA AND FLUTTER AND THEIR IMPACT ON THE DEVELOPMENT PROCESS AND APPLICATION CHARACTERISTICS by © Michael Gonsalves 2018 Master of Science in Computer Science California State University, Chico Fall 2018 Mobile application development is an area of software engineering with its own unique development approaches and challenges. The market for mobile applications is highly fragmented, not only across different mobile operating system platforms but also across devices and operating system versions within the same platform. The goal of any application developer is to reach the largest possible audience while minimizing development time, cost, and effort. The current market consists of two major platforms, Android and iOS. Without the use of cross-platform tools it would be necessary to produce the same application twice to reach both marketplaces. viii A number of cross-platform development frameworks are available to developers and each one has its own benefits and drawbacks. This paper details a comparison between two cross-platform development frameworks, Google’s Flutter and Apache Cordova with the Ionic framework. In order to compare the two frameworks against each other and against the experience of developing native applications for each platform, an application prototype was developed using four different frameworks. A task management application was developed as a native Android application, a native iOS application, a Flutter cross-platform application, and an Apache Cordova cross-platform application using the Ionic user interface framework. A series of source code and application performance profiling evaluations were performed in order to determine the impact of choosing a cross-platform development framework on both the development experience and the performance and perceived quality of the deployed applications. Several areas of qualitative differences between the development experiences of Flutter and Cordova are also detailed. ix CHAPTER I INTRODUCTION Background Mobile application development is a relatively newer field in software engineering with a potential target audience of billions of users. Statista estimates that around 1.5 billion Android or iOS smartphones were sold globally in 2016 [1]. Such a large possible market makes the development of mobile applications a desirable focus for software developers. A total of 197 billion applications are estimated to have been downloaded in 2017 alone [2]. Unfortunately, the worldwide market for mobile applications is extremely
Recommended publications
  • Comparison and Evaluation of Cross Platform Mobile Application Development Tools
    International Journal of Applied Mathematics, Electronics and Computers 8(4): 273-281, 2020 INTERNATIONAL JOURNAL OF APPLIED MATHEMATICS International Open Access ELECTRONICS AND COMPUTERS Volume 08 Issue 04 www.dergipark.org.tr/ijamec e-ISSN: 2147-8228 December, 2020 Research Article Comparison and Evaluation of Cross Platform Mobile Application Development Tools Mehmet ISITAN a , Murat KOKLU b a Sakarya University, Faculty of Computer and Information Science, Department of Software Engineering b Selcuk University, Faculty of Technology, Department of Computer Engineering ARTICLE INFO ABSTRACT Article history: In order to develop a mobile application, it is necessary to develop software separately for each Received 28 November 2020 operating system to be outputted. In response to this problem, frameworks that can give application Accepted 6 December 2020 outputs for more than one operating system by developing applications on only one platform have Keywords: been developed. With the recent diversification of these systems, which are called cross platform Cross Platform, mobile application development tools, which one should be preferred has become a problem for Mobile Development, Mobile Frameworks, developers. In this study, the cross-platform mobile application development tools that have come One Code to the fore in recent years will be determined and evaluated separately based on the pros and cons of distinguishing parameters. With the help of the applications to be developed, values such as processor, memory, battery and network usage, rendering time, opening time, installation file size, application size will be measured. It is also aimed to help developers find out which framework is more suitable for their needs by comparing them on topics such as popularity, third party software support, operating systems that can be outputted, development languages and ease of use, speed - performance.
    [Show full text]
  • Native Cross-Platform Mobile Application Development
    Native Cross-platform Mobile Application Development by W. de Kraker (0815283) CMI-Program Informatics – Rotterdam University August 14, 2012 First supervisor Mr. Y. S. Tjang Second supervisor Mr. A. Chamani Abstract Nowadays mobile devices are vastly integrated into modern society. They bring us one step closer to satisfy our ever growing need to have information available anytime, anywhere. To help gain access to information on mobile devices we use software applications, so called apps. However, the fragmented nature of today’s mobile ecosystem poses a challenge for developers to develop apps which are suitable to run on all mobile devices, since there is no de facto standard in cross-platform app development. Currently there are several solutions available to solve the cross-platform challenge. Lunatech, having expressed its interest in mobile app development, would like to know which solution, if any, suits Lunatechs needs. A study has been set up in order to resolve this question, the results of which are laid out in this thesis. ii Versions Version Date Author Details 0.1 12/07/2012 W. de Kraker Intial draft 0.2 20/07/2012 W. de Kraker Improved main research structure 0.3 08/08/2012 W. de Kraker Changes based on feedback from Mr. Y.S. Tjang 0.4 12/08/2012 W. de Kraker Changes based on feedback from Mr. S. de Kaper 1.0 14/08/2012 W. de Kraker Final version Table 1: Version history iii Preface You are looking at the thesis for the graduation internship on the subject of "cross-platform mobile application development while retaining the native look and feel".
    [Show full text]
  • Survey on Techniques for Cross Platform Mobile Application Development
    International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 3 Issue 10, October 2014 Survey on Techniques for Cross Platform Mobile Application Development Apurva P. Pawar, Vandana S. Jagtap, Mamta S. Bhamare Abstract— Smart phone is used by most of the population. Different internal architecture of Operating System Over thousands of applications are used daily and a new becomes a reason for redevelopment of application to make it application gets launched as per need. In order to do work on run on each Operating System which in turn incurs lot of cost phones itself many desktop applications are getting converted to mobile version by developers. And it’s real challenge to market in terms of time, money, efforts. Consider example of are these applications and reach to the maximum users. From document editor software like Adobe Reader and Kingsoft developer point of view for application to reach to most of the office. People are also doing work through their Smartphone end users it need to run on max platforms, this needs too. It‘s not necessary that everyone is using windows redevelopment of application, we can solve this problem to some operating system on their Smartphone. Each mobile operating extent by developing cross platform application without system uses different programming model, developer would additional investment. Several techniques are available which will help to make it happen. Survey of these techniques could require additional overhead and troubleshooting since help application developers to make a proper choice. developer might have good hands on particular single platform. Hence, making software as cross platform Index Terms— Cross Compiled Approach, Cross Platform application can be a good option.
    [Show full text]
  • Nativescript O Architecture O Developer Experience O Future Goals • Conclusions Hybrid Approaches
    Runtime Based Hybrid Apps Ruben Smeets Kris Aerts ES&S 26/04/2016 Agenda • Hybrid Approaches • Runtime Based CPT Candidates • Comparison of Titanium / React Native / NativeScript o Architecture o Developer Experience o Future goals • Conclusions Hybrid Approaches WebView Based Runtime Based WebView Container JavaScript Runtime Web Code JavaScript HTML CSS JS Native UI + Device APIs Device APIs Hybrid Approaches WebView Based Web Code UI frameworks & libs DOM - based WebGL - based React Canvas Famo.us + Architectural frameworks Combined frameworks Hybrid Approaches WebView Based Web Code Pure Hybrid Apps Tools Properties UI frameworks & libs • Single WebView • Content & navigation DOM - based WebGL - based in HTML5 • Thin native wrapper React Canvas Famo.us + Architectural frameworks Combined frameworks Hybrid Approaches WebView Based Web Code Pure Hybrid Apps Tools Properties UI frameworks & libs • Single WebView • Content & navigation DOM - based WebGL - based in HTML5 • Thin native wrapper React Canvas Mixed hybrid Apps Pattern Tools Properties • Multiple WebViews Famo.us Blended • Native navigation • E.g.: Apple Store + • WebViews for later stages of Architectural Mullet user flow frameworks • E.g.: Walmart • WebViews for little used or frequently Combined frameworks Fallback changing content • E.g.: Instagram Hybrid Approaches Runtime Based WebView Based Runtime Based WebView Container JavaScript Runtime Web Code JavaScript HTML CSS JS Native UI + Device APIs Device APIs Hybrid Approaches Runtime Based – The “WHY” • Consistent with
    [Show full text]
  • Mobile Application Development Approaches: a Comparative Analysis on the Use of Storage Space
    XXIV Congreso Argentino de Ciencias de la Computación Tandil - 8 al 12 de octubre de 2018 Mobile Application Development Approaches: A Comparative Analysis on the Use of Storage Space Juan Fernández Sosa1, Pablo Thomas1, Lisandro Delía1, Germán Cáseres1, Leonardo Corbalán1, Fernando Tesone1, Alfonso Cuitiño1, Patricia Pesado1 1 Computer Science Research Institute LIDI (III-LIDI)* School of Computer Science, National University of La Plata, La Plata, Buenos Aires, Argentina *Partner Center of the Scientific Research Agency of the Province of Buenos Aires (CICPBA) { jfernandez, pthomas, ldelia, gcaseres, corbalan, ftesone, acuitino,ppesado}@lidi.info.unlp.edu.ar Summary. The purpose of software development is meeting both functional and non-functional requirements. In mobile device applications, non-functional requirements are more relevant due to the restrictions inherent to these devices. One of these restrictions is the availability of limited storage space. Therefore, the size of a mobile application affects user preference for use. In this article, we assess how the choice of a mobile application development approach affects the final size of the application; we focus our analysis on text-, audio- and video-based applications. Keywords: Mobile devices, multi-platform mobile applications, native mobile applications, application size. 1 Introduction Application development for mobile devices poses a number of challenges specific to this activity that were not present in traditional software development [1]. The diversity of platforms, programming languages, and development tools, as well as device heterogeneity as regards computation power, storage and battery life, are just some of the aspects that Software Engineers have to consider. In many cases, the success of an application for mobile devices depends on its popularity.
    [Show full text]
  • MOBILE APPLICATION - CROSS DOMAIN DEVELOPMENT and STUDY of PHONEGAP IJCRR Section: Healthcare Sci
    Review Article MOBILE APPLICATION - CROSS DOMAIN DEVELOPMENT AND STUDY OF PHONEGAP IJCRR Section: Healthcare Sci. Journal Impact Factor Mathangi Krishnamurthi 4.016 Information Technology Department, Pune Institute of Computer Technologies, Pune, MS, India. ABSTRACT There has been a significant development in the market for smart devices and its computational power in the last decade. The combination of computational power, easy portability, inherent features and the ease with which it reaches the common man has propelled this development. The need for mobile solutions has increased exponentially due to the easy and prevalent access to these smart devices. The dilemma met by those wanting to target these consumers was mainly as to which methodology to adopt. Given the fragmented Smartphone market, native development of application was found resource wise and financially not lucrative. There came a need for a “Develop One Time, Deploy anywhere anytime” solution. So this has been solved by the cross-platform mobile application development tool. Phonegap is one such popular framework which embeds HTML5 and CSS3 to provide the needed functionality. Given its generic nature, there is still some need for consideration of its performance as op- posed to a native application. Key Words: Smart devices, Cross-platform development, Phonegap INTRODUCTION CHALLENGES IN MOBILE APPLICATION DEVEL- OPMENT There has been an immense development in the domain of mobile devices. Recent data claims 95.5% of the world pop- Universal user interface ulation have a mobile service subscription [1].The reason for Each platform that is device specific has some guidelines this may include, Smartphones rival the traditional resources to follow for the development of the user interface [3].
    [Show full text]
  • The New Mobile Development Landscape
    The New Mobile Development Landscape © 2017 Progress. All Rights Reserved. All Rights © 2017 Progress. 2018 EBOOK Table of Contents Introduction / 3 Mobile Development The Early Days / 4 Mobile Development Today / 5 Native Development / 6 Browser Development Evolves / 8 Mobile Application Development Platforms (MADP) / 11 Hybrid Mobile Apps / 14 JavaScript-Driven Native Apps / 18 Other Types of Native Apps / 22 Making The Transition / 23 Testing Your Apps / 24 Building Your Mobile App Back-End / 25 © 2018 Progress. All Rights Reserved. All Rights © 2018 Progress. Conclusion / 26 Progress 2 If you poke around on the Internet, you’ll find hundreds or even thousands of frameworks and platforms designed to make platform mobile development easy. There’s almost too many of them to keep track of, and nobody knows which ones are the best, and which ones are worthless. If you’re part of a one to five-person development shop, you can afford to play around at the options to see which works best for you and your apps, potentially even switching approaches between apps. Larger development shops have to think big; the decisions they make around development approach and platform or framework selection have a long term impact on the cost and effectiveness of their development effort. Changing course months or years later means considerable expense migrating off of a flawed or abandoned platform to the shiny new approach. Development organizations must be smart, making the right choice at the app’s creation, knowing that the approach they’ve selected works for the long haul. We’ve created this ebook to help you make smart choices about how you build modern mobile apps.
    [Show full text]
  • 201 Exploring Cross-Platform Tools for Mobile Development: Lessons Learned
    mLearning: Tips and Techniques for Development and Implementation November 14 & 15, 2013 201 Exploring Cross-platform Tools For Mobile Development: Lessons Learned Perry Bennett mLearning: Tips and Techniques for Development and Implementation — November 14 & 15, 2013 Exploring Cross-platform Tools for Mobile Development: Lessons Learned Perry Bennett 2013 Nov 14 Overview . What is Cross-platform Mobile Development? . Pros and Cons of Cross-platform Tools . Tools: Adobe AIR, PhoneGap, Titanium SDK, Corona SDK, Unity, and Responsive Web Design Session 201 – Exploring Cross-platform Tools For Mobile Page 1 Development: Lessons Learned – Perry Bennett mLearning: Tips and Techniques for Development and Implementation — November 14 & 15, 2013 Native Hybrid Web http://applaudservices.com/wp-content/uploads/2013/02/various-mobile-devices.gif 3 Have We Been Here Before? http://www.paulirish.com/2010/high-res-browser-icons/ 4 Session 201 – Exploring Cross-platform Tools For Mobile Page 2 Development: Lessons Learned – Perry Bennett mLearning: Tips and Techniques for Development and Implementation — November 14 & 15, 2013 http://www.androidauthority.com/samsungs-26-screens-226746/ 5 Pros: Reusable Code Base http://http://en.wikipedia.org/wiki/File:Recycle001.svg 6 Session 201 – Exploring Cross-platform Tools For Mobile Page 3 Development: Lessons Learned – Perry Bennett mLearning: Tips and Techniques for Development and Implementation — November 14 & 15, 2013 Pros: Maintenance http://www.techradar.com/news/phone-and-communications/mobile- 7 phones/android-4-1-vs-windows-phone-8-vs-ios-6-1086326
    [Show full text]
  • Project Report CROSS PLATFORM MOBILE APPLICATION DEVELOPMENT
    Project Report on CROSS PLATFORM MOBILE APPLICATION DEVELOPMENT In partial fulfillment for the award of the degree of B. Tech. (CSE) Session: 2018-2019 in Under the Supervision of: Submitted By: Dr. Pradeep Kumar Singh Shivam Sharma Assistant Professor (Senior Grade) Univ. Roll No. 151436 Department of Computer Science & Engineering and Information Technology Jaypee University of Information Technology Waknaghat, Solan-173234, Himachal Pradesh Certificate Candidate’s Declaration This particular report entitled "Cross Platform Mobile Application Development" at partial satisfaction of the needs for the awarding of the B.Tech. degree at CSE/IT filed at the Department of CSE/IT, (JUIT) Waknaghat is a real record of my work completed over a period from August, 2018 to May, 2019 under the oversight of (Dr.Pradeep Kumar Singh) (Assistant Professor, Senior Grade, CSE/IT). The content included in the report hasn't yet been filed anywhere for awarding of any other diploma/degree. (Student Signature) Shivam Sharma, 151436 It is to certify that the preceding statement made by the candidate will be accurate to the best of my understanding. (Supervisor Signature) Supervisor Name: Dr.Pradeep Kumar Singh Designation: Assistant Professor (Senior Grade) Department name: CSE/IT Dated: ACKNOWLEDGEMENT I want take this chance to thank almighty for blessing me with his grace and taking my job to a successful culmination. I extend my sincere and heartfelt thanks to my esteemed project supervisor, Dr. Pradeep Kumar Singh, for providing me with the important guidance and advice at the crucial junctures during coding, while preparing project report and also for guiding me towards right way.
    [Show full text]
  • Mobile App Development: Choosing the Best Development Tools in Practical Labs Dr
    Teaching Mobile App Development: Choosing the best development tools in practical labs Dr. Daniel Dang Dr. David Skelton Eastern Institute of Technology Eastern Institute of Technology [email protected] [email protected] ABSTRACT As mobile app development becomes more mainstream, many educational institutions in New Zealand recognize a need to integrate this subject into the programming-related curriculum. However, one challenge is to select the best framework and development tool to use in the practical labs amongst many available frameworks. Choosing the right tool and language is an important factor for success in teaching and learning within this subject. This paper first presents a detailed discussion on different development tools (language) - Android Studio (Java/Kotlin), Xcode (Swift), Flutter (Dart), React Native (JavaScript), Ionic (HTML5, CSS3, TypeScript), Xamarin (C#), Cordova (HTML5, CSS3, JavaScript), and Appcelerator (JavaScript). This paper concludes by suggesting that the Android Studio IDE (Java) and Flutter Framework are ideal choices for use within practical labs. By using Android Studio, students are able to develop native apps, which are usually high-performance and good user interface, for Android devices. By using the Flutter framework, which is integrated into Android Studio, students gain the capability of creating cross-platform apps running on both Android and iOS smartphones. Furthermore, the paper recommends a collection of eight specific topics which should be covered in the practical sessions to provide students with sufficient technical skills to develop all types of mobile apps at their disposition. While the focus is on the Android platform, these topics can be used to teach other native iOS or cross-platform apps.
    [Show full text]
  • Evaluation of Cross-Platform Tools for Mobile Development Bachelor of Science Thesis in Software Engineering and Management
    Evaluation of Cross-Platform Tools for Mobile Development Bachelor of Science Thesis in Software Engineering and Management ALIREZA PAZIRANDEH EVELINA VOROBYEVA University of Gothenburg Chalmers University of Technology Department of Computer Science and Engineering Göteborg, Sweden, June 2013 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Evaluation of Cross-Platform Tools for Mobile Development Alireza Pazirandeh Evelina Vorobyeva © Alireza Pazirandeh, June 2013. © Evelina Vorobyeva, June 2013. Examiner: Morgan Ericsson University of Gothenburg Chalmers University of Technology Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg,
    [Show full text]
  • White Paper Discusses five Popular, Tried and Tested Tools/Sdks to Create Robust Hybrid Mobile Applications
    5 Popular Hybrid Mobile App Toolkits – How do they compare? Mohammed Nissar Trigent Software Trigent 2 Willow Street, Suite 201, Southborough, MA 01745 1-877-387-4436 www.trigent.com Trigent Software, Inc. All trademarks, marked and unmarked, are the property of their respective owners. ABSTRACT Hybrid mobile applications, like websites, are built using web technologies such as HTML, CSS, and JavaScript. The main differentiator is that hybrid apps are hosted inside a native application wrapper that utilizes mobile platform's WebView. Hybrid applications can even leverage and use device capabilities such as the camera and other sensors. Since hybrid apps are normally built using web technologies, the primary question – “how the app will appear and behave on a mobile device” is on most developers' minds. To ensure that the user interface is suitable for mobile devices, hybrid mobile applications leverage tools and software development kits (SDKs) that provide a consistent set of JavaScript APIs to provide rich touch- optimized interface and to access device capabilities through plug-ins. This white paper discusses five popular, tried and tested Tools/SDKs to create robust hybrid mobile applications. Trigent 2 Willow Street, Suite 201, Southborough, MA 01745 1-877-387-4436 www.trigent.com Trigent Software, Inc. All trademarks, marked and unmarked, are the property of their respective owners. Introduction Hybrid Mobile application frameworks are mostly HTML5 mobile user interface (UI) frameworks which empower programmers to create cross-platform hybrid mobile apps using web technologies that programmers are familiar with, i.e. HTML5, CSS and JavaScript (JS). Hybrid applications are thus, websites' content that is 'wrapped' in native code.
    [Show full text]