Software • 20. März 2024

Progressive Web Apps mit MapComponents

 

Warum haben wir uns dafür entschieden, offline nutzbare Kartenanwendungen zu bauen?

Anwendungen, die einen Bestandteil kritischer Infrastruktur darstellen, haben hohe Anforderungen an Zuverlässigkeit und Ausfallsicherheit. Gleichzeitig geht die Modernisierung der Infrastruktur in Unternehmen und öffentlichen Einrichtungen oft auch mit einer Zentralisierung bestimmter Dienste einher, von denen andere Anwendungen abhängen. Fällt also z.B. ein Dienst aus, der von allen Anwendungen für die Authentifizierung verwendet wird, fallen alle Anwendungen aus, die davon Gebrauch machen. Darüber hinaus gibt es Szenarien, in denen kein Zugriff auf das Internet oder Intranet möglich ist.

Hier stellen Progressive Web Apps (PWAs) eine gute Möglichkeit dar, ausfallsicheren Zugriff auf die wichtigsten Informationen in aktueller Form zu gewährleisten. Ein Bestandteil unserer PWA ist eine Caching-Strategie, bei der ein sog. Service Worker die benötigten Daten effizient in die Anwendung lädt und dort speichert. Für Kartenanwendungen, bei denen große Datenmengen und Ressourcen erforderlich sind, kann dies einen signifikanten Unterschied in der Performance bedeuten. Wir erzielen somit schnellere Ladezeiten, selbst bei schlechter oder gar keiner Internetverbindung. Die Anwendung kann vollständig offline genutzt werden, sobald sie einmal auf dem Gerät aufgerufen wurde.

Ein zusätzlicher Vorteil von PWAs liegt in ihrer Fähigkeit zur plattformübergreifenden Nutzung. Unabhängig vom Gerätetyp ermöglicht ein moderner Webbrowser die Ausführung der App. Statt die App aus einem App-Store herunterzuladen, können Nutzer einfach über einen Link darauf zugreifen. Die Anwendung kann als Icon auf dem Homescreen platziert werden, von dort aus lässt sie sich ähnlich einer nativen App öffnen, ohne dass dabei eine Browserleiste sichtbar ist.

Eine PWA kann sehr gut gewartet und aktualisiert werden. Sobald ein Update auf dem Server bereitsteht, nimmt dies der Service Worker wahr und aktualisiert die Anwendung auf dem Gerät des Nutzers.

Was genau sind MapComponents?

MapComponents ist ein dynamisch konfigurierbares Baukastensystem für Kartenanwendungen.

Hiermit lassen sich Projekte an vollkommen unterschiedliche Ansprüche anpassen: Von der einfachen, in sich geschlossenen Anwendung, die vollständig im Browser ausgeführt wird, bis hin zu Client Anwendungen, die in komplexe service-basierte Architekturen integriert werden.

Weitere Informationen finden Sie auf der MapComponents-Website und auf Github.

Leider können wir Ihnen aus datenschutzrechtlichen Gründen keine kundenspezifischen Umsetzungen von PWAs zeigen, jedoch gibt es seit dieser Woche unsere PWA-Demo.

Jetzt ausprobieren!

Als Beispieldaten haben wir uns für das Liniennetz der U-Bahn in Amsterdam entschieden.
Auf dieser Zoomstufe werden Hintergrundkarte und Geometrien als Vectortiles in zwei getrennten pmtiles-Dateien bereitgestellt. Unten rechts können wir über das Navigationstool in die 3D-Ansicht wechseln.

Auf niedriger Zoomstufe werden die Geometrien, die zuvor als Vectortiles dargestellt wurden, ersetzt durch ungeneralisierte Geometrien die als GeoJson-Layer eingebunden werden.

Passend für den aktuellen Kartenausschnitt werden die Geometrien kontinuierlich nachgeladen. Dadurch bleibt die Karte auch bei großen Datensätzen performant.

Per Klick auf eine Geometrie ist deren Sachdatenabfrage möglich.

In der Toolbar lassen sich weitere GIS-Tools wie z.B. Messwerkzeug, PDF-Export oder eine Suche einbinden.

Für die offline Suche erzeugen wir einen Suchindex über die gewünschten properties der Features.

Eine Auswahl möglicher Tools und weitere Beispielanwendungen finden Sie in unserem MapComponents-Katalog.

Jetzt im Katalog stöbern!

 

Weitere Beiträge, die Dich interessieren könnten:

Tobias Weber

Tobias Weber ist seit Januar 2021 Software Entwickler bei der WhereGroup GmbH in Bonn. Als Full-Stack Developer hat er in den letzten 15 Jahren in diversen Projekten mit verschiedenen Technologien wie Javascript, React, Vue.js, Docker, PHP, ExtJS, MySQL, Three.js gearbeitet. In der letzten Zeit standen bei ihm React und Django im Vordergrund.

Eva-Marie Schürg

Eva-Marie Schürg arbeitet seit Januar 2022 als Softwareentwicklerin bei der WhereGroup GmbH in Bonn. Aktuell stehen bei ihr Kundenprojekte mit MapComponents und PWAs im Vordergrund.

Artikel teilen: