App Entwicklung mit Hilfe von Phonegap Web Advanced II - SS 2012 Jennifer Beckmann Präsentation Jennifer Beckmann 14.05.2012 http://www.focus.de/digital/internet/netzoekonomie-blog/smartphone-googles-android-laeuft-konkurrenz-in-deutschland-davon_aid_723544.html Smartphone Markt in Deutschland: Betriebssysteme 2 Java • iOS: C, Objective-C oder C# • Symbian: Java ME, Flash Lite, Python, Ruby, .NET, C++ • WebOS: JavaScript, HTML5, CSS und C/C++ • Windows Mobile: Visual C++, Visual C#, Visual Basic, .NET • Blackberry: Java Präsentation Jennifer Beckmann • Android: 14.05.2012 App Entwicklung 3 mit Phonegap erstellte Apps auch für App-Store Präsentation Jennifer Beckmann • mit HTML5, CSS und JavaScript entwickeln • Phonegap-Wrapper für native Version Quelle: https://build.phonegap.com 14.05.2012 Funktionsweise 4 Wie wird die native Anwendung für die unterschiedlichen Plattformen erstellt? • native Anwendung dient hauptsächlich als Wrapper für geschriebenen Code • WebView Komponente erhält Schnittstelle zur PhoneGap API Präsentation Jennifer Beckmann • interpretiert HTML, CSS und JavaScript Code zur Laufzeit 14.05.2012 • native WebView Komponente: 5 Präsentation Jennifer Beckmann 14.05.2012 Quelle: https://www.matse.rz.rwth-aachen.de/dienste/public/show_document.php?id=8437 Wie wird die native Anwendung für die unterschiedlichen Plattformen erstellt? 6 Präsentation Jennifer Beckmann Quelle: http://phonegap.com/about/features 14.05.2012 Apps • http://phonegap.com/apps 7 Präsentation Jennifer Beckmann Quelle: http://phonegap.com/about/features 14.05.2012 Welche nativen Funktionen werden unterstützt? 8 Native Funktionen Präsentation Jennifer Beckmann • Befehle und Nutzung auf allen Plattformen gleich 14.05.2012 • durch Framework als JavaScript-API 9 // message // title // buttonName // Beep three times function playBeep() { navigator.notification.beep(3); } // Vibrate for 2 seconds function vibrate() { navigator.notification.vibrate(2000); } 14.05.2012 // Show a custom alert function showAlert() { navigator.notification.alert( 'You are the winner!', 'Game Over', 'Done' ); } Bachelor-Arbeit Jennifer Beckmann • Notifications: Quelle: http://docs.phonegap.com/en/1.7.0/cordova_notification_notification.md.html Sensoren-Ansprache Beispiel: 10 function onBackKeyDown() { // Handle the back button } document.addEventListener("menubutton", onMenuKeyDown, false); function onMenuKeyDown() { // Handle the back button } • weitere: http://docs.phonegap.com/en/1.7.0/index.html 14.05.2012 document.addEventListener("backbutton", onBackKeyDown, false); Bachelor-Arbeit Jennifer Beckmann • Buttons: Quelle: http://docs.phonegap.com/en/1.7.0/cordova_events_events.md.html Sensoren-Ansprache Beispiel: 11 Bachelor-Arbeit Jennifer Beckmann 14.05.2012 Quelle: http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins Plugins 12 • es existieren Plugins für verschiedene Plattformen der Community, die man benutzen kann: https://github.com/phonegap/phonegap-plugins 14.05.2012 • eine JavaScript Datei für Android mit einer Java Datei für Android • eine JavaScript Datei für iOS mit je einer .h und .m Datei für iOS Bachelor-Arbeit Jennifer Beckmann • Applikation für iOS und Android: Quelle: http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins Plugins 13 … Bachelor-Arbeit Jennifer Beckmann 14.05.2012 jQuery Mobile Sencha Touch XUI jQTouch GWT Mobile … Quelle: http://phonegap.com/tools/ Tools • Unter anderen: 14 Entwicklungsumgebungen für Phonegap • Sonst: • native Entwicklungsumgebung: Install SDK + PhoneGap • Anleitungen: http://phonegap.com/start Präsentation Jennifer Beckmann • Nitobi wurde von Adobe gekauft • Einbindung von PhoneGap in Dreamweaver CS 5.5 • Build Service integriert 14.05.2012 • Dreamweaver ab CS 5.5: 15 - schnell Geschwindigkeits-Nachteil einfach viele Programmierfehler Code erst zur Laufzeit sichtbar Debuggen viele Plattformen einheitlicher Code nicht alle nativen Funktionen werden unterstützt Look & Feel Präsentation Jennifer Beckmann + 14.05.2012 Vor- und Nachteile im Überblick 16 • „kleine“ Apps mit Phonegap gut zu entwickeln • für Performanz und spezielle Features: native Entwicklung Präsentation Jennifer Beckmann • Anforderungen an die App genau analysieren • überprüfen ob alles mit Phonegap umgesetzt werden kann 14.05.2012 Fazit 17 Präsentation Jennifer Beckmann Quelle: http://youtu.be/E0UV5i5jY50 14.05.2012 Zusammenfassung 18 • Dreamweaver Tutorials: http://tv.adobe.com/de/search/?q=phonegap • Getting-Started Tuturials: http://phonegap.com/start Präsentation Jennifer Beckmann • Phonegap: http://phonegap.com/ • API: http://docs.phonegap.com/en/1.7.0/index.html 14.05.2012 Weiterführende Links 19