Des Rätsels Lösung. In die Tiefe. Marcus Ross Cross-Plattform-Apps mit PhoneGap entwickeln

Größe: px
Ab Seite anzeigen:

Download "Des Rätsels Lösung. In die Tiefe. Marcus Ross Cross-Plattform-Apps mit PhoneGap entwickeln"

Transkript

1 Werkzeuge :53 Marcus Ross Cross-Plattform-Apps mit PhoneGap entwickeln Des Rätsels Lösung Bei der Entwicklung von mobilen Anwendung können Anspruch und Wirklichkeit weit auseinanderliegen. Welcher IT-Leiter oder Entwickler möchte schon für eine einzelne App mehrere Entwicklungsprojekte für diverse mobile Plattformen auf die Beine stellen? Und welcher Geschäftsführer möchte das bezahlen? Für dieses Problem bietet PhoneGap eine Lösung. Vereinfacht lässt sich die Arbeitsweise von PhoneGap so erklären: Eine App, die mit dem Framework erstellt wurde, ruft den Webbrowser der Smartphone-Zielplattform auf und lässt eine Webanwendung lokal darin ablaufen. Dabei unterdrückt PhoneGap alles, was an den Browser erinnert, also dessen Rahmen und alle Bedienelemente wie Internetadresszeile oder Menüs. Auf den ersten Blick hat man es also nur mit einem Browser im Vollbildmodus zu tun, darin verpackt die mobile Applikation bestehend aus HTML, JavaScript und CSS. Damit aber auch der Zugriff auf die Hardware wie Kamera, Adressbuch oder anderes wie bei einer normalen Anwendung funktioniert, lädt die App in den anzuzeigenden HTML-Seiten eine JavaScript-Bibliothek. Die laufende Browserkomponente fängt dabei die PhoneGap- Aufrufe der eigenen JS-Bibliothek ab und überführt sie in native Aufrufe der jeweiligen Plattform. Das Ergebnis erhält die Anwendung per JavaScript Callback zurück. In die Tiefe Bei genauerer Betrachtung lässt sich feststellen, dass PhoneGap aus zwei wesentlichen Bausteinen besteht. Der erste ist die Bibliothek cordova.js (die JavaScript Seite), mit der die in JavaScript, HTML5 und CSS geschriebene Webapplikation arbeitet. Nachdem sie in die Anwendung eingebunden ist, stellt sie eine API für plattformunabhängige Zugriffe auf Komponenten des Smartphones zur Verfügung. Die JavaScript- Bibliothek interagiert auch mit dem zweiten Baustein von PhoneGap/Apache Cordova[1], der sogenannten Native Engine. Sie existiert in verschiedenen Implementierungen, jeweils einer pro Zielplattform, und ermöglicht die Abfragen von Sensoren des jeweiligen Betriebssystems. Wenn die enthaltenen Möglichkeiten zum Zugriff auf die Hardware per Native Engine nicht ausreichen, gibt es die Option, sie durch Plug-ins zu

2 erweitern. Dabei gilt für jede Ergänzung: Es wird sowohl eine JavaScript-Datei als auch eine plattformabhängige Klasse benötigt. Erstere stellt den Aufruf der Funktion in PhoneGap dar. Damit ihn das jeweilige Smartphone-System umsetzen kann, wird noch eine Implementierung des Plug-ins in der Native Engine benötigt. Durch die oben beschriebene Architektur ist es PhoneGap möglich, prinzipiell jedes System zu unterstützen, dass eine Webbrowser- Komponente besitzt. Aktuell lässt sich PhoneGap in der Version 3.0 offiziell mit ios, Android Blackberry (10), Windows Phone 7 und 8, Windows 8 und Tizen verwenden. Auf den Downloadseiten der Apache Foundation stehen noch einige weitere zur Verfügung wie WebOs oder Bada. Es gibt darüber hinaus ersten Code für den Support von Firefox OS und Ubuntu mobile, die dieses Jahr noch komplett unterstützt werden sollen. PhoneGap installieren War noch vor kurzer Zeit für jede Plattform einiges an Aufwand zu leisten, beschränkt sich nun die Installation von PhoneGap auf die Zeile $ sudo npm install -g phonegap Da PhoneGap seit Version 3.0 offiziell Node Packaged Modules nutzt, ist nur ein node.js-server nötig. Zur Entwicklung muss darüber hinaus das jeweilige Hersteller-SDK für die Plattform installiert sein. Als Beispiel sollen an dieser Stelle Apples ios und Googles Android SDK dienen. Bei Apple reicht das Beziehen von XCode aus dem AppStore. Dabei sollte man nicht vergessen, den ios-simulator und das Xcode-Kommandozeilen-Tool nachträglich über das Preferences- Menü zu installieren. Für Android sind die Build-Tools und ein Android-SDK notwendig, wobei sich am besten auf das von Google angebotene Installer-Paket[2] zurückgreifen lässt. Sind diese Voraussetzungen erfüllt, ist alles für einen Test bereit. Mit $ phonegap create meine-erste-app lässt sich eine erste Anwendung erstellen und es wird ein Verzeichnis samt notwendiger Struktur angelegt. Nach dem Wechsel in das Verzeichnis,

3 $ cd create meine-erste-app besteht die Möglichkeit, die jeweiligen Plattformen mit $ phonegap run <plattform> aufzurufen. Hier kann zum Beispiel android oder ios stehen. Das Kommandozeilenprogramm sucht dann automatisch nach dem jeweiligen SDK-Pfad und kompiliert die App. Durch den run-parameter wird außerdem die Bereitstellung auf ein angeschlossenes Smartphone oder der Start des Emulators durchgeführt. Da der Aufruf von phonegap create bereits eine Struktur nebst Demo-Code erstellt hat, lässt sich die Anwendung nun via $ phonegap run ios für ios oder $ phonegap run android für Android testen. Nach einer kurzen Wartezeit sollte im Emulator das Ergebnis erscheinen. (Abb. 1)

4 Emulatorreaktion auf den run-befehl in der Version für ios und Android. (Abb.1) Grüße an den Rest des Planeten Nach dem Überprüfen der Installation lässt sich mit dem Entwickeln beginnen. Der Zugriff auf die Hardware findet wie schon beschrieben über JavaScript statt. Daher eignet sich die einfache Device-API am besten als Einstiegspunkt. Über sie meldet PhoneGap, auf welchem Gerät es gerade läuft, nebst Details wie der Version des Betriebssystems oder der von PhoneGap. Mit der Kommandozeile des Frameworks lässt sich zunächst ein Projekt erstellen, diesmal mit etwas detaillierterem Aufruf: $ phonegap create deviceinfoapp --name "DeviceInfoApp" --id "de.heisedeveloper.deviceinfoapp" Erfahrene App-Entwickler haben sich sicherlich schon gefragt, wie die App-ID gesetzt werden kann. Sie wird dazu genutzt, eine App über eine einzigartige Kennung zu identifizieren. Hier eine kurze Konvention für die Namensvergabe: In der Regel wird die App-ID mit der Reverse- Domain-Name-Notation beschrieben. Im vorliegenden Fall also de.heisedeveloper.deviceinfoapp. Damit kann es mehrere Anbieter des selben App-Namens DeviceInfoApp geben, aber die App-ID ist dabei immer verschieden. Auch der Name der Anwendung, der später unter dem App- Icon zu lesen ist, lässt sich als Parameter mitgeben. Beides ist im gerade gezeigten Aufruf zu sehen.

5 Es sollte nun ein Verzeichnis mit dem Namen deviceinfoapp existieren. Im für Entwickler wichtigsten Ordner www, hinterlegt PhoneGap alle für die App notwendigen Dateien. Momentan sollten sich in ihm bereits einige Demodaten befinden: Ein js-verzeichnis für JavaScript-Code, eine Datei index.html sowie ein CSS-Ordner. Forscht man etwas weiter, findet sich noch ein icon.png, das das App-Icon repräsentiert, und einen Image-Ordner. Für Tests steht darüber hinaus das Verzeichins spec mit der Datei spec.html bereit. Hier lässt sich Code mit einem mitgelieferten Framework wie Jasmine testen. Um nun die Device API nutzen zu können, ist zunächst der in der index.html vorhandene Code mit dem folgenden zu ersetzen (zur vereinfachten Darstellung wurde Inline-JavaScript genutzt): <!DOCTYPE html> <html> <head> <title>gerätedaten-beispiel</title> <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> <script type="text/javascript" charset="utf-8"> // Warten auf Cordova document.addeventlistener("deviceready", ondeviceready, false); // Cordova ist geladen. function ondeviceready() { var element = document.getelementbyid('deviceproperties'); element.innerhtml = 'Device Name: ' + device.name + '<br />' + 'Device Cordova: ' + device.cordova + '<br />' + 'Device Platform: ' + device.platform + '<br />' + 'Device UUID: ' + device.uuid + '<br />' + 'Device Version: ' + device.version + '<br />'; } </script> </head> <body> <p id="deviceproperties">laden der Gerätedaten...</p> </body>

6 </html> Durch diesen Code wird zunächst PhoneGaps JavaScript-Bibliothek geladen. Bei der Arbeit mit Versionen vor PhoneGap 3.0 wäre statt der phonegap.js folgender Aufruf von Nöten: <script type="text/javascript" charset="utf-8" src="cordova js"> </script> Gleich nach dem Laden wird ein DOM-konformer Event Listener registriert. document.addeventlistener("deviceready", ondeviceready, false); Es folgt die Reaktion auf das Ereignis deviceready und der Aufruf der Funktion ondevice-ready. Mit letzterem lässt sich sicherstellen, dass PhoneGap komplett geladen ist, weshalb es sich empfiehlt, ihn in alle Anwendungen einzufügen. Das Ereignis (Event) erzeugt PhoneGap selbst. Wie schon erwähnt enthält PhoneGap sowohl eine native Codebasis als auch eine JavaScript-Bibliothek. Während der native Codeteil initialisiert wird, kann es sein, dass der JavaScript-Teil bereits komplett geladen und ausgeführt ist. Dabei könnte es passieren, dass der Nutzer per JavaScript auf Funktionen zugreift, deren nativer Codeteil noch nicht bereit ist, um die Aufrufe umzuwandeln und sie an die Plattform zu senden. Um diesem Timing-Problem zuvorzukommen, wird das Event deviceready von PhoneGap tatsächlich erst dann an den Browser geschickt, wenn auch der native Teil vollständig bereit steht. Das Warten auf das Event dient also als Vorsichtsmaßnahme. var element = document.getelementbyid('deviceproperties'); Das Element mit der ID deviceproperties im HTML-Dokument sorgt für die Anzeige der ermittelten Gerätedaten. Der Zugriff auf diese erfolgt eine Zeile danach. Nach der Umstellung auf PhoneGap 3 müssen erst alle verwendeten APIs registriert werden. (Abb.2) 'Device Platform: ' + device.platform

7 Der hier gezeigte Aufruf von device.platform stammt aus der PhoneGap-API. Sie erstellt ein device-objekt im globalen Namensraum. Je nach Plattform gibt die API die Werte Android, BlackBerry, ios oder Tizen zurück. Die Eigenschaften des device-objektes umfassen device.name (Name des Gerätes, zum Beispiel "Danielas iphone"), device.cordova (aktuell genutzte Version von PhoneGap, zum Beispiel 3.0.), device.platform (Plattform, auf der die App gerade läuft, zum Beispiel iphone), device.uuid (der Universally Unique Identifier des Gerätes - bei ios ist es eine 16 Byte lange Zahl, bei Android ein 64-Bit-Integer, bei Windows Phone ein Hash-Wert aus Geräte-ID und Benutzer-ID, bei BlackBerry die neunstellige Gerätenummer) und device.version (aktuelle Betriebssystemversion des Gerätes, zum Beispiel 5.1.). Das oben aufgeführte Codebeispiel ist nun nur noch per phonegap run ios beziehungsweise phonegap run android zu starten. In den älteren Versionen von PhoneGap ließe sich schon jetzt ein Erfolg verzeichnen. Die aktuelle Version quittiert den Aufruf allerdings nur mit "Lade Gerätedaten"(Abb. 2), denn durch eine Umstellung bei PhoneGap mit der Version 3.0 muss jede verwendete API erst registriert werden. Das gilt auch für die sogenannte Core-API. Mit dieser Änderung hält das Framework die Basis-Anwendung schlank, da unnützer Code nicht länger geladen werden muss. Damit das Beispiel wie erhofft läuft, ist also via phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git das entsprechende Core-Plug-in hinzuzufügen. Wie man dem Aufruf entnehmen kann, bezieht die Anwendung die Codebasis der Device-API aus einem Git-Repository. Damit ist sichergestellt, dass immer die aktuellste Version eingebunden ist beziehungsweise eine zuvor ausgewählte. Eine der wichtigsten Änderungen mit Version 3.0 ist, dass die App nach dem Laden des Plug-ins erneut zu bauen ist. Danach sollte ein Ergebnis wie in Abb. 3 zu sehen sein. Damit ist die erste kleine App auch schon erzeugt. Doch was ist mit dem App-Namen? Und wie lassen sich App-Icons definieren? Antwort auf alle diese Fragen finden sich in der Datei config.xml, die ebenfalls im www-verzeichnis zu finden ist.

8 App mit geladenen Plug-ins für ios und Android (Abb.3) Mehr Details? - config.xml! Neben der Möglichkeit, den Name der App oder die ID zu ändern, bietet diese Datei noch mehr Einstellungsmöglichkeiten. So zum Beispiel eine Anordnung für App-Icons oder Splashscreens, die je nach Format angegeben werden. Das AppIcon für ein Android-Gerät mit hoher Displayauflösung lässt sich beispielsweise mit <icon gap:density="hdpi" gap:platform="android" src="res/icon/android/icon-72-hdpi.png" /> festlegen, während der Entwickler den Splashscreen für ein ipad mit Retina-Display mit dem Befehl <gap:splash gap:platform="ios" height="960" src="res/screen/ios/screen-iphone-portrait-2x.png" width="640" /> definieren kann. Dabei sieht man auch gleich, wofür der Ordner res genutzt wird. Die config.xml[3] legt aber nicht nur Metadaten wie den Autor oder die Beschreibung fest, im preference-bereich wird auch über

9 plattformabhängige Konfiguration entschieden. Zum Beispiel lässt sich die minimale Android-Version per <preference name="android-minsdkversion" value="7"/> oder die Erscheinungsart des ios-statusbalken mittels <preference name="ios-statusbarstyle" value="black-opaque" /> festlegen. Für die eine vollständige Liste aller Konfigurationsmöglichkeiten sei die Online-Dokumentation[4] empfohlen. Wichtig ist außerdem, dass Datenverbindungen mit einem JavaScript-XmlHttpRequest oder dem PhoneGap eigenen Filetransfer unbedingt durch ein Whitelisting in der config.xml erlaubt werden müssen. Wäre in der App zum Beispiel ein Dateidownload vom Server dev.heise.de vorgesehen, würde dieser sonst so lange verweigert, bis man die Konfigurationsdatei um den Eintrag <access origin="http://dev.heise.de*" /> ergänzte. Damit lässt sich die hinterlegte Domain für den Zugriff durch die App freischalten. Der Stern am Schluss bewirkt, dass jeder Pfad im Verzeichnis freigegeben ist. Bitte recht freundlich Die Kamera ist nach wie vor eins der Top-Features eines jeden Smartphones. Sie in Anwendungen einzubauen, liegt also nah. Obwohl es nur einen Methodenaufruf für die Kamera gibt, navigator.camera.getpicture(successcb, failcb, {option}); sind die Möglichkeiten mit diesem vielfältig. Beim Aufruf werden drei Parameter übergeben, im Erfolgsfall erfolgt ein success-callback. Bei einem Fehler oder Abbruch kommt ein fail-callback zum Einsatz. <!DOCTYPE html> <html> <head> <title>capture Photo</title> <script type="text/javascript" charset="utf-8"

10 src="phonegap.js"></script> <script type="text/javascript" charset="utf-8"> // Warten, bis Cordova geladen ist // document.addeventlistener("deviceready", ondeviceready, false); // Cordova ist bereit // function ondeviceready() { capturephoto(); } function capturephoto() { navigator.camera.getpicture(onsuccess, onfail, { quality: 50, destinationtype: Camera.DestinationType.FILE_URI }); } function onsuccess(imageuri) { var image = document.getelementbyid('myimage'); image.src = imageuri; } function onfail(message) { alert('fehler: ' + message); } </script> </head> <body> <button onclick="capturephoto();">foto erstellen</button> <br> <img id="myimage" src="" />

11 </body> </html> Im oben gezeigten Codebeispiel wird nach dem obligatorischen ondeviceready-event die eigentlichen Bilderfassung mit der Funktion capturephoto() aufgerufen. Hier findet sich auch die Funktion navigator.camera.getpicture(). Im option-objekt ist eine Komprimierung des Bilder um 50 Prozent eingestellt und als Rückgabewert soll der Pfad des erstellten Bildes dienen. Im Falle der erfolgreichen Bildaufnahme löst das Programm die onsuccess-funktion als Callback aus und bekommt den Pfad der Bilddatei übergeben. Das vorliegende Beispiel übernimmt diesen dann einfach für die Anzeige des Bildes als src-attribut in das img-tag. Im Fehlerfall wird eine einfache Nachricht mit entsprechender Meldung ausgegeben. Führt man beispielsweise den Code im Emulator ohne Kamera aus, meldet das Programm "keine Kamera vorhanden". Spezielle Funktionen wie das Einstellen der Bildqualität oder Nachbearbeitung lassen sich in einem options-objekt festlegen und so konfigurieren. Damit bildet das Objekt den dritten Parameter, der unter anderem folgende Werte annehmen kann: quality: Hier wird ein Wert zwischen 1 und 100 erwartet. Er gibt an, wie stark das Bild komprimiert werden soll. destinationtype: Mit dieser Option lässt sich festlegen, ob der Pfad des Bildes oder eine Repräsentation als base64-codierten String für den Rückgabewert dienen soll. Eine Rückgabe als Binärstrom ist nicht vorgesehen. Dafür wäre der Bildpfad weiterzuverarbeiten und per Dateioperationen darauf zuzugreifen. Camera.DestinationType = { // base64 encoded String DATA_URL : 0, // Bildpfad als URI FILE_URI : 1 }; allowedit: Diese Option ermöglicht den Bearbeitungsdialog nach der Aufnahme. Hier lässt sich das Bild beschneiden und seine Größe verändern eben alles, was der Hersteller des Smartphones anbietet. Soll die Nachbearbeitung zugelassen werden, ist die Variable auf "true" zu setzen. PictureSourceType: Der Wert besagt, welche Quelle für das Bild zu nutzen ist. Hierbei ist nicht nur die Kamera gemeint. Es lässt sich auch auf eine Fotogalerie oder Albenauswahl zugreifen. Der getpicture-aufruf steht so als Möglichkeit zur Bildauswahl zur Verfügung. Camera.PictureSourceType = { PHOTOLIBRARY : 0, CAMERA : 1,

12 }; SAVEDPHOTOALBUM : 2 Damit die API-Aufrufe auch funktionieren, ist das Camera-Core-Plug-in erforderlich. Es wird mit phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git eingebunden und schon lässt sich mit dem obigen Codebeispiel experimentieren. Neben den bis jetzt vorgestellten APIs gibt es noch eine ganze Menge zusätzlicher[5]. Davon sind einige, wie die Geolocation-API, mit zu HTML5 kompatiblen Aufrufen ausgestattet, die für alle Plattformen harmonisiert sind. Das heißt, sollte ein Smartphone solche Anfragen nicht verarbeiten, da es vielleicht nur Drafts auf dem verwendeten System sind, wird PhoneGap sie trotzdem in dieser Syntax ausführen. Damit bildet es an vielen Stellen eine Brücke für einen einheitlichen HTML5-Standard. Das die Zeit nicht stehen bleibt, sieht man sehr schön an Themen wie der Batterie-API. Noch von einiger Zeit war dessen Abfrage PhoneGap vorbehalten, nun schickt sich die W3C an, die Funktion in HTML5 als Candidate Recommendation direkt in die Browser zu integrieren. Das große Ziel von PhoneGap ist es folglich, in der Zukunft nicht mehr benötigt zu werden alles sollte durch den HTML-Standard zugänglich sein. Ob es allerdings jemals so weit kommt, ist fraglich. Einmal durch den Lifecycle Der Lebenszyklus einer Smartphone-App umfasst alle Phasen, in denen sich eine Applikation zu einem bestimmten Zeitpunkt befindet. Er beginnt beim Start der App und endet bei ihrem Schließen und ermöglicht dem Entwickler, bei bestimmten Ereignissen zu reagieren, zum Beispiel beim Pausieren oder erneuten Starten einer App aus dem Hintergrund. Hier kann es sinnvoll sein, den Status der Anwendung oder die Menüposition zu speichern. PhoneGap signalisiert diese Events dabei per HTML-Eventlistener. Es entfallen daher Objekte und Methoden. Für Webentwickler ergibt sich demnach keine Umstellung, nur die Event-Namen sind andere. Im folgenden werden die einzelnen Events mit einem kleinen Beispiel vorgestellt. Das onready-event beim Starten der App ist aus den bisherigen Codeauszügen bekannt, es fehlen also noch pause und resume. Das pause-ereignis tritt immer ein, wenn das System die App in den Hintergrund bringt, beispielsweise als Reaktion auf das Drücken des Home-Buttons des iphones. Aber auch das Wechseln zwischen Anwendungen unter Android bewirkt ein Anhalten der Applikation. Sind in diesem Moment wichtige Daten zu speichern oder der Applikationsstatus zu sichern, lässt sich das Event hierfür nutzen. Die Registrierung ist dabei die gleiche wie bei herkömmlichen HTML-Events und lässt sich per

13 document.addeventlistener("pause", IhreCallbackFunktion, false) durchführen. Sollte das Ereignis eintreffen, wird die Funktion IhreCallbackFunktion ausgeführt. Der dritte Teil im Lebenszyklus einer Applikation ist das resume-event. Es wird gemeldet, wenn eine Applikation aus dem Hintergrund tritt. Wichtig dabei ist, dass sich die Anwendung nur im Hintergrund befand und nicht neu gestartet wurde. Folgendes Beispiel enthält alle drei Events: <!DOCTYPE html> <html> <head> <title>cordova-resume-beispiel</title> <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> <script type="text/javascript" charset="utf-8"> // Warten, bis Cordova vollständig geladen ist // document.addeventlistener("deviceready", ondeviceready, false); // Cordova ist geladen. // function ondeviceready() { document.addeventlistener("resume", onresume, false); document.addeventlistener("pause", onpause, false); } // Resume-Event verarbeiten // function onresume() { } // Pause-Event behandeln // function onpause() {

14 } </script> </head> <body></body> </html> Und nach dem Entwickeln? Nach der Entwicklung stellt sich meist die Frage, wie sich die Anwendung in die App-Marktplätze der Anbieter befördern lässt. Nach einem erfolgreichen $ phonegap build <Plattform> sind zunächst entweder ein APK oder XCode-Projekt zum Signieren und Senden nötig. Diese Dateien befinden sich im Ordner plattforms des PhoneGap-Projektes. Dort gibt es Unterverzeichnisse für android, ios und gegebenenfalls weitere Zielsysteme, in denen die erstellten nativen Projekte liegen. Bei ios bedeutet das ein XCode-Projekt, das sich normal weiter nutzen lässt. Im Android-Ordner finden sich hingegen im bin- Verzeichnis APK-Dateien. Mit ihnen stehen die normalen Distributionswege der jeweiligen Plattformen frei. Und was ist mit der Feature XYZ? Oft wird die Frage aufgeworfen, ob PhoneGap auch eine Datenbanken erstellt oder die neuen UI-Komponenten von ios beherrscht. Die Antwort ist in allen Fällen, selbst wenn es um Dinge wie Facebook-Integration, geht: So lange es eine normale Webanwendung kann, kann es auch eine mit PhoneGap erstellte App. Da sie einen Browser aufruft, ist sie in der Lage, alle möglichen JavaScript- Bibliotheken zu nutzen. Egal ob es um das Erstellen von Diagrammen mit Highcharts.js oder touch-optimierte Oberfläche mit jquerymobile geht. Die Frage nach der Datenbank (websql) ist auch einfach geklärt: Wenn die Plattform es unterstützt, lassen sich wie gewohnt sqlite-datenbanken erstellen. Sicherlich ist die Performance einer App mit PhoneGap nicht die einer nativen Anwendung. Allerdings haben auftretende Performanceprobleme häufig mehr mit dem Programmierstil und den verwendeten Zusatz-Bibliotheken zu tun als mit dem Framework. Ein einfaches Beispiel ist hier das Laden von Zeilen im Framework jquery-mobile. Hier wird das zähe Scrollen gerne auf PhoneGap geschoben, allerdings braucht das Rendern von Einträge immer seine Zeit und eine Implementierung von LazyLoading wäre sicherlich besser gewesen. Also lässt sich nicht jedes Performance-Problem auf PhoneGap schieben.

15 PhoneGap hilft an vielen Stellen, aber nicht überall. Der Entwickler muss sich beispielsweise selbst entscheiden, ob die Oberfläche für jede Plattform neu zu erstellen ist oder die Wahl lieber auf ein generell gültiges, mobiles UI fallen soll. Für solche Vorhaben stehen diverse HTML/CSS-Bibliotheken wie jquerymobile, Sencha-Touch, Topcoat, Twitter Bootstrap und Ratchet zur Verfügung. Auch das Erstellen von Charts oder Entwickeln von performantem JavaScript-Code ist nicht die Aufgabe des Frameworks. Fazit PhoneGap kann helfen, datengetriebene Apps für mehrere mobile Plattformen zu erstellen. Der Ansatz, HTML und JavaScript zum App-Bau zu nutzen, bietet Einsteigern schnelle Ergebnisse und Profis eine solide Basis für größere Projekte. Der Schritt auf Version 3.0 hat PhoneGap nicht geschadet. Es gibt zwar ein paar Brüche in API und Nutzung, allerdings werden diese durch die Verbesserungen der Plug-in-Schnittstelle und das einfache Installieren mittels Node-Modul aufgewogen. Auch die eigentliche Speichergröße der Anwendung nimmt durch die Umstellung ab. Lässt man die Benutzeroberfläche und ein Backend für die Daten nicht unbeachtet, kann sich PhoneGap als Grundlage für die Entwicklung von Cross-Plattform-Anwendungen als nützlich erweisen. Marcus Ross ist Dipl.-Informatik-Betriebswirt und arbeitet als freier IT-Berater und Trainer mit den Schwerpunkten Datenbanken und Webportale. Seit 2010 widmet er sich dem Thema der mobilen Cross-Plattform-Entwicklung und ist zudem PhoneGap-Comitter. PhoneGap oder Apache Cordova In der Berichterstattung taucht der Name PhoneGap oft synonym zu Apache Cordova auf. Eigentlich sollte die Frage nach der richtigen Bezeichnung einfach zu klären sein. Denn: Apache Cordova ist schlicht der neue Name vom PhoneGap-Code. In Zukunft ist also damit zu rechnen, dass dieser Name weitere Verbreitung findet, auch wenn der Entwicklergemeinde "PhoneGap" noch lange erhalten bleiben wird. Die Geschichte hinter der Namensentwicklung war ungefähr wie folgt: Das Unternehmen Nitobi wurde 1998 in Vancouver, Kanada, gegründet. An ihrem Anfang standen rund 15 Personen, die sehr früh die Mächtigkeit von JavaScript erkannten und schon vor dem iphone an Ideen arbeiteten, um das mobile Web voranzubringen. Ihr Ziel war es, die Einfachheit der Webapplikationsentwicklung mit mobilen Geräten zu verbinden. Das Projekt, das sie dazu initiierten, nannten sie PhoneGap. Am Anfang tat PhoneGap nicht mehr, als Webseiten, die in einem lokalen Ordner lagen, auf mobilen Geräten anzuzeigen. Damit konnten Webentwickler plötzlich einfache Apps (Eventkalender, Produktinfos, Anleitungen) erstellen. Am 3. Oktober 2011 sorgte ein Blogpost von Nitobi für Aufregung in der Open-Source-Community, in dem es bekannt gab, von Adobe übernommen worden zu sein. Ziel der Übernahme war es vermutlich, die Erzeugnisse des Unternehmens als Ersatz für Flash in Adobe-Produkten zu verwenden. Schnell kam die Befürchtung auf, dass PhoneGaps Open-Source-Status nicht länger sicher sei. Durch die Übergabe an die Apache Software Foundation machte Adobe diese Ängste allerdings schnell zu nichte. Seit Version 1.4 läuft das Projekt nun also dort unter dem Namen Apache Cordova.

16 Adobe arbeitet jedoch mit eigenen Entwicklern weiterhin am Projekt mit und stellt neuen Code bereit. Für seinen in der Cloud arbeitenden Build-Service PhoneGap Build und die Website[6] für Dokumentation und Beispiele verwendet das Unternehmen jedoch immer noch den alten Namen. Auch das im Verlauf des Artikels verwendete phonegap-kommandozeilen-tool ist nur ein Aufsatz für das eigentliche cordova-cli von Apache. PhoneGap ist also eine Art Distribution, vergleichbar mit den verschiedenen Linux-Versionen auf dem Markt. Adobe sponsert das Projekt und so hat es bereits Einzug in Produkte wie Adobes Dreamweaver gehalten. Doch das große Engagement hat zur Folge, dass der Name PhoneGap weiterhin dominant ist, weshalb er im Folgenden hauptsächlich Verwendung findet. Liste der Core-Plug-ins Da die Online-Dokumentation[7] hier noch etwas hinter dem aktuellen Stand des Projektes her ist, hier nun eine Auflistung der Core-Plug-ins inklusive ihrere Repositories. Device Information: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git Netzwerk: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git Batterie Status: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git Accelerometer, compass, and geolocation: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git Camera, media capture, and media playback: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git Access files on device or network: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git

17 $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git Notifications via dialog box or vibration: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git Contacts: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git Globalization: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git Splash Screen: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git In-app browser: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git Debug console: $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git Zusätzlich sind auch Erweiterungen wie ein Barcode-Scanner zu bekommen. Diese finden Sie auf GitHub[8]. Allerdings sei hier gewarnt: Die neue Plug-in-Struktur bedingt, dass die existierenden Erweiterungen erst noch zu portieren sind. In einigen Monaten dürfte hier mehr zu sehen sein, erste Ports von bestehenden Plug-ins sind jedoch schon jetzt verfügbar. URL dieses Artikels: Links in diesem Artikel: [1] [2] [3] [4] [5] [6] [7]

18 [8] https://github.com/phonegap/phonegap-plugins Copyright 2013 Heise Zeitschriften Verlag Content Management by InterRed International: The H, The H Security, The H Open Source

1 Entwickeln mit PhoneGap

1 Entwickeln mit PhoneGap 1 1.1 Das Cross-Plattform-Problem Bevor ich mit Ihnen in die praktische Entwicklung einsteige, möchte ich Ihnen von einem kurzen Gespräch berichten, das sich vor einiger Zeit in der IT-Abteilung eines

Mehr

3 Die Zielplattformen

3 Die Zielplattformen 21 In diesem Kapitel werden Sie das Aufsetzen der Entwicklungsumgebungen der verschiedenen Smartphone-Systeme kennenlernen. Jede Smartphone-Plattform stelle ich Ihnen dabei in einem eigenen Unterkapitel

Mehr

4 Hardwarezugriff I häufig genutzte Features

4 Hardwarezugriff I häufig genutzte Features 94 4 Hardwarezugriff I häufig genutzte Features PhoneGap ist geladen. function ondeviceready() { document.addeventlistener("offline", onoffline, false); Offline-Event verarbeiten function onoffline() {

Mehr

5.4 Die Benachrichtigung (Notification)

5.4 Die Benachrichtigung (Notification) 160 Bekannte Probleme Windows Phone Im Emulator wird immer die Connection.UNKNOWN zurückgegeben. ios und Bada Es wird leider nur unterschieden, ob es eine mobile oder WiFi-Verbindung gibt. Der Grad der

Mehr

Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap

Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap Christian Rokitta themes4apex Utrecht, Niederlande Schlüsselworte Oracle Application Express, Apps, Smartphone, PhoneGap, HTML5, CSS, jquery

Mehr

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe«

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe« 201 PhoneGap bringt einen standardisierten Hardwarezugriff für Smartphones mit. Aber was passiert, wenn Sie mehr wollen: Wenn Sie eine Hardware per Bluetooth ansprechen wollen oder Features der jeweiligen

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann App Entwicklung mit Hilfe von Phonegap Web Advanced II - SS 2012 Jennifer Beckmann http://www.focus.de/digital/internet/netzoekonomie-blog/smartphone-googles-android-laeuft-konkurrenz-in-deutschland-davon_aid_723544.html

Mehr

Marcus Ross. PhoneGap. Mobile Cross-Plattform-Entwicklung mit Apache Cordova & Co. dpunkt.verlag

Marcus Ross. PhoneGap. Mobile Cross-Plattform-Entwicklung mit Apache Cordova & Co. dpunkt.verlag Marcus Ross PhoneGap Mobile Cross-Plattform-Entwicklung mit Apache Cordova & Co. dpunkt.verlag haltsverzeichnis 1 Entwickeln mit PhoneGap 1 1.1 Das Cross-Plattform-Problem 1 1.2 Wozu braucht man PhoneGap?

Mehr

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Sensoren vertraut. Es wird

Mehr

Vorwort. 1 Einleitung und Grundlagen 1

Vorwort. 1 Einleitung und Grundlagen 1 Vorwort XI 1 Einleitung und Grundlagen 1 1.1 Die mobile Welt - Tausende von Inseln 2 1.2 Was erwartet Sie in dem Buch? 3 1.3 Was ist PhoneGap? 4 1.3.1 Der PhoneGap-Wrapper und FFI 5 1.3.2 Unterstützte

Mehr

Programmierung mobiler Geräte

Programmierung mobiler Geräte Programmierung mobiler Geräte SoSe 2015 Hybride Apps Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik http://mmberg.net 2 Letzte Woche: Webapps Nativ

Mehr

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0 sverzeichnis Ralph Steyer Apps mit PhoneGap entwickeln Universelle Web-Apps plattformneutral programmieren ISBN (Buch): 978-3-446-43510-0 ISBN (E-Book): 978-3-446-43543-8 Weitere Informationen oder Bestellungen

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Appery.io Mobile Apps schnell und einfach entwickeln

Appery.io Mobile Apps schnell und einfach entwickeln Appery.io Mobile Apps schnell und einfach entwickeln Cloud-basierte Entwicklungsumgebung, keine lokale Installation von Entwicklungsumgebung nötig. Technologie: HTML5. JQuery Mobile, Apache Cordova. Plattformen:

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac

Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac Zusatz zum digitalstrom Handbuch VIJ, aizo ag, 15. Februar 2012 Version 2.0 Seite 1/10 Zugriff auf die Installation mit dem

Mehr

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG Think Mobile Effiziente Entwicklungsstrategien im GIS Kai Hoffmann, BTC AG Mobile Endgeräte Was ist zu beachten? In dieser Betrachtung Smartphone Tablet Unterschiedliche Hardwareausstattung Bildschirmgröße

Mehr

Apps entwickeln mit HTML und Javascript

Apps entwickeln mit HTML und Javascript Apps entwickeln mit HTML und Javascript Framework "PhoneGap" (Apache Cordova) Apps für diverse Mobil-Plattformen (Android, ios, etc.) Apps als Web-Anwendung Vor- und Nachteile zu nativen Apps. Frank Bartels

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Wie verwende ich Twitter in MAGIC THipPro

Wie verwende ich Twitter in MAGIC THipPro Wie verwende ich Twitter in MAGIC THipPro Konfigurationsanleitung Version: V1-10. August 2015 by AVT Audio Video Technologies GmbH Registrierung der Social Media Option Stellt die Social Media Option allen

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

TUT1 Javascript-Frameworks zum Erstellen von plattformunabhängigen mobilen Anwendungen

TUT1 Javascript-Frameworks zum Erstellen von plattformunabhängigen mobilen Anwendungen TUT1 Javascript-Frameworks zum Erstellen von plattformunabhängigen mobilen Anwendungen tekom Frühjahrstagung 2012 Karlsruhe am 26.4. 2012 doctima GmbH JavaScript Frameworks für Mobile tekom 26.4.2012 Edgar

Mehr

DLS 7.0 Microsoft Windows XP Service Pack 2. Anleitung zur Konfiguration

DLS 7.0 Microsoft Windows XP Service Pack 2. Anleitung zur Konfiguration DLS 7.0 Microsoft Windows XP Service Pack 2 Anleitung zur Konfiguration Projekt: DLS 7.0 Thema: MS Win XP SP 2 Autor: Björn Schweitzer Aktualisiert von: Andreas Tusche am 18.08.2004 2:38 Dateiname: xpsp2.doc

Mehr

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung iks Thementag Mobile Applikationen Es lebe die Vielfalt?! 18.06.2013 Autor: Jan Laußmann Agenda Warum Cross-Plattform entwickeln? Hybrid

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Plattformunabhängige App-Entwicklung - Eine für alle?

Plattformunabhängige App-Entwicklung - Eine für alle? Plattformunabhängige App-Entwicklung - Eine für alle? AGENDA Kurze Firmenpräsentation: M&M Software GmbH Motivation Komponenten der plattformunabhängigen App-Entwicklung Vergleich der App-Arten Beispiele

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Zentrale Informatik. Cross-platform Apps. Andrea Grössbauer David Meier. 11/11/15 Lunchveranstaltungen HS16 - Crossplatform Apps 1

Zentrale Informatik. Cross-platform Apps. Andrea Grössbauer David Meier. 11/11/15 Lunchveranstaltungen HS16 - Crossplatform Apps 1 Cross-platform Apps Andrea Grössbauer David Meier 1 Was sind cross-platform Apps? Bei cross-platform Apps muss der Code nicht für jede Plattform einzeln geschrieben werden. Es wird sozusagen eine Universalapp

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

JavaScript Frameworks für Mobile

JavaScript Frameworks für Mobile JavaScript Frameworks für Mobile MoBI Expertenrunde Usability, 1. März 2012 doctima GmbH JavaScript Frameworks für Mobile MoBI 1.3.2012 Edgar Hellfritsch Inhalt Native App-Entwicklung Klassische Web-Entwicklung

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation bnsyncservice Voraussetzungen: Tobit DAVID Version 12, DVWIN32: 12.00a.4147, DVAPI: 12.00a.0363 Exchange Server (Microsoft Online Services) Grundsätzlich wird von Seiten KWP ausschließlich die CLOUD-Lösung

Mehr

HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP

HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP In diesem Dokument wurde aus Gründen der besseren Lesbarkeit auf geschlechtsneutrale Formulierungen verzichtet A-Trust GmbH 2015 2 Handbuch Handy-Signatur

Mehr

Die offizielle Homepage, Informationen, Entwicklergemeinde, etc. findet man unter www.eyeos.org

Die offizielle Homepage, Informationen, Entwicklergemeinde, etc. findet man unter www.eyeos.org eyeos Kurzer Einblick Vor und Hinter die Kulissen von eyeos! by schuestel am 17.09.2008 @ LUG mteich Wer oder was ist eyeos? eyeos ist gedacht als Notebook Ersatz um überall auf seine Dateien zugreifen

Mehr

Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator

Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator Stand: November 2015 Inhaltsverzeichnis Phase 1: Registrierung Schritt 1 von 2: Nutzungsart Organisation wählen Schritt 2 von 2: Organisation

Mehr

JavaScript-Erweiterungen für UI und UX

JavaScript-Erweiterungen für UI und UX JavaScript-Erweiterungen für UI und UX Schlüsselworte JavaScript, Pace, UX, UI, CSS, Einleitung Kai Donato MT AG Ratingen Wir als Entwickler stehen regelmäßig vor der Aufgabe, Geschäftsprozesse in APEX

Mehr

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Microsoft PowerPoint 2013 YouTube-Video einfügen

Microsoft PowerPoint 2013 YouTube-Video einfügen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 YouTube-Video einfügen YouTube-Video einfügen in PowerPoint 2013 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Vorbereitungen...

Mehr

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014 Mobility mit IBM Worklight Erste Schritte zu einer mobilen App Benjamin Stein, Consultant Stuttgart, 03.04.2014 Agenda Was ist IBM Worklight eigentlich? Hintergrund und Idee, Architektur und Bestandteile

Mehr

Kurzanleitung. SpaceController

Kurzanleitung. SpaceController Kurzanleitung SpaceController V ielen Dank, dass Sie sich für den SpaceController entschieden haben. Natürlich haben Sie hinreichende Erfahrung in der Installation von Treibern und Software. Dennoch sollten

Mehr

Zugriff auf die elektronischen Datenbanken

Zugriff auf die elektronischen Datenbanken Zugriff auf die elektronischen Datenbanken Anleitung Version 2013.1 Beschreibung der Dienstleistung VSnet stellt seinen Mitgliedern einen Zugang auf elektronische Datenbanken zur Verfügung. Nur die Mitglieder

Mehr

Cross Platform Development mit SharePoint

Cross Platform Development mit SharePoint Cross Platform Development mit SharePoint Agenda Wir entwickeln eine App um Businesstrips in SharePoint zu erfassen Businesstraveller 0.1 http://ppedv.de/msts Folien Demo Projekt Link Sammlung Und meine

Mehr

Cross Platform Development mit SharePoint

Cross Platform Development mit SharePoint Cross Platform Development mit SharePoint Agenda Wir entwickeln eine App um Businesstrips in SharePoint zu erfassen Businesstraveller 0.1 http://ppedv.de/msts Folien Demo Projekt Link Sammlung Und meine

Mehr

Entwicklungswerkzeuge & - methoden

Entwicklungswerkzeuge & - methoden Entwicklungswerkzeuge & - methoden Debugging und Logging von mobile Apps Jürgen Menge Sales Consultant, Oracle Deutschland E-Mail: juergen.menge@oracle.com +++ Bitte nutzen Sie die bevorzugte Telefonnummer

Mehr

Immer mehr lebt mobil

Immer mehr lebt mobil Immer mehr lebt mobil mehr als 4.600.000.000 Mobilgeräte breite Verfügbarkeit neuer always-on und Apps Lifestyle 2 Trittsicher auf allen mobilen Pfaden mit HTML5 und jquery Mobile Mike Baird http://flickr.com/photos/mikebaird/482031103/

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

DOK. ART GD1. Citrix Portal

DOK. ART GD1. Citrix Portal Status Vorname Name Funktion Erstellt: Datum DD-MMM-YYYY Unterschrift Handwritten signature or electronic signature (time (CET) and name) 1 Zweck Dieses Dokument beschreibt wie das auf einem beliebigem

Mehr

» Technologien, Trends, Visionen Architekturen für mobile Anwendungen

» Technologien, Trends, Visionen Architekturen für mobile Anwendungen » Technologien, Trends, Visionen Architekturen für mobile Anwendungen Juri Urbainczyk Forum A:gon meets Technology 08. September 2011 Agenda» Status und Entwicklung des mobilen Marktes» Besonderheiten

Mehr

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte: Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Cross-Platform Mobile Apps

Cross-Platform Mobile Apps Cross-Platform Mobile Apps 05. Juni 2013 Martin Wittemann Master of Science (2009) Arbeitet bei 1&1 Internet AG Head of Frameworks & Tooling Tech Lead von qooxdoo Plattformen Java ME 12 % Rest 7 % Android

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07 ExpandIT Client Control Kurzanleitung Stand 14.11.07 Inhaltsverzeichnis ExpandIT Client Control 3 Installationshinweise 3 System-Voraussetzungen 3 Installation 3 Programm starten 6 Programm konfigurieren

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

Mehr

PhoneGap. Mobile Cross-Plattform-Entwicklung mit Apache Cordova und Co. --> Mit einem Geleitwort von Michael Brooks, PhoneGap Core Contributor

PhoneGap. Mobile Cross-Plattform-Entwicklung mit Apache Cordova und Co. --> Mit einem Geleitwort von Michael Brooks, PhoneGap Core Contributor PhoneGap Mobile Cross-Plattform-Entwicklung mit Apache Cordova und Co. --> Mit einem Geleitwort von Michael Brooks, PhoneGap Core Contributor von Marcus Ross 1. Auflage PhoneGap Ross schnell und portofrei

Mehr

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011 Auffrischung jquery jquery Mobile Marco Francke I 24.02.2011 Mayflower GmbH 2010 write less do more Marco Francke 24. Februar 2011 24.02.11 Mayflower GmbH 2 Mayflower GmbH 2010 Was ist jquery und was kann

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache

Mehr

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

Vaadin TouchKit. W3L AG info@w3l.de 10.2012

Vaadin TouchKit. W3L AG info@w3l.de 10.2012 1 Vaadin TouchKit W3L AG info@w3l.de 10.2012 2 Inhaltsverzeichnis Einführung Software-Plattformen TouchKit-Plug-In Integrationsmöglichkeiten Vaadin-TouchKit-Projekt GUI-Komponenten Live-Demo Geräte-Unterstützung

Mehr

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy. www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.de Slide 1 Was habe ich heute vor? Aufzeigen, welche Möglichkeiten JSF bietet,

Mehr

FileMaker Go Alternativen

FileMaker Go Alternativen Thomas Hahn @ walkingtoweb.com Thomas Hahn @ walkingtoweb.com Programmierung mit Basic und C++ ab 1987 FileMaker Pro Entwicklung seit 1992 (FileMaker Pro 2.1) Weblösungen seit 1993 Entwicklung von komplexen

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

So ziehen Sie Ihr Wordpress Blog zu STRATO um

So ziehen Sie Ihr Wordpress Blog zu STRATO um So ziehen Sie Ihr Wordpress Blog zu STRATO um Version 1.0 So ziehen Sie Ihr Wordpress Blog zu STRATO um Das Wordpress-Plugin Duplicator ermöglicht Ihnen, in wenigen Schritten Ihre Wordpress-Instanz umzuziehen.

Mehr

Top-Themen. Workshop: Drucken mit iphone und ipad... 2. Seite 1 von 15

Top-Themen. Workshop: Drucken mit iphone und ipad... 2. Seite 1 von 15 Top-Themen Workshop: Drucken mit iphone und ipad... 2 Seite 1 von 15 AirPrint in der Praxis Workshop: Drucken mit iphone und ipad von Thomas Joos, Malte Jeschke Seite 2 von 15 Inhalt Drucken mit iphone

Mehr

Administrator-Anleitung

Administrator-Anleitung Administrator-Anleitung für die Typ 2 Installation der LEC-Web-Anwendung auf einem Microsoft Windows Server Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger

Mehr

WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012

WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012 WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012 AGENDA 1. Native versus webbasierte Apps 2. HTML5 & CSS3 1. Media Queries 2. Geolocation

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche Die Installation (siehe Punkt 1 und 2) der DataWatch Software kann auch auf einem Linux-System ohne grafische

Mehr

Apps für ios entwickeln

Apps für ios entwickeln Apps für ios entwickeln Am Beispiel einer realen App Bearbeitet von Jan Tittel, Jochen Baumann 1. Auflage 2013. Buch. XII, 222 S. ISBN 978 3 446 43192 8 Format (B x L): 17,9 x 24,7 cm Gewicht: 589 g Weitere

Mehr

@HERZOvision.de. Änderungen im Rahmen der Systemumstellung 20.04.2015. v 1.1.0 by Herzo Media GmbH & Co. KG www.herzomedia.de

@HERZOvision.de. Änderungen im Rahmen der Systemumstellung 20.04.2015. v 1.1.0 by Herzo Media GmbH & Co. KG www.herzomedia.de @HERZOvision.de Änderungen im Rahmen der Systemumstellung 20.04.2015 v 1.1.0 by Herzo Media GmbH & Co. KG www.herzomedia.de Inhaltsverzeichnis Inhaltsverzeichnis... 2 Modernisierung des herzovision.de-mailservers...

Mehr

Ihr IT-Dienstleister aus Bonn

Ihr IT-Dienstleister aus Bonn Ihr IT-Dienstleister aus Bonn Wer wir sind Sie sind auf der Suche nach einem Partner, der Sie bei der technischen Umsetzung Ihrer Online-Projekte zuverlässig und kompetent unterstützt? Wer wir sind Die

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Installationsanleitung MS SQL Server 2005 für Sage 50 Ablage & Auftragsbearbeitung Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Inhaltsverzeichnis 1. GRUNDSÄTZLICHES... 3 2. SQLExpress Installationsanleitung

Mehr

Wordpress am eigenen Server installieren

Wordpress am eigenen Server installieren Wordpress am eigenen Server installieren Voraussetzung: Zugang zum Server und einen Datenbanknamen und Datenbankuser 1. Download der aktuellen Wordpress-Version unter http://wpde.org/download/ Die Installation

Mehr

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln Version: 0.1 Autor: Anja Beuth Inhaltsverzeichnis 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

Vodafone Cloud. Einfach A1. A1.net/cloud

Vodafone Cloud. Einfach A1. A1.net/cloud Einfach A1. A1.net/cloud Ihr sicherer Online-Speicher für Ihre wichtigsten Daten auf Handy und PC Die Vodafone Cloud ist Ihr sicherer Online-Speicher für Ihre Bilder, Videos, Musik und andere Daten. Der

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

Mehr

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz Das Instrument für den fähigkeitsgerechten Personaleinsatz IMBA SQL Server-Datenbankadapter Installationsanleitung gefördert durch das Bundesministerium für Gesundheit und Soziale Sicherung Vorbereitung

Mehr

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme Autorensysteme für mobile Anwendungen - Totgesagte leben länger Was ist, was will ein Autor? Produzent interaktiver, multimedialer Inhalte geschlossene Einheiten (Apps) keine Grenzen für Kreativität Entwicklungs-

Mehr

Erste Schritte nach der Installation

Erste Schritte nach der Installation Erste Schritte nach der Installation Für cosymap 30 Tage Version, Basic, Teamwork und Enterprise Diese Dokumentation unterstützt Sie bei wichtigen Einstellungen nach der Installation. 2013-2015 copyright

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr