Wie gelangen die Informationen zum Anwender: statisch oder dynamisch?

Vorlage_Titelbild_1024x460

Wie man mobile Anwendungen bzw. Apps erstellt, haben wir grundlegend in der Blogreihe jQuery Mobile – write less do more gelernt. In diesem Beitrag werfen wir nun einen genaueren Blick auf die Bereitstellung der Informationen, bzw. die Erstellung des Contents. Für die Erstellung des Contents gibt es zwei Herangehensweisen: statische Anwendungen und dynamische Anwendungen. Wie diese zwei Ansätze funktionieren, erfahrt ihr nach dem Break.

Statische Anwendung

Bei einer statischen Anwendung werden die Inhalte direkt in HTML geschrieben. Nach diesem Ansatz wurde beispielsweise auch die App der Blogreihe jQuery Mobile – write less do more  erstellt. Diese Vorgehensweise lässt einen kurzen Entwicklungszeitraum zu und hat zudem den Vorteil, dass die Fortschritte direkt bei der Entwicklung betrachtet werden können.

Ist die Content-Erstellung abgeschlossen, wird die fertige Anwendung auf dem entsprechenden Portal hochgeladen. Dies kann entweder ein Webspace sein (Web-App, Web-Anwendung) oder ein App Store (hybride App). Betrachtet man die Anwendung, so wird genau das angezeigt, was zuvor in HTML erstellt wurde – die HTML-Datei bleibt unverändert, da diese im Endformat ist.

Statische Anwendung

Dies klingt alles soweit gar nicht schlecht, doch auf langfristiger Sicht birgt dieser Ansatz so einige Tücken, die hier nicht verschwiegen werden sollten. Ist es zum Beispiel notwendig die Anwendung neu zu strukturieren, sind es auch nur kleine Änderungen, so muss dies Seite für Seite erledigt werden. Das bringt je nach Umfang einen enormen Aufwand mit sich. Auch inhaltliche Korrekturen können bei entsprechend großem Umfang eine mühselige Arbeit sein.

Ebenfalls ist der Kenntnisstand der Programmiersprachen bei der Erstellung von statischen Anwendung relevant. Ist die verantwortliche Person für den Content nicht vertraut mit HTML und ähnlichen Web-Technologien, kann dies zu Problemen führen. Da der Content direkt in HTML erstellt wird, ist der Autor mehr oder weniger auch Entwickler der App. Hier wäre somit zunächst eine Schulung notwendig.

Als letzten Punkt betrachten wir nun den Update-Prozess der Anwendung auf der entsprechenden Plattform. Soll eine neue Version der Anwendung online gestellt werden, so muss die komplette HTML-Datei jedes mal neu hochgeladen werden. Dies kann besonders bei hybriden Apps sehr zeitintensiv sein, da der Weg bis in den App Store seine Zeit braucht.

Vorteile

  • Schneller Entwicklungszeitraum
  • Geringes Know-How in Web-Technologien ausreichend
  • Geeignet für Individuallösungen

Nachteile

  • Inhaltliche Korrekturen sind sehr zeitaufwändig
  • Wiederverwendung der App lohnt sich kaum (da Individuallösung)
  • Strukturelle Korrekturen benötigen je nach Umfang fast mehr Zeit als die eigentlich Entwicklung

Dynamische Anwendung

Dynamische Anwendungen generieren ihre Inhalte, wie der Name schon sagt, dynamisch. Das heißt, beim Aufrufen der dynamischen Anwendung werden keine statischen bzw. festen Inhalte angezeigt, sondern die Inhalte werden zum Zeitpunkt des Aufrufes zusammengeführt.

Anders als bei der statischen Anwendung dient HTML hier lediglich als Rahmen. In der HTML-Struktur werden Anker bzw. IDs gesetzt, um genau zu definieren, wo die Inhalte ausgegeben werden sollen (z.B. Kopfbereich, Content-Bereich, Fußbereich). Die Inhalte an sich werden in XML oder JSON erstellt und in einer separaten Datei gespeichert. Um die Inhalte problemlos auslesen zu können, müssen die Daten natürlich dementsprechend sauber sein.

Sind die Rahmen in HTML definiert und die Inhalte erstellt bzw. die Struktur der Inhalte definiert, werden die entsprechenden Befehle in JavaScript/AJAX geschrieben. In JavaScript/AJAX werden die gewünschten XML- /JSON-Knoten angesprochen und an die entsprechenden Rahmen ausgegeben.

Wie auch bei der statischen Anwendung wird die fertige dynamische Anwendung auf einen Webspace hochgeladen oder in den gewünschten App Store publiziert. Der Unterschied zur statischen Anwendung liegt nun darin, dass die Inhalte nicht fest sind, sondern beim Aufrufen der Web-Anwendung bzw. der hybriden App immer neu geladen werden.

Dynamische Anwendung

Auch in der Entwicklung einer dynamische Anwendung muss man sich mancher Schwächen und Grenzen bewusst sein. Der Entwicklungsprozess einer dynamischen Anwendung ist zum Beispiel im direkten Vergleich um einiges aufwändiger. Zwar ist der HTML-Code schnell erstellt, doch die JavaScript/AJAX-Befehle brauchen ihre Zeit und Know-How. Auch die Content-Erstellung in XML oder JSON benötigt mehr Konzeption – welches Informationsmodell wird verwendet, welche Tools werden eingesetzt, kennen sich die Autoren mit diesen Technologien aus (XML-Editoren o.ä.)? Dadurch dass der Content von der Struktur getrennt wird, entsteht automatisch ein größerer Aufwand und ein komplexerer Prozess um die Erstellung der Anwendung. Diese klare Trennung erleichtert jedoch die Erstellung gleichzeitig ungemein.

Auch das Updaten kann bei der dynamischen Anwendung zum Kritikpunkt werden. Ist der Content, also die JSON- oder XML-Datei, ebenfalls lediglich im Datei-Ordner der Anwendung abgelegt und wird mit den restlichen Dateien hochgeladen/publiziert, so muss auch hier der entsprechende Update-Prozess bei Änderungen immer neu durchgeführt werden. Hierfür gibt es Lösungen durch verschiedene Verwaltungsansätze, die sich jedoch primär für hybride Apps lohnen. Der erste Verwaltungsansatz ist das Speichern des Contents auf einem separaten Webserver. Der Content wird so über eine URL verlinkt. Der zweite Ansatz ist das Verwalten des Contents in einer DBaaS. Hier wird der Content, ähnlich wie beim Webserver, über eine Art URL eingebunden. Der Vorteil einer DBaaS ist, dass der Content dort erstellt werden kann und auf seine Validität geprüft wird – dies entfällt bei einem Webserver.

Vorteile

  • Umsetzung von umfangreichem Content
  • einfache / schnelle inhaltliche Korrekturen
  • Trennung von Content und Design
  • Hoher Grad der Wiederverwendung der Anwendung

Nachteile

  • Längerer Entwicklungszeitraum
  • Gute Kenntnisse in Web-Technologien, speziell in JavaScript
  • Benötigt mehr Tools (HTML-Editor, XML-Editor, evtl. DBaaS)

Fazit

Wann eignet sich nun genau welcher Ansatz? Zunächst einmal muss gesichtet werden, wie viel Ressourcen vorhanden sind (besonders im Unternehmensumfeld), welches Know-How zur Verfügung steht und vor allem wie der geplante bzw. schon vorhandene Content für die Anwendung aussieht (Umfang, Komplexität, Format).

Die Erstellung einer statischen Anwendung kann ein wenig mit der Erstellung von Dokumentationen mit Word oder ähnlichen DTP-Programmen verglichen werden. Die Erstellung kann bis zu einem gewissen Grad vollkommen ausreichend und angenehm sein, wird aber bei steigendem Umfang des Contents mühselig und unübersichtlich. Sie ist mehr eine Individuallösung.

Die dynamische Anwendung verfolgt den Gedanken des Single Source Publishings. Sie lohnt sich besonders dann, wenn schon Content in der benötigten Struktur vorhanden ist (XML oder JSON) und weitere bzw. ähnliche Anwendungen geplant sind. Ist der Content sehr umfangreich, jedoch noch nicht in XML oder JSON vorhanden lohnt sich dennoch auch hier diesen Ansatz zu evaluieren.

Ausblick

In diesem Beitrag wurden mehrmals XML und JSON erwähnt. Für viele aus dem TD-Bereich sind diese Formate wahrscheinlich täglich Brot – für einige sind sie wohl noch immer nur Buzzwords. Aus diesem Grund beschäftigen wir uns demnächst in einem weiteren Beitrag mit diesen zwei Formaten und erklären Euch die Merkmale und Unterschiede von XML und JSON.

Auch die Erstellung einer dynamischen Anwendung werden wir demnächst in einem neuen Beitrag anhand eines einfachen Beispiels erläutern.

Also bleibt gespannt!

Quelle: Gabler 2015

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.