Apache Cordova

From Wikipedia, the free encyclopedia

Jump to navigationJump to search

Apache Cordova
Open source Apache Cordova logo image.png
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
Stable release
8.0 / December 14, 2017[1][2][3]
Written in C#C++CSSHTMLJavaJavaScript and Objective-C
Platform AndroidiOS, Windows 8.1, Phone 8.1 and 10, OS X[4] Experimental Platform: Electron (software framework)

Deprecated Platforms:BlackBerryFirefox OS,SymbianUbuntu TouchwebOSWindows Phone7.0 and 8.0[5]

Available in English
Type mobile development framework
License Apache 2.0 License[6][7]
Website cordova.apache.org

Apache Cordova (formerly PhoneGap) is a mobile application development framework originally created by NitobiAdobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open source version of the software called Apache Cordova.[8] Apache Cordova enables software programmers to build applications for mobile devices using CSS3HTML5, and JavaScript instead of relying on platform-specific APIs like those in AndroidiOS, or Windows Phone.[9] It enables wrapping up of CSS, HTML, and JavaScript code depending upon 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 (because all layout rendering is done via Web views instead of the platform’s native UI framework) nor purely Web-based (because they are not just Web apps, but 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.

The software was previously called just “PhoneGap”, then “Apache Callback”.[10][11] As open-source software, Apache Cordova allows wrappers around it, such as Appery.io or Intel XDK.

PhoneGap is 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,[12] MonacaTACO, Onsen UI, Visual Studio, GapDebug, App Builder, Cocoon, Framework7, Quasar Framework, Evothings Studio, NSB/AppStudio, Mobiscroll, the Intel XDK,[13] and the Telerik Platform.[14] These tools use Cordova, and not PhoneGap for their core tools.

Contributors to the Apache Cordova project include AdobeBlackBerryGoogleIBMIntelMicrosoftMozilla, and others.[15]


First developed at an iPhoneDevCamp event in San Francisco,[16] PhoneGap went on to win the People’s Choice Award at O’Reilly Media‘s 2009 Web 2.0 Conference,[17] and the framework has been used to develop many apps.[18] Apple Inc. has confirmed that the framework has its approval, even with the new 4.0 developer license agreement changes.[19] The PhoneGap framework is used by several mobile application platforms such as Monaca,[20] appMobi,[21]Convertigo,[22][23] ViziApps,[24] and Worklight[25][26] as the backbone of their mobile client development engine.

Adobe officially announced the acquisition of Nitobi Software (the original developer) on October 4, 2011.[27] Coinciding with that, the PhoneGap code was contributed to the Apache Software Foundation to start a new project called Apache Cordova. The project’s original name, Apache Callback, was viewed as too generic.[28] Then, it also appears in Adobe Systems as Adobe PhoneGap and also as Adobe PhoneGap Build.[29]

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 CSSHTML, and JavaScript source code to a “cloud compiler” that generates apps for every supported platform.[30]

Design and rationale[edit]

The core of Apache Cordova applications use CSS3 and HTML5 for their rendering and JavaScript for their 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.[31]

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.[32]Adobe Systems warns that applications built with Apache Cordova may be rejected by Apple for being too slow or not feeling “native” enough (having appearance and functionality consistent with what users have come to expect on the platform).[33][34]

Supported platforms[edit]

Apache Cordova currently supports development for the operating systems Apple iOSBadaBlackBerryFirefox OS,[35] Google Android,[36] LG webOS, Microsoft Windows Phone (7 and 8), Nokia Symbian OS, Tizen (SDK 2.x), and Ubuntu Touch. The table below is a list of supported features for each operating system.[37][38]

Feature Android[39] Apple iPhone /iPhone 3G Apple iPhone 3GS and newer Bada BlackBerry 10 and PlayBook OS BlackBerry OS 4.6–4.7 BlackBerry OS 5.0-6.0+ Firefox OS Symbian Tizen webOS Ubuntu Touch Windows Phone
Accelerometer Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes
Camera Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes Yes
Compass Yes N/A Yes Yes Yes N/A N/A Yes N/A Yes Yes Yes Yes
Contacts Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes N/A N/A Yes
File Yes Yes Yes N/A Yes N/A Yes N/A N/A Yes N/A Yes Yes
Geolocation Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Media Yes Yes Yes N/A Yes N/A N/A N/A N/A Yes N/A Yes Yes
Network Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Notification (alert, sound, vibration) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Storage Yes Yes Yes N/A Yes N/A Yes Yes Yes Yes Yes Yes Yes

See also[edit]


  1. Jump up^ “apache/cordova-cli”GitHub.
  2. Jump up^ https://www.npmjs.com/package/cordova
  3. Jump up^ “Tools Released! – Apache Cordova”cordova.apache.org.
  4. Jump up^ “Cordova support by platform – Apache Cordova”cordova.apache.org.
  5. Jump up^ “apache/cordova”GitHub.
  6. Jump up^ “PhoneGap License”. Phonegap.com. Retrieved 2013-10-09.
  7. Jump up^ “FAQ | PhoneGap Build | Edge Tools & Services | Adobe & HTML”. Html.adobe.com. Retrieved 2013-10-09.
  8. Jump up^ “Adobe Announces Agreement to Acquire Nitobi, Creator of PhoneGap”. Adobe.com. 2011-10-03. Retrieved 2012-04-07.
  9. Jump up^ Jose Fermoso (April 5, 2009). “PhoneGap Seeks to Bridge the Gap Between Mobile App Platforms”GigaOM. Retrieved 2012-04-07.
  10. Jump up^ Community, Tiki. “Apache Callback – Tiki Wiki CMS Groupware :: Development”Tiki Wiki CMS Groupware :: Development. Retrieved 3 April2018.
  11. Jump up^ “Apache Callback Proposal”. Wiki.phonegap.com. 2013-08-15. Retrieved 2013-10-09.
  12. Jump up^ “The Last Word on Cordova and PhoneGap”The Official Ionic Blog.
  13. Jump up^ “Intel XDK”Intel Developer Zone.
  14. Jump up^ “Apache Cordova”Apache Cordova.
  15. Jump up^ “Cordova Contributor’s Who’s Who”. apache.org. 2015-11-02. Retrieved 2015-11-02.
  16. Jump up^ Darryl K. Taft (2009-03-13). “PhoneGap Simplifies iPhone, Android, BlackBerry Development”. Eweek.com. Retrieved 2013-10-09.
  17. Jump up^ Davis, Lidija (2009-04-02). “PhoneGap: People’s Choice Winner at Web 2.0 Expo Launch Pad”. Readwriteweb.com. Retrieved 2012-04-07.
  18. Jump up^ “PhoneGap Apps”. Phonegap.com. Retrieved 2012-12-06.
  19. Jump up^ “PhoneGap and the Apple developer license agreement. « PhoneGap”. Phonegap.com. 2010-04-14. Archived from the original on 2012-04-15. Retrieved 2012-04-07.
  20. Jump up^ “Develop Awesome PhoneGap Apps with Awesome Tools”. monaco.mobi. Retrieved 2014-06-10.
  21. Jump up^ “Create Mobile and Web Apps with HTML5 and JavaScript |”. appMobi.com. Retrieved 2012-04-07.
  22. Jump up^ “Open Source Mobile Enablement and Enterprise Mashups”. Convertigo. Retrieved 2012-04-07.
  23. Jump up^ “Convertigo Mobilizer Uses PhoneGap Build APIs « PhoneGap”. Phonegap.com. 2011-07-07. Archived from the original on 2012-05-13. Retrieved 2012-04-07.
  24. Jump up^ “Create Mobile and Web Apps with HTML5 and JavaScript”. ViziApps.com. Retrieved 2012-04-07.
  25. Jump up^ “Mobile Application Platform and Tools”. Worklight. 2012-01-16. Retrieved 2012-04-07.
  26. Jump up^ “How PhoneGap plays an important part in our Enterprise offering PhoneGap”. Phonegap.com. 2011-06-27. Archived from the original on 2012-04-15. Retrieved 2012-04-07.
  27. Jump up^ Shankland, Stephen (2011-10-03). “Adobe buys PhoneGap, TypeKit for better Web tools | Deep Tech – CNET News”. News.cnet.com. Retrieved 2012-04-07.
  28. Jump up^ “finding a new name that isn’t PhoneGap – Brian LeRoux – org.apache.incubator.callback-dev”. MarkMail. 2011-10-28. Retrieved 2012-04-07.
  29. Jump up^ “Adobe PhoneGap Build”. Adobe Systems Inc.
  30. Jump up^ Klint Finley. “Adobe Launches Hosted PhoneGap Build Service For Creating Cross-Platform Mobile Apps”. 2012.
  31. Jump up^ “The Development of Mobile Applications using HTML5 and PhoneGap on Intel Architecture-Based Platforms”. 2012-06-22. Retrieved 2013-02-17However, 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.
  32. Jump up^ Sapan Diwakar (2012-06-21). “Titanium vs Phonegap vs Native application development”. Retrieved 2013-02-17.
  33. Jump up^ “PhoneGap advice on dealing with Apple application rejections”Adobe Systems. 2012-10-29. Retrieved 2013-02-17.
  34. Jump up^ “Creating apps with PhoneGap: Lessons learned”Adobe Systems. 2012-09-17. Retrieved 2013-02-17When you add more complex CSS3 elements, heavy transitions, and supporting multiple devices (such as iOS and Android), however, it makes you realize that there are few steps you must iron out to prevent hair loss
  35. Jump up^ “Building Cordova apps for Firefox OS ✩ Mozilla Hacks – the Web developer blog”. 20 February 2014. Retrieved 26 February 2014.
  36. Jump up^ “Using PhoneGap and the Sony Ericsson WebSDK to develop Android apps”. Android and Me. Retrieved 2012-04-07.
  37. Jump up^ “Platform Support”. Adobe PhoneGap. Retrieved 2016-02-23.
  38. Jump up^ “PhoneGap supported features”. Phonegap.com. Retrieved 2013-10-09.
  39. Jump up^ “Android Platform Guide – Apache Cordova”cordova.apache.org. Retrieved 3 April 2018.


External links[edit]


Um comentário em “Apache Cordova

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s