Lassen Sie sich bei Realisierung Ihrer Webapplikation von der rasanten technischen Entwicklung rund um JavaScript, HTML5 und CSS nicht täuschen. Wichtig ist, was dabei rauskommt.
Hier 5 Merkmale einer guten Webanwendung.
Um diese Merkmale zu Beginn eines Projekt mit dem Umsetzungsteam abklären zu können, ist es notwendig, gewisse technische Grundbegriffe und Aspekte aus der Welt der Webentwicklung zu verstehen. Im folgenden Abschnitt finden Sie Wissenswertes, das Ihnen bei der Realisierung Ihrer eigenen Webanwendung hilfreich sein könnte.
Eine Webseite (Website) ist eine Sammlung von untereinander verlinkten Dokumenten (Pages), die unter einer Internetadresse (Domain) erreichbar ist. Eine typische Webseite ist der Onlineauftritt eines Unternehmens, ein Nachrichtenportal oder die Webseite einer Musikgruppe. Der typische Besucher einer Webseite ruft für gewöhnlich mehrere Seiten pro Besuch ab.
Eine Webanwendung – auch Webapplikation oder Browserapplikation genannt – hingegen ist ein meist Login-geschütztes Programm, das über einen Webbrowser geladen wird und das einen ganz gewissen Zweck erfüllt – zum Beispiel das Schreiben von Dokumenten (Google Docs), das Versenden von E-Mails (Google GMail) oder das Verwalten von Fotos (Flickr). Wichtig: Webanwendungen auf das gleiche technische Fundament wie Webseiten auf, unterscheiden sich jedoch stark im Zweck und Interaktionsmuster. D.h. eine Webapplikation ist aus rein technischer Sicht letztendlich auch nur eine oder mehrere HTML-Seiten (Pages).
Eine Single Page Application, kurz SPA, ist eine Webanwendung, bei der der Benutzer die anfangs aufgerufene HTML-Seite (Page, siehe Unterschied Webanwendungen und Webseiten) nicht verlässt. Der Vorteil liegt darin, dass Benutzerinteraktionen (z.B. Wechsel von "E-Mails lesen" zu "E-Mail verfassen" oder Eingabe eines neuen Datensatzes über ein Formular) nicht das neuerliche Laden der HTML-Seite erfordern, die Interaktion somit schneller und "weicher" von statten geht und damit die Benutzerfreundlichkeit erhöht wird.
Ein weiteres wichtiges Merkmal ist, dass in einer reinen SPA der entsprechende HTML-Code erst im Webbrowser des Benutzers mittels der im Browser integrierten Programmiersprache JavaScript generiert wird – ganz im Unterschied zu Webseiten und "normalen" Webanwendungen, wo der HTML-Code vom Webserver schon fertig vorbereitet an den Browser geschickt wird.
Ein Single Page Applikation macht vor allem dann Sinn, wenn eine Webanwendung viel Benutzerinteraktion (Dateneingaben etc.) erfordert. Die Entwicklung in SPA-Bauart ist aber recht aufwendig und damit auch teurer als andere Architekturstile. Erfordert eine Webanwendung größtenteils nur lesenden Zugriff und wenig Benutzerinteraktion (z.B. Monitoring-Applikationen), ist meist eine etablierte, server-lastige Architektur sinnvoller, weil kosteneffizienter.
Eine Frage, die auch aufgrund der ständig neuen Entwicklungen in diesem Bereich nicht leicht und pauschal beantwortet werden kann. Wie es der Misserfolg von früheren server-seitigen Frameworks (z.B. ASP.NET, Java Server Faces) beweißt, ist ein Framework, das versucht, die zugrundeliegenden Webtechnolgien (HTML, CSS) hinter Abstraktionen zu verstecken, mit kritischen Augen zu betrachten. Eine weiterer Aspekt, den es zu betrachten gilt, ist, welche Ziele die Macher des Frameworks verfolgen. Denn steht eine kommerzielle Firma hinter einem Open Source Projekt, läuft man immer auch Gefahr, dass erstens, ein bewusst geschürter Marketing-Hype über Schwächen hinwegtäuscht und zweitens, firmenpolitische Entscheidungen die Richtung aller anderen Anwender negativ beeinflusst.
Auch hier gilt wie bei JavaScript-Frameworks die Faustregel, dass Frameworks, die das Web nicht zu verstecken versuchen, zu bevorzugen sind. Die Geschwindigkeit neuer Entwicklungen in diesem Bereich hat in den letzten Jahren an Fahrt verloren und es haben sich solide Frameworks wie Spring MVC, ASP.NET MVC, Ruby on Rails und Django herauskristallisiert.
Auch das Framework node.js hat einen großen Hype unter Entwicklern erfahren, kann aber laut Berichten wie diesen, nicht immer die gesteckten Erwartungen erfüllen – wohl auch wegen dem speziellen Programmiermodell, das eher für besondere Anwendungsfälle geeignet ist.