PhoneGap

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
PhoneGap
Maintainer Joe Bowser, Michael Brooks, Rob Ellis, Dave Johnson, Anis Kadri, Brian Leroux, Jesse MacFadyen, Filip Maj, Eric Oesterle, Brock Whitten, Herman Wong, Shazron Abdullah
Entwickler Adobe Systems
Aktuelle Version 5.4.1
(7. Januar 2016)
Betriebssystem iOS, Android, webOS, Symbian OS, Blackberry, Windows Phone, Windows 8
Programmier­sprache JavaScript, HTML5, CSS 3
Lizenz Apache Lizenz 2.0[1]
phonegap.com, cordova.apache.org

PhoneGap ist ein Framework zur Erstellung hybrider Applikationen für mobile Endgeräte. PhoneGap wurde ursprünglich von der Firma Nitobi produziert, welche 2011 von Adobe Systems gekauft wurde.[2]

PhoneGap ermöglicht es, Anwendungssoftware für mobile Endgeräte mit JavaScript, HTML5 und CSS 3 zu schreiben, anstelle von gerätespezifischen Programmiersprachen wie Objective-C oder Java. Die dabei entstehenden Applikationen sind hybride Applikationen; sie sind weder native Applikationen, weil das Layout mittels Webtechnologien und nicht mit nativen User Interface Frameworks geschrieben wird, noch sind sie webbasierte Applikationen, da sie als Apps über die Verkaufsportale der Betriebssystemhersteller verteilt werden können und auf die Programmierschnittstellen der Betriebssysteme der Endgeräte zugreifen können.[3] Ab der Version 1.9 ist es sogar möglich, frei native und hybride Codeteile zu mischen.

PhoneGap baut auf Apache Cordova auf,[4] welches von Adobe/Nitobi der Apache Software Foundation gespendet wurde.[5] Apache Cordova hieß ursprünglich ebenfalls PhoneGap, musste aber aus rechtlichen Gründen umbenannt werden, da für Apache-Projekte aus markenrechtlichen Gründen keine bereits belegten Namen verwendet werden dürfen.[5] Es wurde zunächst Apache Callback genannt und später in Apache Cordova umbenannt.[5][6] Bei Adobe Systems taucht es auch als Adobe PhoneGap und Adobe PhoneGap Build auf.[7]

PhoneGap wurde für die Erstellung vieler mobiler Applikationen verwendet, auf der PhoneGap-Website werden 1.890 in den diversen Online Stores vertriebene gelistet.[8] Apple Inc. hat bestätigt, dass das Framework auch mit den 4.0-Entwickler-Lizenzabkommen kompatibel ist.[9]

PhoneGap wird von verschiedenen mobilen Applikationsplattformen wie ViziApps, Worklight,[10] Convertigo[11] appMobi und AppByYou verwendet. Die JavaScript-Bibliothek Sencha Touch ist seit der Version 2.3 kompatibel mit PhoneGap, wodurch eine vereinfachte Integration von APIs, wie Notifikation, Kontakte, Speicher oder Kamera möglich ist.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Erstmals vorgestellt und weiterentwickelt wurde PhoneGap während eines iPhoneDevCamp Events in San Francisco.[12] Bei der O'Reilly Media 2009 Web 2.0 Conference gewann PhoneGap den People's Choice Award.[13]

Am 4. Oktober 2011 verkündete Adobe offiziell die Übernahme von Nitobi Software, der ursprünglich hinter der PhoneGap Entwicklung stehenden Firma.[14] Gleichzeitig wurde PhoneGap der Apache Software Foundation gespendet.

Frühe Versionen von PhoneGap benötigten einen Apple-Computer, um iOS-Applikationen, und einen Windows PC, um Windows-Mobile-Applikationen erstellen zu können. Seit September 2012 ermöglicht Adobes PhoneGap Build Service das Hochladen von PhoneGap-Applikationen in Form von HTML-, CSS- und JavaScript-Sourcecode in einen sogenannten "Cloud compiler", der die Applikationen für alle unterstützten Plattformen generiert.[15]

Vorgehensweise[Bearbeiten | Quelltext bearbeiten]

PhoneGap-Applikationen verwenden HTML5 und CSS3 für die Darstellung und JavaScript für die Programmlogik. Obwohl HTML5 Zugriff auf mobile Technologien wie Beschleunigungssensor, Kamera und GPS ermöglicht, wird HTML5 noch nicht gleichmäßig für alle mobilen Browser, speziell für ältere Androidversionen, angeboten. Um diese Beeinträchtigungen zu vermeiden, bettet das PhoneGap-Framework HTML5-Code in einer nativen WebView mittels Foreign Function Interface ein. Damit können die nativen APIs der Geräte direkt angesprochen werden.[16]

PhoneGap kann auch mit nativen Plug-ins, welche den Entwicklern per JavaScript aufrufbare Funktionalitäten zur Verfügung stellen, erweitert werden.[17] PhoneGap stellt bereits Plug-ins für den Zugriff auf Kontakte und Termine, Benachrichtigungen, Locale des Benutzers, Speicher und Dateien, Device- und Verbindungsinformationen, Splash Screen, In-App-Browser, Beschleunigungssensor, Kamera, Ton-, Bild- und Videoaufnahme und -abspielung, Kompass und GPS zur Verfügung.

Durch die Verwendung der webbasierten Technologien werden PhoneGap-Applikationen unter Umständen langsamer als native Applikationen mit gleichartiger Funktionalität.[18] Adobe Systems warnt davor, dass mit PhoneGap entwickelte Applikationen möglicherweise von Apple, auf Grund ihrer geringen Geschwindigkeit oder weil sie sich nicht „nativ genug“ anfühlen, nicht akzeptiert werden.[19][20]

Unterstützte Plattformen[Bearbeiten | Quelltext bearbeiten]

PhoneGap unterstützt derzeit die Entwicklung für die Betriebssysteme Apple iOS, Google Android, LG webOS, Microsoft Windows Phone, RIM Blackberry und Tizen (SDK 2.x).[21]

Erweiterungen von PhoneGap für andere Betriebssysteme und Versionen sind geplant oder werden von anderen Herstellern angeboten. Unterstützt wird unter anderem Nokia Symbian OS[22], Bada.[23]

Die folgende Tabelle zeigt, welche für Mobile Devices typischen Fähigkeiten je Betriebssystem von PhoneGap unterstützt werden:[24]

Fähigkeiten bis iPhone 3G ab iPhone 3GS Android Windows Phone BlackBerry 10, PlayBook OS Black Berry 4.6–4.7 Black Berry 5.x–6.0+ Bada Symbian webOS Tizen
Beschleunigungssensor ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja
Kamera ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja
Kompass ✘ Nein ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✘ Nein ✔ Ja ✘ Nein ✔ Ja ✔ Ja
Kontakte ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja
Dateien ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja ✘ Nein ✘ Nein ✘ Nein ✔ Ja
Geolocation ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja
Medien ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✘ Nein ✘ Nein ✘ Nein ✘ Nein ✔ Ja
Netzwerk ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja
Benachrichtigungen (Alarm, Ton, Vibration) ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja
Speicher ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✔ Ja ✘ Nein ✔ Ja ✘ Nein ✔ Ja ✔ Ja ✔ Ja

Siehe auch[Bearbeiten | Quelltext bearbeiten]

  • Vaadin TouchKit – Framework für die Erstellung endgeräteunabhängiger mobiler Applikationen in Java. Basiert ebenfalls auf Apache Cordova

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. PhoneGap License
  2. Adobe Announces Agreement to Acquire Nitobi, Creator of PhoneGap. Adobe.com, 3. Oktober 2011, abgerufen am 20. Oktober 2013.
  3. Marcus Ross: Cross-Plattform-Apps mit PhoneGap entwickeln. Heise Developer, 13. August 2013, abgerufen am 25. Oktober 2013 (deutsch).
  4. Apache Cordova gets a new look - The H Open Source: News and Features. H-online.com. 22. Februar 2012. Abgerufen am 7. April 2012.
  5. a b c Brian: PhoneGap, Cordova, and what’s in a name? In: PhoneGap Blog. PhoneGap, 22. März 2012, abgerufen am 25. Oktober 2013 (englisch).
  6. Brian LeRoux: finding a new name that isn't PhoneGap. org.apache.incubator.callback-dev, 28. Oktober 2011, abgerufen am 25. Oktober 2013 (englisch).
  7. Adobe PhoneGap Build. Adobe Systems Inc., abgerufen am 25. Oktober 2013 (englisch).
  8. PhoneGap Apps. Phonegap.com, abgerufen am 25. Oktober 2013 (englisch).
  9. Jesse: PhoneGap and the Apple developer license agreement. Phonegap.com, 14. April 2010, abgerufen am 25. Oktober 2013 (englisch, In no uncertain terms, my contacts at Apple have assured me that "PhoneGap is not in violation of the 3.3.1 clause of the license agreement.").
  10. Ron Perry: How PhoneGap plays an important part in our Enterprise offering. Phonegap.com, 27. Juni 2011, abgerufen am 25. Oktober 2013 (englisch): „At Worklight, we are not regular PhoneGap users: rather than developing PhoneGap-based apps, we have embedded PhoneGap into our enterprise-oriented mobile platform, and are fully exposing the PhoneGap APIs to our customers.“
  11. Capulet: Convertigo Mobilizer Uses PhoneGap Build APIs. 7. Juli 2011, abgerufen am 25. Oktober 2013 (englisch): „One of the exciting features of Convertigo Moblizer is the ability to build cross platform native applications on iOS, Android, and BlackBerry. This features was made possible by integrating PhoneGap Build APIs in the Convertigo Server.“
  12. Darryl K. Taft: PhoneGap Simplifies iPhone, Android, BlackBerry Development. Eweek.com, 13. März 2009, abgerufen am 25. Oktober 2013 (englisch): „Ellis said the idea for the PhoneGap technology came out of an iPhoneDevCamp event in San Francisco.“
  13. Davis Lidija: PhoneGap: People's Choice Winner at Web 2.0 Expo Launch Pad. Readwriteweb.com, 2. April 2009, abgerufen am 25. Oktober 2013 (englisch).
  14. Stephen Shankland: Adobe buys PhoneGap, TypeKit for better Web tools. News.cnet.com, 3. Oktober 2011, abgerufen am 25. Oktober 2013 (englisch).
  15. Klint Finley: Adobe Launches Hosted PhoneGap Build Service For Creating Cross-Platform Mobile Apps. TechCrunch, 24. September 2012, abgerufen am 25. Oktober 2013 (englisch).
  16. Prital Shah, Jacques Bourhis, Kaining Yuan, Rao Meghana S: The Development of Mobile Applications using HTML5 and PhoneGap* on Intel® Architecture-Based Platforms. Intel Corporation, 22. Juni 2012, abgerufen am 26. Oktober 2013 (englisch): „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.“
  17. Plugin Development Guide. In: PhoneGap Documentation. PhoneGap, abgerufen am 26. Oktober 2013 (englisch).
  18. Sapan Diwakar: Titanium vs Phonegap vs Native application development. 21. Juni 2012, abgerufen am 8. August 2014 (englisch).
  19. Andrew Trice: PhoneGap advice on dealing with Apple application rejections. Adobe Systems, 29. Oktober 2012, abgerufen am 26. Oktober 2013 (englisch).
  20. Greg Avola: Creating apps with PhoneGap: Lessons learned. Adobe Systems, 17. September 2012, abgerufen am 26. Oktober 2013 (englisch): „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“
  21. PhoneGap Documentation: PhoneGap Platform Guides. PhoneGap, abgerufen am 25. Oktober 2013 (englisch).
  22. Jeremiah Cohick: Using PhoneGap and the Sony Ericsson WebSDK to develop Android apps. Android and Me, 15. Dezember 2009, abgerufen am 25. Oktober 2013 (englisch).
  23. PhoneGap Build. Adobe, abgerufen am 25. Oktober 2013 (englisch, siehe Grafik).
  24. Phonegap.com: PhoneGap Supported Features. Adobe, abgerufen am 25. Oktober 2013 (englisch).

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Jeff Pelletier: Mobile App Manual: The Blueprint. 1. Auflage. Withinsight Publishing, 2013, ISBN 978-0-9890721-0-6 (englisch, mobileappmanual.com [abgerufen am 25. Oktober 2013]).
  • Kerri Shotts: PhoneGap 2.x Mobile Application Development Hotshot. 1. Auflage. Packt Publishing, 2013, ISBN 978-1-84951-940-3 (englisch, packtpub.com [abgerufen am 25. Oktober 2013]).
  • Matt Gifford: PhoneGap Mobile Application Development Cookbook. 1. Auflage. Packt Publishing, 2012, ISBN 978-1-84951-858-1 (englisch, packtpub.com [abgerufen am 25. Oktober 2013]).
  • John M. Wargo: PhoneGap Essentials: Building Cross-Platform Mobile Apps. 1. Auflage. Addison-Wesley Professional, 2012, ISBN 978-0-321-81429-6 (englisch, phonegapessentials.com [abgerufen am 25. Oktober 2013]).
  • Jamie Munro: 20 Recipes for Programming PhoneGap: Cross-Platform Mobile Development for Android and iPhone. 1. Auflage. O'Reilly Media, 2012, ISBN 978-1-4493-1954-0 (englisch, oreilly.com [abgerufen am 25. Oktober 2013]).
  • Joshua Marinacci: Building Mobile Applications with Java: Using the Google Web Toolkit and PhoneGap. 1. Auflage. O'Reilly Media, 2012, ISBN 978-1-4493-0823-0 (englisch, oreilly.com [abgerufen am 25. Oktober 2013]).
  • Andrew Lunny: PhoneGap Beginner's Guide. 1. Auflage. Packt Publishing, 2011, ISBN 1-84951-536-0 (englisch, packtpub.com [abgerufen am 25. Oktober 2013]).
  • Rohit Ghatol: Beginning PhoneGap: Mobile Web Framework for JavaScript and HTML5. 1. Auflage. 2011, ISBN 1-4302-3903-4 (englisch, apress.com [abgerufen am 25. Oktober 2013]).
  • Thomas Myer: Beginning PhoneGap. 1. Auflage. Wrox Press, 2011, ISBN 1-118-15665-X (englisch, wiley.com [abgerufen am 25. Oktober 2013]).
  • Ralph Steyer: Apps mit PhoneGap entwickeln. 1. Auflage. Carl Hansa Verlag, München 2013, ISBN 978-3-446-43510-0 (hanser-fachbuch.de).

Weblinks[Bearbeiten | Quelltext bearbeiten]