Die meisten Apps für iPhone, Android und Konsorten laden Daten aus dem Internet und verarbeiten diese weiter. Doch wie kommen die Daten auf das Smartphone? Welche Möglichkeit hat ein Herausgeber einer App die Daten bereitzustellen?

 
Meistens sind die Daten für einen Endanwender bereits im Internet verfügbar und können mit einem beliebigen Browser angezeigt werden, beispielsweise konnten bei Entwicklungsbeginn der iPhone-App „Parken in Mannheim“ die Belegungszahlen der Parkhäuser in Mannheim bereits über die Webseite http://www.parken-mannheim.de/ abgerufen werden.

 
Bei der Entwicklung einer App stehen mehrere Wege zu Verfügung, um Daten zu laden, die bereits im Internet verfügbar sind:

 
Screen Scraping

Hierbei lädt eine Anwendung die regulären HTML-Dateien vom Server herunter, die auch ein Anwender im Browser betrachten würde. In diesen Dateien sind sowohl grafische Steuerbefehle wie auch die gewünschten Daten enthalten. Über eine Textanalyse werden die gewünschten Daten extrahiert.

  • Vorteil:
    • Serverseitig fällt kein Zusatzaufwand an.
    • Kein Zugriff auf den Server notwendig.
  • Nachteil:
    • Sehr aufwendig und sehr fehleranfällig, da die Dateien immer nach dem gleichen Muster aufgebaut sein müssen. Jede Änderung der Dateistruktur führt automatisch zu einer Änderung in der Anwendung.
    • Für Änderungen in der Anzeige in der Anwendung muss die Anwendung angepasst werden.

 
Web Service

Es wird eine separate Software auf dem Server installiert. Diese liefert über spezielle Befehle die Daten an die App aus. Die Kommunikation zwischen Applikation und Server wird über XML abgewickelt, darin sind nur die reinen Daten enthalten.

  • Vorteil:
    • Die Daten sind getrennt von der grafischer Darstellung, d.h. die Optik der Webseite kann für den Surfer geändert werden, ohne dass die Anwendung angepasst werden muss.
    • Der Webservice kann von allen zugreifenden Plattformen genutzt werden. Eine iPhone App kann also genauso darauf zugreifen wie eine App für Android Smartphones.
  • Nachteil:
    • Zugriff auf den Server ist erforderlich.
    • Es muss Software entwickelt werden, die auf dem Server läuft.
    • Der clientseitige Teil des Zugriffs auf den Web Service muss für jede Plattform separat entwickelt werden.
    • Die Anzeige in der Anwendung muss für jede Plattform separat entwickelt werden.
    • Für Änderungen in der Anzeige in der Anwendung muss die Anwendung angepasst werden.

 

Mobile Webseite

Auf dem Server werden Scripte (PHP, etc.) abgelegt, die eine bestimmte Version der HTML-Seiten ausliefert. Die Anwendung hat einen integrierten vollwertigen Browser, der genau diese Webseite anzeigt. Die normalen Browsersteuerelemente werden dabei versteckt, es gibt also keine Vor- und Zurückknöpfe. Dabei werden alle Dateitypen unterstützt, die der Browser unterstützt. Die Anwendung hat dabei überhaupt keine Berührungspunkte mit den Daten, kann diese also auch nicht weiter interpretieren.

Die Webseite/die Skripte können bspw. auch von Webagenturen erstellt werden.

  • Vorteil:
    • Kostengünstig, sehr schnell implementiert, Änderungen in der grafischen Gestaltung können direkt auf dem Server abgelegt werden, die Anwendung muss nicht angepasst werden.
    • Die Webseite kann für alle Plattformen eingesetzt werden, es muss also nur die Rahmenanwendung mehrfach entwickelt werden.
  • Nachteil:
    • Die Anwendung kann die Daten nicht weiter verwenden, es können eventuell also auch keine telefonspezifischen Fähigkeiten genutzt werden.
    • Die Anwendung hat keinerlei (bzw. nur sehr begrenzt) Einfluss darauf, was passiert, nachdem die Webseite angezeigt wird. Wird bspw. ein Link geklickt, so wird diesem Link gefolgt. Dies kann unerwünscht sein.

 

Als Daumenregel kann man festhalten:

Sollen die Daten weiterverwendet werden, so sollte ein Webservice zum Einsatz kommen.

Müssen die Daten von der Anwendung nicht weiterverwendet werden können oder können alle folgenden Aktionen mit Webtechnologien abgebildet werden, so kann eine mobile Version einer Webseite zum Einsatz kommen. Screen Scraping ist auf keinen Fall zu empfehlen, da es zu fehleranfällig und zu aufwendig ist.

 
Generell evaluieren, untersuchen und beraten wir aber natürlich vor der Entwicklung einer App, welche Variante sich am besten für Ihre App und den geplanten Einsatzzweck eignet.