GeoExt mobile – Karten-Web-Apps mit nativem Look and Feel
Kommentare

Überblick über Open Source JavaScript Web Mapping Clients
Dieser Überblick erhebt selbstverständlich keinerlei Anspruch auf Vollständigkeit. Aufgrund der Nähe zur GXM-Bibliothek sind zu allererst

Überblick über Open Source JavaScript Web Mapping Clients

Dieser Überblick erhebt selbstverständlich keinerlei Anspruch auf Vollständigkeit. Aufgrund der Nähe zur GXM-Bibliothek sind zu allererst die Bibliotheken OpenLayers und GeoExt zu nennen.

OpenLayers

OpenLayers (derzeit in der Version 2.11., zum Zeitpunkt der Veröffentlichung vermutlich schon 2.12) wurde ursprünglich entwickelt, um alternativ zu Google Maps ein freies API bereitzustellen, das Google-Kartendienste anzeigen kann. Seit der 1. Version, die Mitte 2006 veröffentlicht wurde, wurden sehr viele Funktionalitäten und Schnittstellen ergänzt. Dennoch konzentriert sich OpenLayers nach wie vor auf die reinen Mapping-Komponenten und keinerlei Webkomponenten. OpenLayers kann sowohl als Standalone-Anwendung eingesetzt werden, ist aber auch Basis einiger Frameworks, die auf OpenLayers aufsetzen. Zu nennen wären hier insbesondere GeoExt und MapQuery.

Wer aufmerksam im Internet unterwegs ist, wird feststellen, das OpenLayers in sehr vielen Anwendungen genutzt wird. In unserem Buch „OpenLayers – Webentwicklung mit dynamischen Karten und Geodaten“ weisen wir auch auf so prominente Vertreter wie das Weiße Haus oder die Los Angeles Times hin (S. 18ff).

Abb. 3: Ein rein auf OpenLayers basierender, mobiler Web-GIS-Client

Im Frühjahr 2011 trafen sich OpenLayers-Entwickler in Lausanne, um OpenLayers mit für mobile Endgeräte tauglichen Bedienelementen auszustatten. Hierzu zählen Unterstützung von Karteninteraktionen via Touchscreen (Drag, Pinch, Tap, DoubleTap usw.), Implementierung einer Geolocation Control (HTML5-API, um den Standort des Gerätes auszulesen) und Performance-Optimierungen. Damit war die Basis geschaffen, mobile Web-GIS-Clients auf Basis von OpenLayers entwickeln zu können (Abb. 3).

GeoExt

GeoExt verbindet die desktopähnlichen Oberflächen des JavaScript-Frameworks ExtJS mit den vielfältigen Möglichkeiten der Verwendung und Interaktion mit geografischen Daten, die OpenLayers bietet. Mit GeoExt kann man anspruchsvolle Web-GIS-Applikationen für das Internet erstellen. GeoExt ergänzt also die OpenLayers-Funktionen durch eigene Module, ist jedoch nur für die herkömmliche Webentwicklung geeignet, nicht für den Einsatz auf mobilen Endgeräten.

Weitere Web-Mapping-Bibliotheken

Als weitere Bibliothek ist an dieser Stelle sicherlich das Projekt „MapQuery“ [6], das das JavaScript-Framework jQuery mit OpenLayers verbindet, anzuführen. Als weitere ernstzunehmende Clientkomponente ist das Projekt Leaflet [7] zu nennen. Leaflet ist eine ähnliche Bibliothek wie OpenLayers; der Fokus liegt aber sicher mehr in der einfachen Nutzung. Im Vergleich zu OpenLayers liegt Leaflet im Hinblick auf vorhandene Funktionen und zu verwendende Dienste deutlich zurück. Für mobile Webanwendungen existieren zwar Frameworks wie Sencha Touch oder auch jQuery Mobile. Zum Zeitpunkt der Entwicklung von GXM existierte aber keine freie JavaScript-Bibliothek, die auch nur annähernd die benötigten Kartenfunktionalitäten anbot.

Die Bibliothek GXM

Generell könnte man auch die reine OpenLayers-Bibliothek zum Aufbau eines mobilen Web-GIS-Clients nutzen. OpenLayers alleine ist nicht auf intuitive und komfortable Bedienung durch jeden denkbaren Client ausgelegt. Das UI (User Interface) ist bewusst sehr einfach gehalten.

Es wurde also beschlossen, eine Schwesteranwendung zu GeoExt aufzusetzen, die sich aus den Bibliotheken OpenLayers und Sencha Touch zusammensetzen sollte. Die Wahl fiel auf Sencha Touch, da diese Bibliothek aus demselben Hause wie ExtJs kommt und künftige Versionen sowohl von ExtJS als auch von Sencha Touch auf derselben Kern, der „Ext Base“, basieren werden.

Sencha Touch

Auf der Basis von ExtJS und HTML 5 hat die Firma Sencha mit Sencha Touch eine JavaScript-Bibliothek für die Entwicklung von mobilen, auf Touchscreens optimierte Anwendungen entwickelt. Sencha Touch bietet vielerlei Bedienelemente, AJAX-Komponenten sowie Möglichkeiten zur DOM-Manipulation. Für eine Webanwendung (im Gegensatz zur Webseite) ist es besonders wichtig, das CRUD-Operationen (Create, Read, Update, Delete), die mit relationalen Datenbankservern komfortabel implementiert werden können. Sencha Touch steht unter anderem als Open-Source-Software unter der GNU-GPL-Lizenz Version 3, eine andere Lizensierung für die Entwicklung von proprietären Anwendungen ist ebenfalls möglich.

Um eine durchgängig hohe Qualität des Basiscodes zu gewährleisten, durchlief der durch terrestris entwickelte Code einen Review-Prozess durch zwei Kernentwickler der Software GeoExt. So wurde neben der Codequalität auch die Komptabilität zu GeoExt sichergestellt.


Themen der kommenden Seiten:

  • Komponenten von GXM
  • Anwendungsbeispiele
  • Das Geoportal des Schweizer Bundes
  • Regiofreizeit: Ein Freizeitportal
  • Ausblick
  • Mögliche Anwendungsfälle
  • Doch eine App?
  • Unsere Redaktion empfiehlt:

    Relevante Beiträge

    Meinungen zu diesem Beitrag

    X
    - Gib Deinen Standort ein -
    - or -