Ionic und hybride App-Entwicklung
Hinter dem Namen Ionic verbirgt sich nicht etwa noch ein weiteres Singel-Page-Application-Framework oder eine einfache Erweiterung von AngularJS. Das Team rund um Ionic hat mit ihrem Framework mehr einen Aufsatz für AngularJS geschaffen, um damit hybride mobile Apps zu bauen.
Der Vorteil ist die einfache Nutzung von Webtechnologien, wie HTML5, CSS3 und JavaScript anstatt Objective-C, Swift oder Java zu erlernen. Dadurch schafft man eine gemeinsame Code-Basis für alle Plattformen.
Cordova, PhoneGap und Ionic CLI
Den Zugriff auf native Schnittstellen oder Dienste und Komponenten des mobilen Gerätes erhält der Entwickler mit Apache Cordova. Beide Anbieter stellen ein CLI bereit, über das alle wichtigen Schritte ausgeführt werden können.
- Projekt anlegen
- Plattform hinzufügen/entfernen
- Plugin hinzufügen/entfernen
- Plugin suchen
- Projekt bauen (finale App, z.B. als .apk-Datei)
Cordova ist OpenSource und die Basis für PhoneGap. Adobe behält sich jedoch vor eigene Änderungen an PhoneGap vorzunehmen. Dadurch konnte der Dienst PhoneGap Build entstehen mit dem Anwendungen direkt in der Cloud gebaut werden. Besonders für iOS-Apps ist der Dienst eine große Hilfe, da diese auf einem Mac kompiliert werden müssen.
Ionic soll zukünftig ein Rundum-Paket liefern. Dazu zählen bereits eigene Services, wie Push-Nachrichten oder Analytics, aber auch eine eigene App-Verwaltung, um jederzeit die eigenen Apps ausprobieren und vorzuführen können.
Damit dies überhaupt möglich ist, stellt auch Ionic ein eigenes CLI, die Ionic CLI - bereit, welches wiederum auf Cordova basiert.
Die Ionic CLI enthält dabei alle wichtigen Funktionen der Cordova CLI und erweitert diese um weitere Befehle.
Die erste App anlegen
Es gibt im Prinzip zwei Möglichkeiten eine Ionic-App zu entwickeln.
- über Ionic CLI — Nutzung der CLI Befehle und Mechanismen
- als normale Web-App — Eine Ionic-App kann auch genauso wie eine normale Web-App bzw. AngularJS-App entwickelt werden. So kann sich PhoneGap Build die Projektdaten direkt von GitHub laden. Danach baut der Service intern ein eigenes CLI Projekt und installiert Plugins und Plattformen je nach Konfiguration in der
config.xml
. Im Vergleich zum CLI Projekt sind hier nur die Inhalte des www
-Ordners und die config.xml
relevant. Zusätzliche Ordner und Dateien eines CLI-Projekts sind hier überflüssig. Im Gegensatz dazu müssen die Bibliotheken AngularJS und Ionic manuell eingebunden werden