www.wikidata.de-de.nina.az
Adobe PhoneGap fruher PhoneGap ist ein Framework zur Erstellung hybrider Applikationen fur mobile Endgerate PhoneGap wurde ursprunglich vom Unternehmen Nitobi entwickelt das 2011 von Adobe Inc ubernommen wurde 3 Im August 2020 teilte Adobe mit die Weiterentwicklung von PhoneGap einzustellen Der zugehorige Cloud Build Dienst PhoneGap Build wird zum 1 Oktober 2020 beendet 4 Adobe PhoneGapBasisdatenMaintainer Joe Bowser Michael Brooks Rob Ellis Dave Johnson Anis Kadri Brian Leroux Jesse MacFadyen Filip Maj Eric Oesterle Brock Whitten Herman Wong Shazron AbdullahEntwickler Adobe Inc Aktuelle Version 9 0 0 1 10 Oktober 2019 Betriebssystem iOS Android webOS Symbian OS Blackberry Windows Phone Windows 8Programmiersprache JavaScriptLizenz Apache Lizenz 2 0 2 build phonegap comPhoneGap ermoglicht es Anwendungssoftware fur mobile Endgerate mit JavaScript HTML5 und CSS3 zu schreiben anstelle von geratespezifischen Programmiersprachen wie Swift 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 uber die Verkaufsportale der Betriebssystemhersteller verteilt werden konnen und auf die Programmierschnittstellen der Betriebssysteme der Endgerate zugreifen konnen 5 Ab der Version 1 9 ist es sogar moglich frei native und hybride Codeteile zu mischen PhoneGap baut auf Apache Cordova auf 6 welches von Adobe Nitobi der Apache Software Foundation gespendet wurde 7 Apache Cordova hiess ursprunglich ebenfalls PhoneGap musste aber aus rechtlichen Grunden umbenannt werden da fur Apache Projekte aus markenrechtlichen Grunden keine bereits belegten Namen verwendet werden durfen 7 Es wurde zunachst Apache Callback genannt und spater in Apache Cordova umbenannt 7 8 Bei Adobe Systems taucht es auch als Adobe PhoneGap und Adobe PhoneGap Build auf 9 PhoneGap wurde fur die Erstellung vieler mobiler Applikationen verwendet auf der PhoneGap Website werden 1 890 in den diversen Online Stores vertriebene gelistet 10 Apple Inc hat bestatigt dass das Framework auch mit den 4 0 Entwickler Lizenzabkommen kompatibel ist 11 PhoneGap wird von verschiedenen mobilen Applikationsplattformen wie ViziApps Worklight 12 Convertigo 13 appMobi und AppByYou verwendet Die JavaScript Bibliothek Sencha Touch ist ab der Version 2 3 kompatibel mit PhoneGap wodurch eine vereinfachte Integration von APIs wie Notifikation Kontakte Speicher oder Kamera moglich ist Inhaltsverzeichnis 1 Geschichte 2 Vorgehensweise 3 Unterstutzte Plattformen 4 Plugins 5 Siehe auch 6 Literatur 7 Weblinks 8 EinzelnachweiseGeschichte BearbeitenErstmals vorgestellt und weiterentwickelt wurde PhoneGap wahrend eines iPhoneDevCamp Events in San Francisco 14 Bei der O Reilly Media 2009 Web 2 0 Conference gewann PhoneGap den People s Choice Award 15 Am 4 Oktober 2011 verkundete Adobe offiziell die Ubernahme von Nitobi Software der ursprunglich hinter der PhoneGap Entwicklung stehenden Firma 16 Gleichzeitig wurde PhoneGap der Apache Software Foundation gespendet Fruhe Versionen von PhoneGap benotigten einen Apple Computer um iOS Applikationen und einen Windows PC um Windows Mobile Applikationen erstellen zu konnen Seit September 2012 ermoglicht 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 fur alle unterstutzten Plattformen generiert 17 Vorgehensweise BearbeitenPhoneGap Applikationen verwenden HTML5 und CSS3 fur die Darstellung und JavaScript fur die Programmlogik Obwohl HTML5 Zugriff auf mobile Technologien wie Beschleunigungssensor Kamera und GPS ermoglicht wird HTML5 noch nicht gleichmassig fur alle mobilen Browser speziell fur altere Androidversionen angeboten Um diese Beeintrachtigungen zu vermeiden bettet das PhoneGap Framework HTML5 Code in einer nativen WebView mittels Foreign Function Interface ein Damit konnen die nativen APIs der Gerate direkt angesprochen werden 18 PhoneGap kann auch mit nativen Plug ins welche den Entwicklern per JavaScript aufrufbare Funktionalitaten zur Verfugung stellen erweitert werden 19 PhoneGap stellt bereits Plug ins fur 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 Verfugung Durch die Verwendung der webbasierten Technologien werden PhoneGap Applikationen unter Umstanden langsamer als native Applikationen mit gleichartiger Funktionalitat 20 Adobe Systems warnt davor dass mit PhoneGap entwickelte Applikationen moglicherweise von Apple auf Grund ihrer geringen Geschwindigkeit oder weil sie sich nicht nativ genug anfuhlen nicht akzeptiert werden 21 22 Unterstutzte Plattformen BearbeitenPhoneGap unterstutzt derzeit die Entwicklung fur die Betriebssysteme Apple iOS Google Android LG webOS Microsoft Windows Phone Blackberry und Tizen SDK 2 x 23 Erweiterungen von PhoneGap fur andere Betriebssysteme und Versionen sind geplant oder werden von anderen Herstellern angeboten Unterstutzt wird unter anderem Nokia Symbian OS 24 Bada 25 Die folgende Tabelle zeigt welche fur Mobile Devices typischen Fahigkeiten je Betriebssystem von PhoneGap unterstutzt werden 26 Fahigkeiten 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 TizenBeschleunigungssensor nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp JaKamera nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp JaKompass nbsp Nein nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Nein nbsp Ja nbsp Nein nbsp Ja nbsp JaKontakte nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp JaDateien nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Ja nbsp Nein nbsp Nein nbsp Nein nbsp JaGeolocation nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp JaMedien nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Nein nbsp Nein nbsp Nein nbsp Nein nbsp JaNetzwerk nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp JaBenachrichtigungen Alarm Ton Vibration nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp JaSpeicher nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Ja nbsp Nein nbsp Ja nbsp Nein nbsp Ja nbsp Ja nbsp JaPlugins BearbeitenCordova stellt eine Schnittstelle fur Plug ins zur Verfugung Damit konnen Funktionen von Betriebssystem abhangige Bibliotheken aufgerufen werden Die Funktion kann mittels JavaScript aufgerufen werden Dabei werden Callback Funktionen die bei Erfolg und bei Fehlern aufgerufen werden mitgegeben Im folgenden Beispiel heisst das Plugin mein web telefon die Funktion die ausgefuhrt werden soll lautet anrufen In einem Array konnen Parameter ubergeben werden Im folgenden Beispiel wird die Telefonnummer die URL des Telefon Servers Benutzer und Passwort ubergeben um eine Voice over IP Verbindung herzustellen Bei Erfolg wird eine Javascript Funktion aufgerufen die die Nachricht Ich wahle schon wie der Teufel anzeigt Im Fehlerfall wird die Fehlermeldung angezeigt Beispiel eines Aufrufs mittels Javascript cordova exec function Parameter alert Ich wahle schon wie der Teufel function error alert Fehler error mein web telefon anrufen 099 111 22 33 sip meine telefonanlage com mein benutzer mein password Die Definitionen der Schnittstellen zum eigentlichen Plugin mussen sich in einer Javascript Datei im Unterverzeichnis www befinden Oftmals wird als Name index js gewahlt dies ist aber keine Voraussetzung Auch mehrere Javascript Dateien konnen diese Aufgabe ubernehmen Das eigentliche Plugin muss fur das jeweilige Betriebssystem separat programmiert werden da es wie im vorgenannten Beispiel ja Socket Verbindungen zum Telefon Server herstellen muss Aufgrund der Limitierungen eines Webbrowsers Und ein Webview ist ein Webbrowser ohne Benutzer Interaktion kann ein Webview keine UDP TLS bzw TCP IP Verbindungen zum Telefonserver errichten Diese Funktionalitat muss das Plugin liefern Und zwar in der jeweiligen Technologie des Betriebssystems Bei Android wird zumeist ein Plugin in Java geschrieben da jedes Android Telefon bzw jedes Android Pad Java Programme und Bibliotheken ausfuhren kann Naturlich konnte man eine WebSocket Verbindung zum Telefon Server aufbauen Im Beispiel wird aber angenommen dass die Cordova App Telefonanlagen bedienen soll die uber keine WebRTC Technologie verfugen Anschliessend ein nicht lauffahiges Beispiel um ein Plugin zu veranschaulichen Das Beispiel verwendet linphone als RTC und SIP Bibliothek Hier werden die cordova spezifischen Klassen importiert import org apache cordova CallbackContext import org apache cordova CordovaInterface import org apache cordova CordovaPlugin import org apache cordova CordovaWebView Hier werden einige Klassen fur JSON importiert import org json JSONArray import org json JSONException Hier werden einige Klassen einer Telefon API eingebunden Im Beispiel linphone import org linphone core Core import org linphone core ProxyConfig import org linphone mediastream Log Die Klasse vererbt von CordovaPlugin public class mein web telefon extends CordovaPlugin public static Linphone mInstance public static LinphoneMiniManager mLinphoneManager public static Context mContext Override public void initialize CordovaInterface cordova CordovaWebView webView super initialize cordova webView this cordova cordova mContext cordova getActivity getApplicationContext mLinphoneManager new LinphoneMiniManager mContext Die wichtige Funktion Sie wird vom Javascript mit cordova exec aufgerufen public boolean execute String action JSONArray args CallbackContext callbackContext throws JSONException switch action case anrufen mLinphoneManager call args getString 0 args getString 1 callbackContext return true case logon Das Beispiel ist sehr vereinfacht und nicht lauffahig Zuerst musste das Plugin eine Verbindung zum Server herstellen bevor es einen Anruf tatigen kann Um die Funktionalitat auch IOS Geraten zur Verfugung zu stellen musste man eine ahnliche Bibliothek in Object C oder Swift fur das Apple Betriebssystem erstellen Damit das Plugin erfolgreich zum Beispiel mit cordovar plugin add d mein web telefon in ein Cordova Projekt hinzugefugt werden kann muss sich im Stamm Verzeichnis eine Datei mit dem Namen plugin xml befinden In dieser XML Datei werden die Dateien aufgefuhrt welche das Plugin fur die verschiedenen Betriebssysteme benotigt Auch Zugriffsrechte wie z B der Zugriff auf die Kamera mussen hier deklariert werden lt xml version 1 0 encoding utf 8 gt lt plugin id mein web telefon version 1 1 4 xmlns http apache org cordova ns plugins 1 0 xmlns android http schemas android com apk res android gt lt name gt Mein fantastisches Telefon Plugin lt name gt lt android gt lt platform name android gt lt config file target AndroidManifest xml parent manifest gt lt uses permission android name android permission RECORD AUDIO gt lt uses feature android name android hardware camera android required false gt lt uses feature android name android hardware camera autofocus android required false gt lt config file gt lt config file target config xml parent gt lt feature name Linphone gt lt param name android package value com sip linphone Linphone gt lt feature gt lt config file gt lt source file src src android src Linphone java target dir src com sip linphone gt lt platform gt lt ios gt lt platform name ios gt lt config file target config xml parent gt lt feature name Linphone gt lt param name ios package value Linphone gt lt feature gt lt config file gt lt header file src src ios Linphone h gt lt source file src src ios Linphone m gt lt header file src src ios libs apple darwin include gt lt source file framework true src src ios libs apple darwin lib mediastreamer plugins libmsamr a target dir lib mediastreamer plugins gt lt platform gt lt plugin gt Im Beispiel wird android und ios definiert mit den entsprechenden Dateien die das Plugin benotigt Im Falle von android handelt es sich um java Dateien im Falle von ios um h und m Dateien Wie man sehen kann werden die Quellcode Dateien und weitere Dateien im Verzeichnis src abgelegt getrennt nach android und ios Fur diese zwei Betriebssysteme ist das Plugin geeignet Siehe auch BearbeitenElectron ebenfalls ein Framework zur plattformunabhangigen Anwendungsentwicklung mit JS HTML5 und CSS jedoch fur Desktop statt Mobile Anwendungen Vaadin TouchKit Framework fur die Erstellung endgerateunabhangiger mobiler Applikationen in Java Basiert ebenfalls auf Apache CordovaLiteratur BearbeitenJeff 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 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 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 Munchen 2013 ISBN 978 3 446 43510 0 hanser fachbuch de Weblinks BearbeitenAdobe PhoneGap Apache Cordova Apache Cordova Plugin Entwicklung GuideEinzelnachweise Bearbeiten github com abgerufen am 26 Marz 2020 PhoneGap License Adobe Announces Agreement to Acquire Nitobi Creator of PhoneGap Nicht mehr online verfugbar Adobe com 3 Oktober 2011 archiviert vom Original am 13 April 2012 abgerufen am 20 Oktober 2013 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www adobe com Christian Liebel Adobe stellt PhoneGap ein Drama oder Chance Heise Developer 12 August 2020 abgerufen am 15 August 2020 Marcus Ross Cross Plattform Apps mit PhoneGap entwickeln Heise Developer 13 August 2013 abgerufen am 25 Oktober 2013 Apache Cordova gets a new look The H Open Source News and Features H online com 22 Februar 2012 abgerufen am 7 April 2012 a b c Brian PhoneGap Cordova and what s in a name In PhoneGap Blog PhoneGap 22 Marz 2012 abgerufen am 25 Oktober 2013 englisch Brian LeRoux finding a new name that isn t PhoneGap org apache incubator callback dev 28 Oktober 2011 abgerufen am 25 Oktober 2013 englisch Adobe PhoneGap Build Adobe Systems Inc abgerufen am 25 Oktober 2013 englisch PhoneGap Apps Phonegap com abgerufen am 25 Oktober 2013 englisch Jesse PhoneGap and the Apple developer license agreement Nicht mehr online verfugbar Phonegap com 14 April 2010 archiviert vom Original am 15 April 2012 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 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www phonegap com Ron Perry How PhoneGap plays an important part in our Enterprise offering Nicht mehr online verfugbar Phonegap com 27 Juni 2011 archiviert vom Original am 15 April 2012 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 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www phonegap com Capulet Convertigo Mobilizer Uses PhoneGap Build APIs Nicht mehr online verfugbar 7 Juli 2011 archiviert vom Original am 22 Januar 2014 abgerufen am 25 Oktober 2013 englisch One of the exciting features of Convertigo Mobilizer 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 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot phonegap com Darryl K Taft PhoneGap Simplifies iPhone Android BlackBerry Development Eweek com 13 Marz 2009 abgerufen am 25 Oktober 2013 englisch Ellis said the idea for the PhoneGap technology came out of an iPhoneDevCamp event in San Francisco 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 Stephen Shankland Adobe buys PhoneGap TypeKit for better Web tools News cnet com 3 Oktober 2011 abgerufen am 25 Oktober 2013 englisch Klint Finley Adobe Launches Hosted PhoneGap Build Service For Creating Cross Platform Mobile Apps TechCrunch 24 September 2012 abgerufen am 25 Oktober 2013 englisch 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 Plugin Development Guide In PhoneGap Documentation PhoneGap abgerufen am 26 Oktober 2013 englisch Sapan Diwakar Titanium vs Phonegap vs Native application development 21 Juni 2012 abgerufen am 8 August 2014 englisch Andrew Trice PhoneGap advice on dealing with Apple application rejections Adobe Inc 29 Oktober 2012 abgerufen am 26 Oktober 2013 englisch Greg Avola Creating apps with PhoneGap Lessons learned Adobe Inc 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 PhoneGap Documentation PhoneGap Platform Guides PhoneGap abgerufen am 25 Oktober 2013 englisch 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 PhoneGap Build Adobe abgerufen am 25 Oktober 2013 englisch siehe Grafik Phonegap com PhoneGap Supported Features Adobe abgerufen am 25 Oktober 2013 englisch Abgerufen von https de wikipedia org w index php title Adobe PhoneGap amp oldid 232790948