Mit den Visual Studio Tools for Apache Cordova lassen sich Cross Platform Apps für iOS, Android und Windows Phone Geräte entwickeln. Apache Cordova, bekannt durch PhoneGap, ist ein Open Source Framework, welches es erlaubt Standard Web Technologien wie HTML5, CSS3 und JavaScript zur Entwicklung von Apps zu verwenden, ohne die nativen Programmiersprachen der einzelnen Plattformen verwenden zu müssen. Für die jeweiligen Plattformen wären dies:
· C#, C++ für Windows Phone
· Java für Android
· Objectiv C, Swift für iOS
In dem gerade kürzlich von Microsoft veröffentlichtem Visual Studio 2015 sind die Tools for Apache Cordova direkt integriert. Der entsprechende Projekttyp kann bei der Erstellung eines neuen Projektes ausgewählt werden:
Mit der Hilfe der Tools und lassen sich Apps für folgende Plattformen entwickeln:
· Android 2.3.3 oder später
· iOS 6, 7, und 8
· Windows 8 und 8.1
· Windows Phone 8 und 8.1
Ohne die Visual Studio Tools für Cordova müssten viele Erweiterungen und Abhängigkeiten von Hand installiert und konfiguriert werden, um eine App für die oben genannten Plattformen zu entwickeln (siehe Tabelle).
Abhängigkeiten die installiert werden müssen: | Was muss konfiguriert werden: |
· Joyent Node.js · Google Chrome · Git Command Line Tools · Apache Ant · Oracle Java 7 · Android SDK · Apple iTunes · SQLite · WebSocket4Net |
· Command line Targets · Umgebungsvariablen · Veröffentlichungseinstellungen · Build Server · Web Server · Und einiges mehr… |
Somit spart man sich erheblich Zeit bei der Einrichtung, denn die richtigen Versionen und Einstellungen müssen nicht mühsam per Hand gesucht und konfiguriert werden. In Visual Studio 2015 ist alles vorinstalliert und -konfiguriert, so dass man direkt mit der Entwicklung starten kann. Entwickelt wird mit den Web Technologien HTML5, CSS3 und JavaScript, wobei die gewohnten Features und Bequemlichkeiten wie IntelliSense von Visual Studio genutzt werden können.
Neben der eigentlichen Entwicklung der App ist natürlich das Testen der App auf den verschiedenen Plattformen ein wichtiger Punkt, gerade wenn eine App für die verschiedenen Plattformen entwickelt werden soll. Um die Apps auf den verschiedenen Plattformen zu testen, gibt es zwei Möglichkeiten. Die Erste ist eine Webapp für Google Chrome: Der Apache Ripple Emulator. Dieser kann verwendet werden, um die Ausführung der App auf verschiedenen Geräten und Plattformen zu simulieren. Leider jedoch nur für Android und iOS und nicht für Windows Phone.
Für einen richtigen Test unter dem jeweiligen Gerät eignet sich der Emulator nicht, da er nicht komplett das Verhalten eines originalen Gerätes simulieren kann. Zur Überprüfung der Optik ist der Emulator hingegen sehr gut geeignet. Im Vergleich zu den entsprechenden Emulatoren ist er sehr schnell gestartet und es lassen sich kleine Änderungen, z. B. an der UI, zügig testen.
Die zweite Möglichkeit ist, die entsprechenden Emulatoren für die verschiedenen Plattformen zu verwenden. Diese gibt es sowohl für Windows Phone als auch für Android. Für iOS gibt es ebenfalls einen Emulator, für den jedoch aber noch mehr benötigt wird. Der “vs-mda-remote”-Agent muss auf einem Mac installiert, gestartet und die Verbindung zum Agent im Visual Studio Agent konfiguriert sein. Die beiden Emulatoren kommen den original Geräten schon sehr nahe und eigenen sich sehr gut für Tests. Sind aber auch etwas schwerfälliger im Vergleich zum Ripple Emulator. Aber auch Sie können und sollten nicht die finalen Tests auf einem Smartphone ersetzen.
Eine etwas unangenehme Einschränkung gibt es leider für die Windows Phone und Android Emulatoren. Wer schnell unter Azure VM die Entwicklung einer App ausprobieren möchte (eine fertig eingerichtete Windows 10 Maschine mit Visual Studio 2015 existiert bereits im Azure Portal), muss dabei auf die Emulatoren verzichten und muss sich mit dem Ripple Emulator begnügen. Die Emulatoren verwenden Hyper-V. Die Maschinen unter Azure sind aber bereits virtualisiert, weswegen sich Hyper-V auf diesen System nicht verwenden lässt.
Wird eine virtuelle Maschine auf dem eigenen Rechner ausgeführt kann zumindest noch auf einem nativen Device, das an den Rechner angeschlossen ist, getestet und debuggt werden.
Im Rahmen einer kleinen Serie sollen weitere Themen zu den Visual Studio Tools for Apache Cordova hier im AIT Blog behandelt werden, u. a. wie debuggt man universelle Apps, oder wie erstellt man für jede Plattform spezifischen Code um zum Beispiel das UI der Zielplattform anzupassen.
Vielen Dank für diesen informativen Artikel.