Adobe PhoneGap
PhoneGap is a mobile development framework produced by Nitobi, purchased by Adobe Systems.[1][2] It enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of device-specific languages such as Objective-C.[3] The resulting applications are hybrid, meaning that they are neither truly native (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). From 1.9 version onward it is even possible to freely mix native and hybrid code snippets.
The software underlying PhoneGap is Apache Cordova.[4] The software was previously called just "PhoneGap", then "Apache Callback".[5][6] Apache Cordova is open source software.
History
First developed at an iPhoneDevCamp event in San Francisco,[7] PhoneGap went on to win the People's Choice Award at O'Reilly Media's 2009 Web 2.0 Conference[8] and the framework has been used to develop many apps.[9] Apple Inc. has confirmed that the framework has its approval, even with the new 4.0 developer license agreement changes.[10] The PhoneGap framework is used by several mobile application platforms such as ViziApps,[11] Worklight,[12][13] Convertigo[14][15] and appMobi[16] as the backbone of their mobile client development engine. Adobe officially announced the acquisition of Nitobi Software (the original developer) on October 4, 2011.[17] Coincident with that, the PhoneGap code was contributed to the Apache Software Foundation to start a new project called Apache Cordova. The project original name, Apache Callback, was viewed as too generic.[18] Then it also appears in Adobe Systems as Adobe PhoneGap and also as Adobe Phonegap Build.[19]
Early versions of PhoneGap required a person making iOS apps to have an Apple computer, and a person making Windows Mobile apps to have a computer running Windows. After September 2012, the "PhoneGap Build" service allows a programmer to upload his source code to a "cloud compiler" that generates apps for every supported platform.[20]
Design and rationale
The core of PhoneGap applications use HTML5 and CSS3 for their rendering, and JavaScript for their logic. Although HTML5 now provides access to underlying hardware such as the accelerometer, camera and GPS, browser support for HTML5-based device access is not consistent across mobile browsers, particularly older versions of Android. To overcome these limitations, the PhoneGap framework embeds HTML5 code inside a native WebView on the device, using a Foreign Function Interface to access the native resources of the device.[21]
However, the use of web-based technologies leads many PhoneGap applications to run slower than native applications with similar functionality.[22] Adobe Systems warns that applications built using PhoneGap 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).[23][24]
Supported platforms
PhoneGap currently supports development for the operating systems Apple iOS, Google Android, LG webOS, Microsoft Windows Phone, Nokia Symbian OS,[25] RIM BlackBerry and Tizen. Support for recent versions, such as BlackBerry 5 and 6 and Windows Phone 7, is being implemented now.[26][27] Bada (the operating system used by the Samsung Wave S8500) support is "coming soon".[28] The table below is a list of supported features for each operating system.[29]
Feature | iPhone /iPhone 3G | iPhone 3GS and newer | ![]() Android 1.0 – 4.2 |
Windows Phone | ![]() BlackBerry 10 and PlayBook OS |
![]() 4.6–4.7 |
![]() 5.x–6.0+ |
Datei:Bada operating system.png Bada |
Symbian | webOS | ![]() Tizen |
---|---|---|---|---|---|---|---|---|---|---|---|
Accelerometer | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Ja | Ja | Ja | Ja | Ja |
Camera | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Ja | Ja | Ja | Ja | Vorlage:Partial |
Compass | Vorlage:N/a | Ja | Ja | Ja | Ja | Vorlage:N/a | Vorlage:N/a | Ja | Vorlage:N/a | Ja | Ja |
Contacts | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Ja | Ja | Ja | Vorlage:N/a | Ja |
File | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Ja | Vorlage:N/a | Vorlage:N/a | Vorlage:N/a | Ja |
Geolocation | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Media | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Vorlage:N/a | Vorlage:N/a | Vorlage:N/a | Vorlage:N/a | Vorlage:Partial |
Network | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Notification (alert) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Notification (sound) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Notification (vibration) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Storage | Ja | Ja | Ja | Ja | Ja | Vorlage:N/a | Ja | Vorlage:N/a | Ja | Ja | Ja |
See also
- AppGyver Steroids Tooling to develop, iterate and distribute PhoneGap-based apps across the two major smartphone platforms – Android and iOS – with no requirement for Xcode or Eclipse.
- Multiple phone web based application framework
- List of rich Internet application frameworks
References
Bibliography
- Matt Gifford: PhoneGap Mobile Application Development Cookbook. 1st Auflage. Packt Publishing, 2012, ISBN 978-1-84951-858-1, S. 320 (packtpub.com).
- John M. Wargo: PhoneGap Essentials: Building Cross-Platform Mobile Apps. 1st Auflage. Addison-Wesley Professional, 2012, ISBN 978-0-321-81429-6, S. 384 (phonegapessentials.com).
- Jamie Munro: 20 Recipes for Programming PhoneGap: Cross-Platform Mobile Development for Android and iPhone. 1st Auflage. O'Reilly Media, 2012, ISBN 978-1-4493-1954-0, S. 76 (oreilly.com).
- Joshua Marinacci: Building Mobile Applications with Java: Using the Google Web Toolkit and PhoneGap. 1st Auflage. O'Reilly Media, 2012, ISBN 978-1-4493-0823-0, S. 86 (oreilly.com).
- Andrew Lunny: PhoneGap Beginner's Guide. 1st Auflage. Packt Publishing, 2011, ISBN 1-84951-536-0, S. 328 (packtpub.com).
- Rohit Ghatol: Beginning PhoneGap: Mobile Web Framework for JavaScript and HTML5. 1st Auflage. Apress, 2011, ISBN 1-4302-3903-4, S. 700 (apress.com).
- Thomas Myer: Beginning PhoneGap. 1st Auflage. Wrox, 2011, ISBN 1-118-15665-X, S. 336 (wiley.com).
External links
- ↑ Adobe Announces Agreement to Acquire Nitobi, Creator of PhoneGap. Adobe.com, 3. Oktober 2011, abgerufen am 7. April 2012.
- ↑ Andre Charland's Answers on PhoneGap. Quora, abgerufen am 7. April 2012.
- ↑ Jose Fermoso: PhoneGap Seeks to Bridge the Gap Between Mobile App Platforms. In: GigaOM. 5. April 2009, abgerufen am 7. April 2012.
- ↑ Apache Cordova gets a new look - The H Open Source: News and Features. H-online.com, 22. Februar 2012, abgerufen am 7. April 2012.
- ↑ Apache Callback Project Incubation Status
- ↑ Apache Callback Proposal
- ↑ http://www.eweek.com/c/a/Application-Development/PhoneGap-Simplifies-iPhone-Android-BlackBerry-Development-788189/
- ↑ Lidija Davis: PhoneGap: People's Choice Winner at Web 2.0 Expo Launch Pad. Readwriteweb.com, 2. April 2009, abgerufen am 7. April 2012.
- ↑ PhoneGap Apps. Phonegap.com, abgerufen am 6. Dezember 2012.
- ↑ PhoneGap and the Apple developer license agreement. « PhoneGap. Phonegap.com, 14. April 2010, abgerufen am 7. April 2012.
- ↑ Create Mobile and Web Apps with HTML5 and JavaScript. ViziApps.com, abgerufen am 7. April 2012.
- ↑ Mobile Application Platform and Tools. Worklight, 16. Januar 2012, abgerufen am 7. April 2012.
- ↑ How PhoneGap plays an important part in our Enterprise offering « PhoneGap. Phonegap.com, 27. Juni 2011, abgerufen am 7. April 2012.
- ↑ Open Source Mobile Enablement and Enterprise Mashups. Convertigo, abgerufen am 7. April 2012.
- ↑ Convertigo Mobilizer Uses PhoneGap Build APIs « PhoneGap. Phonegap.com, 7. Juli 2011, abgerufen am 7. April 2012.
- ↑ Create Mobile and Web Apps with HTML5 and JavaScript |. appMobi.com, abgerufen am 7. April 2012.
- ↑ Stephen Shankland: Adobe buys PhoneGap, TypeKit for better Web tools | Deep Tech - CNET News. News.cnet.com, 3. Oktober 2011, abgerufen am 7. April 2012.
- ↑ finding a new name that isn't PhoneGap - Brian LeRoux - org.apache.incubator.callback-dev. MarkMail, 28. Oktober 2011, abgerufen am 7. April 2012.
- ↑ Adobe PhoneGap Build. Adobe Systems Inc.
- ↑ Klint Finley. "Adobe Launches Hosted PhoneGap Build Service For Creating Cross-Platform Mobile Apps". 2012.
- ↑ The Development of Mobile Applications using HTML5 and PhoneGap on Intel Architecture-Based Platforms. 22. Juni 2012, abgerufen am 17. Februar 2013: „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: Titanium vs Phonegap vs Native application development. 21. Juni 2012, abgerufen am 17. Februar 2013.
- ↑ PhoneGap advice on dealing with Apple application rejections. Adobe Systems, 29. Oktober 2012, abgerufen am 17. Februar 2013.
- ↑ Creating apps with PhoneGap: Lessons learned. Adobe Systems, 17. September 2012, abgerufen am 17. Februar 2013: „When 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“
- ↑ Using PhoneGap and the Sony Ericsson WebSDK to develop Android apps. Android and Me, abgerufen am 7. April 2012.
- ↑ Attempt to implement PhoneGap on Windows Phone 7.
- ↑ PhoneGap BlackBerry WebWorks (for BlackBerry OS 5.0 and 6.0). Abgerufen am 31. Januar 2011.
- ↑ PhoneGap Build. Build.phonegap.com, abgerufen am 7. April 2012.
- ↑ PhoneGap supported features