/ Ionic

Ionic

Es wird Zeit sich dieses Ionic mal näher anzusehen. Im Glossar habe ich Ionic noch immer nicht definiert, denn es ist gar nicht so einfach, was Ionic ist.


Dieser Artikel ist Teil der Serie:
Ionic_Start - Teil 5 - Was ist nun Ionic eigentlich?

[Ionic Logo](http://ionicframework.com/)

Will man eine hybride App auf Basis Cordova entwickeln, gibt es eine Menge Probleme zu lösen, für die man gerne Unterstützung hätte.
Auch wenn es immer so einfach dargestellt wird: etwas JavaScript und Html und schon vibriert das Handy, macht Fotos und man navigiert durch seine SharePoint Listen.
Im Endeffekt kämpft man

  • mit den verschiedenen Browsern,
  • mit inkompatiblen Versionen von Tools und Bibliotheken,
  • mit platformunterschiedlichen Plugins und
  • mit verschiedenen Sicherheitskonzepten.

Insofern, ist man über jede Unterstützung sehr dankbar und Ionic macht hier einen guten Job.

Feuersalamander

Ionic unterstützt einem auf diversen Ebenen:

CLI

Ionic ist zum einen ein Command Line Tool (CLI - command line interface), ein Werkzeug, dass einen während des Entwicklungsprozesses begleitet:
Startprojekt mit Template anlegen, Bibliotheken verwalten; die App in einem Entwicklungsserver hosten; ...
Das CLI kapselt auch das Cordova CLI, die Idee ist wohl, dass man nur mehr ein Tool braucht, vom Generieren des Projekts bis zum Paketieren der App für die verschiedenen Plattformen.

LIB

Ionic ist aber auch eine JavaScript/Sass/Icon Bibliothek, die aufbauend auf AngularJS die User Interface Entwicklung vereinfachen.
Auch hier ist der Schwerpunkt auf die mobilen Apps gerichtet. Z.B. sind die Animationen in mobilen Apps viel wichtiger als bei Web Applikationen. Auch die Touch-Bedienung ist wichtig.
Man kann diesen Teil am ehesten mit Bootstrap vergleichen.

ngCordova

Ionic entwickelt noch eine sehr praktische Bibliothek, genannt ngCordova, welche dazu dient die Cordova Plugins via AngularJS einfacher verwenden zu können.
Somit hat man Angular Services, Direktiven und dgl. und sie sind alle ähnlich aufgebaut. Damit wird die Benutzung der Plugins deutlich vereinfacht.
Bemerkung: Cordova Plugins kapseln die gerätespezifischen Teile, eine JavaScript API für eine spezielle Komponente, z.B. für die Kamera.

Services

Die meisten mobile Apps benötigen ein Web Service zum Datenaustausch oder einen Push Server und auch da bietet Ionic seine Dienste an. Ich denke, dass soll wohl neben Support, mal Geld in die Firma bringen.

Vielleicht auch das Service zum Paketieren der Lösung, dass ja z.B. für iOS nicht ohne Mac funktioniert.
In die App kann man auch einbauen, dass die Seiten überwacht werden, ähnlich dem bekannten Google Analytics.

Die sogenannte ViewApp ist auch ein Service von Ionic, das einem beim Testen der App hilft, indem die App über diesen Dienst von Testern und anderen Benutzer verwendet werden kann.

WebSite

Daneben gibt es noch Interessantes auf der WebSite zu finden, wie den Playground http://play.ionic.io/, so etwas wie jsFiddle.
Oder auch den MarketPlace, wo man selbstgebaute Templates anbieten oder erwerben kann.

GUI

Auch das Lab, eine grafische Oberfläche für das Tooling wird angeboten.

Und für die Erstellung von Apps gibt es einen grafischen Editor (ähnlich eines Mockup Generators). Das Ergebnis kann man dann auch als Ausgangsbasis für seine App verwenden.

Fazit

Man sieht, das Angebot ist sehr groß und fast schon unüberschaubar.
In vielen Bereichen überschneidet sich Ionic mit anderen Anbietern: SAP Fiori, Azure Mobile Service, Twitter Bootstrap, ... Man kann sich durchaus vorstellen, dass es hier noch zu Konsolidierungen kommen wird.

Die Services habe ich noch nicht verwendet und auch die beiden GUI Applikationen muss ich mir erst noch ansehen.

Ich habe schon die Erfahrung gemacht, dass neu angepriesene Teile (z.B. im Blog), dann beim Einsatz noch nicht so weit entwickelt sind, wie gedacht. Es ist also durchaus Vorsicht angesagt und vielleicht zunächst mal einen Blick in die Issues Diskussionen auf Github der Komponente riskieren, z.B. ob es für die verwendete Plattform auch geeignet ist.

Ich hoffe, dass ich nichts Wesentliches vergessen habe und dass dieser Überblick hilfreich war.


Dieser Artikel ist Teil der Serie Ionic_Start.
Links und Glossar