Apache Cordova (formerly PhoneGap) is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova.[5] Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone.[6] It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.
![]() | |
Original author(s) | Joe Bowser, Michael Brooks, Rob Ellis, Dave Johnson, Anis Kadri, Brian Leroux, Jesse MacFadyen, Filip Maj, Eric Oesterle, Brock Whitten, Herman Wong, Shazron Abdullah |
---|---|
Initial release | 2009 |
Stable release | 12.0.0[1] ![]() |
Written in | C#, C++, CSS, HTML, Java, JavaScript and Objective-C |
Platform | Android iOS, macOS Windows (8.1, 10, Phone 8.1) Electron[2] |
Type | Mobile development framework |
License | Apache License 2.0[3][4] |
Website | cordova |
The software was previously called just "PhoneGap", then "Apache Callback".[7][8]
PhoneGap was Adobe's commercial version of Cordova along with its associated ecosystem. Many other tools and frameworks are also built on top of Cordova, including Ionic,[9] Monaca, VoltBuilder, TACO, Onsen UI, GapDebug, App Builder, Cocoon, Framework7, Quasar Framework, Evothings Studio, NSB/AppStudio, Mobiscroll, and Telerik Platform.[10] These tools use Cordova, and not PhoneGap for their core tools.
Contributors to the Apache Cordova project include Adobe, BlackBerry, Google, IBM, Intel, Microsoft, Mozilla, and others.[11]
History
editThis section may require cleanup to meet Wikipedia's quality standards. The specific problem is: Verb tense, grammar errors, and writing comprehension. Facts might be good but it doesn't flow. (August 2024) |
PhoneGap was first developed at an iPhoneDevCamp event in San Francisco in August 2008.[12] Apple Inc. has confirmed that the framework has its approval, even with the change to clause 3.3.1 of the Apple iPhone SDK developer license agreement 4.0 adopted in 2010. The PhoneGap framework is used by several mobile application platforms such as Monaca, appMobi, Convertigo, ViziApps, and Worklight as the backbone of their mobile client development engine.
Adobe acquired Nitobi Software (the original developer) on October 3, 2011.[13] Coinciding with that, the PhoneGap code was contributed to the Apache Software Foundation to start a new project called Apache Cordova.[14] The project's original name, Apache Callback,[15] was viewed as too generic.[citation needed] Then, it also appears in Adobe Systems as Adobe PhoneGap and also as Adobe PhoneGap Build.[citation needed]
Early versions of PhoneGap required an Apple computer to create iOS apps and a Windows computer to create Windows Mobile apps. After September 2012, Adobe's PhoneGap Build service allows programmers to upload CSS, HTML, and JavaScript source code to a "cloud compiler" that generates apps for every supported platform. This service was discontinued in 2020.
Design and rationale
editThe core of an Apache Cordova application uses CSS3 and HTML5 for rendering and JavaScript for logic. HTML5 provides access to underlying hardware such as the accelerometer, camera, and GPS. However, browsers' support for HTML5-based device access is not consistent across mobile browsers, particularly older versions of Android. To overcome these limitations, Apache Cordova embeds the HTML5 code inside a native WebView on the device, using a foreign function interface to access the native resources of it.[16]
Apache Cordova can be extended with native plug-ins, allowing developers to add more functionalities that can be called from JavaScript, making it communicate directly between the native layer and the HTML5 page. These plugins allow access to the device's accelerometer, camera, compass, file system, microphone, and more.
However, the use of Web-based technologies leads some Apache Cordova applications to run slower than native applications with similar functionality.[17]
Supported platforms
editAs of version 11, Apache Cordova currently supports development for the operating systems Apple iOS, Google Android, Windows 8.1, Windows Phone 8.1, Windows 10 and Electron (software framework) (which in turn runs on Windows, Linux and macOS).[18] Earlier version of Apache Cordova used to support Bada, BlackBerry, Firefox OS,[19][20] LG webOS, Microsoft Windows Phone (7 and 8), macOS, Nokia Symbian OS, Tizen (SDK 2.x), and Ubuntu Touch.[21][22]
This article needs to be updated.(February 2019) |
See also
editReferences
edit- ^ https://cordova.apache.org/news/2023/05/22/cordova-cli-12.0.0.html.
{{cite web}}
: Missing or empty|title=
(help) - ^ "Cordova support by platform - Apache Cordova". cordova.apache.org.
- ^ "PhoneGap License". Phonegap.com. Archived from the original on 2011-06-17. Retrieved 2013-10-09.
- ^ "FAQ | PhoneGap Build | Edge Tools & Services | Adobe & HTML". Html.adobe.com. Retrieved 2013-10-09.
- ^ "Adobe Announces Agreement to Acquire Nitobi, Creator of PhoneGap". Adobe.com. 2011-10-03. Archived from the original on 2012-04-13. Retrieved 2012-04-07.
- ^ Jose Fermoso (April 5, 2009). "PhoneGap Seeks to Bridge the Gap Between Mobile App Platforms". GigaOM. Archived from the original on 2009-04-08. Retrieved 2012-04-07.
- ^ Community, Tiki. "Apache Callback - Tiki Wiki CMS Groupware :: Development". Tiki Wiki CMS Groupware :: Development. Archived from the original on 4 April 2018. Retrieved 3 April 2018.
- ^ "Apache Callback Proposal". Wiki.phonegap.com. 2013-08-15. Archived from the original on 2011-10-05. Retrieved 2013-10-09.
- ^ "The Last Word on Cordova and PhoneGap". The Official Ionic Blog. 6 March 2014.
- ^ "Apache Cordova". Apache Cordova.
- ^ "Cordova Contributor's Who's Who". apache.org. 2015-11-02. Archived from the original on 2015-07-16. Retrieved 2015-11-02.
- ^ Myer, Thomas (2011-11-11). Beginning PhoneGap. John Wiley & Sons. ISBN 978-1-118-23932-2.
- ^ Rao, Leena (2011-10-03). "Adobe Acquires Developer Of HTML5 Mobile App Framework PhoneGap Nitobi". TechCrunch. Retrieved 2023-07-20.
- ^ Finley, Klint (2012-09-24). "Adobe Launches Hosted PhoneGap Build Service For Creating Cross-Platform Mobile Apps". TechCrunch. Retrieved 2023-07-20.
- ^ Wargo, John M. (2015-03-26). Apache Cordova 4 Programming. Addison-Wesley Professional. ISBN 978-0-13-404827-7.
- ^ "The Development of Mobile Applications using HTML5 and PhoneGap on Intel Architecture-Based Platforms". 2012-06-22. Retrieved 2013-02-17.
However, HTML5 has some limitations. Most prominent is the lack of API to access device hardware and sensors such as accelerometer, compass, GPS, etc. While native applications can access device hardware, they lack the portability that Web apps provide. Thus, a solution is to code a hybrid application, which cumulatively uses the benefits of native and Web apps.
- ^ Sapan Diwakar (2012-06-21). "Titanium vs Phonegap vs Native application development". Retrieved 2013-02-17.
- ^ "Cordova support by platform - Apache Cordova". cordova.apache.org. Retrieved 2023-07-28.
- ^ "Building Cordova apps for Firefox OS ✩ Mozilla Hacks – the Web developer blog". 20 February 2014. Retrieved 26 February 2014.
- ^ "Using PhoneGap and the Sony Ericsson WebSDK to develop Android apps". Android and Me. Retrieved 2012-04-07.
- ^ "Platform Support". Adobe PhoneGap. Archived from the original on 2013-10-26. Retrieved 2016-02-23.
- ^ "PhoneGap supported features". Phonegap.com. Archived from the original on 2011-06-22. Retrieved 2013-10-09.
Bibliography
edit- Pelletier, Jeff (April 25, 2013). Mobile App Manual: The Blueprint (1st ed.). Withinsight Publishing. p. 96. ISBN 978-0989072106.
- Shotts, Kerri (February 26, 2013). PhoneGap 2.x Mobile Application Development Hotshot (1st ed.). Packt Publishing. p. 388. ISBN 978-1849519403.
- Gifford, Matt (October 22, 2012). PhoneGap Mobile Application Development Cookbook (1st ed.). Packt Publishing. p. 320. ISBN 978-1849518581.
- M. Wargo, John (June 11, 2012). PhoneGap Essentials: Building Cross-Platform Mobile Apps (1st ed.). Addison-Wesley Professional. p. 384. ISBN 978-0321814296. Archived from the original on April 3, 2015. Retrieved June 29, 2012.
- Munro, Jamie (March 29, 2012). 20 Recipes for Programming PhoneGap: Cross-Platform Mobile Development for Android and iPhone (1st ed.). O'Reilly Media. p. 76. ISBN 978-1-4493-1954-0.
- Marinacci, Joshua (March 21, 2012). Building Mobile Applications with Java: Using the Google Web Toolkit and PhoneGap (1st ed.). O'Reilly Media. p. 86. ISBN 978-1-4493-0823-0.
- Lunny, Andrew (September 23, 2011). PhoneGap Beginner's Guide (1st ed.). Packt Publishing. p. 328. ISBN 978-1-84951-536-8.
- Ghatol, Rohit (November 14, 2011). Beginning PhoneGap: Mobile Web Framework for JavaScript and HTML5 (1st ed.). Apress. p. 700. ISBN 978-1-4302-3903-1.
- Myer, Thomas (December 13, 2011). Beginning PhoneGap (1st ed.). Wrox. p. 336. ISBN 978-1-118-15665-0. Archived from the original on June 4, 2015. Retrieved October 10, 2011.