Hybride mobile App-Entwicklung mit Angular
Moderne GIS Anwendungen erobern immer weiter den mobilen Markt. Dabei können die
mobilen Anwendung sich einer immer größenren Auswahl an freien Frameworks bedienen, die
von einer rasant wachsenden Community entwickelt werden.
Vor allen Dingen die hybride App-Entwicklung bietet viele Vorteile, da Apps
plattformübergreifend (Android, iOS usw.) erstellt werden können und somit der
Entwicklungsaufwand minimiert wird.
Ein sehr modernen Ansatz bietet Angular. Durch seine gradlinige Implementierung als MVC
Framework (Model, View, Controller) ist die Anwendungslogik klar strukturiert und durch
das so genannte „two way data binding“, über einfache JavaScript Objekte, werden Model,
View und Controller durch Angular verknüpft, ohne dass dies durch den Entwickler geschehen
muss. Dies ermöglicht ein sehr hohes Maß an Modularität bei wenig Programmieraufwand.
Gleichzeitig ist es möglich weitere Frameworks, durch Dependency Injection, in die Logik
von Angular zu integrieren. Für viele dieser Frameworks existieren sogar bereits
Implementierungen, wie z.B. für Bootstrap, Leaflet oder auch pouchDB, wodurch die
Entwicklung mit Angular äußerst flexibel und einfach wird und auch im Geo Bereich bereits
viel zu bieten hat.
Durch eine große Auswahl an Modulen mit mobile first UI-Elementen, die sowohl die
Grundsätze von User Experience als auch Responsive Design erfüllen, ist Angular zum Mittel
der Wahl bei hybriden Applikationen geworden.
Der Vortrag gibt zunächst eine kurze Einführung in die Grundbegriffe der hybriden
App-Entwicklung und Angular. Es wird ein Grundsystem für mobile App-Entwicklung erstellt
und um Webmapping Elemente, durch die Angular Leaflet Directive, erweitert. Das Ergebnis
kann dann in einer Vorführanwendung direkt betrachtet werden.
Alle verwendeten Frameworks sind natürlich Open-Source.
Da das Thema hybride App-Entwicklung sehr Umfangreich ist, ist der Vortrag als eine
Einführung in die Thematik gedacht, die die Vorzüge von hybriden Webmapping Apps mit
Angular aufzeigen soll.