Nehmen Sie Kontakt auf.

Sie benötigen weitere Informationen zu einer bestimmten Leistung?
Sie haben eine konkrete Projektanfrage oder möchten einen Gesprächstermin vereinbaren?

Dann sind Sie hier genau richtig. Schreiben Sie uns ein paar Zeilen und wir melden uns schnellstmöglich bei Ihnen.

Moderne Web-Technologien

Das World Wide Web bietet für fast jeden Anwendungsfall eine Fülle von technischen Umsetzungsmöglichkeiten. Durch eine sehr große und agile Community von Web-Entwicklern wird ständig eine Vielzahl von neuen Technologien entwickelt, wobei sich diese für einen sinnvollen produktiven Einsatz erst beweisen müssen. Hier gilt es abzuwägen, welche Vor- und Nachteile bei dem jeweiligen Einsatzszenario zu beachten sind.

Häufig werden einige Technologien mit dem Schlagwort Web 2.0 in Verbindung gebracht, wobei das Web 2.0 eher abstrakte Ideen, wie zum Beispiel besonders interaktive und von einem Nutzer (dem Prosumenten) oder mehreren Nutzern kollaborativ generierte Inhalte, beschreibt. Der Begriff hängt eng mit Social Media und dem semantischem Web zusammen. Moderne Web-Technologien helfen, diese Leitgedanken in Web-Anwendungen zu realisieren.

Grundlagen

Auch wenn die Divergenz der vielen Web-Technologien hoch ist, gibt es einige Grundlagen, die fast allen als Basis dienen.

Das World Wide Web stützt sich auf eine Client-Server-Architektur und dem zur Kommunikation verwendeten Hypertext Transfer Protocol (HTTP). Bei dem Besuch einer Webseite schickt der verwendete Webbrowser eine HTTP-Anfrage an einen Prozess, der auf einem Web-Server läuft. Dieser generiert aus persistenten Daten eine HTTP-Antwort, die er an den Browser zurücksendet. Die Antwort besteht meist aus einer HTML-Datei und einigen zusätzlichen Metadaten. Die Hypertext Markup Language (HTML) ist eine Auszeichnungssprache, die Inhalte einer Webseite strukturiert. Jede Webseite besteht aus einem HTML-Dokument! Das Design der Seiteninhalte geschieht über Cascading Style Sheets (CSS).

Neben den genannten Technologien bildet JavaScript eine wichtige Grundlage für moderne Web-Anwendungen, um ein hohes Maß an Dynamik und Interaktion zu ermöglichen.

Ajax

Häufig verändert sich durch die Interaktion mit einer Webseite nur ein geringer Teil des Inhalts und wesentlich Elemente bleiben gleich. Ursprünglich musste trotzdem die gesamte Seite erneut vom Server geladen werden. Durch den Einsatz der Technologie Ajax (Asynchronous JavaScript and XML) wird dies vermieden, lediglich die veränderten Daten werden nachgeladen und entsprechend in die Webseite eingefügt. Die Grundsätze von Ajax gibt es bereits seit 1998, im größeren Stil wird es seit 2004/2005 eingesetzt.

Im Gegensatz zu dem traditionellen Abfragen einer Webseite ist dieser Prozess bei Ajax asynchron. Das bedeutet, dass der Browser – während er auf eine Antwort wartet – andere Aufgaben weiter bearbeitet. Für den Besucher einer Webseite hat das zur Folge, dass diese während der gesamten Abfrage weiterhin bedienbar ist. Man spricht bei Ajax-lastigen Webseiten von Web-Anwendungen, da die Verwendungen eher der einer herkömmlichen Desktop-Anwendung ähnelt, deren Vorteile in der unmittelbaren Reaktion auf Benutzerinteraktion und einer hohe Dynamik liegen.

Die Ajax-Technologie ermöglicht neuartige Anwendungsgebiete, wie zum Beispiel einen Chat oder die automatische Vervollständigung bei einer Suche, welche vorher nur durch den Einsatz von proprietären Technologien realisierbar waren. Proprietäre Lösungen hatten dabei den großen Nachteil, dass sie nicht für alle zugänglich waren.

Auf Ajax basierende Web-Anwendungen zeichnen sich aus durch ein hohes Maß an:

  • Geschwindigkeit
  • Dynamik
  • Zugänglichkeit

Bekannte Beispiele für Web-Anwendungen, welche erheblich auf Ajax zurückgreifen sind Google Maps, Google Texte & Tabellen, Facebook, sowie die Microsoft Live Anwendungen.

Ajax und eID

Wird eine TYPO3-Webseite mit dem Browser aufgerufen, wird diese erst auf dem Server für die Ausgabe vorbereitet. Dieser Prozess ist unnötig, wenn nur kleine Teile einer Webseite oder Daten nachgeladen werden sollen. Für die Extension-Entwicklung bietet TYPO3 mit dem eID-Mechanismus eine komfortable Möglichkeit, den Prozess der Seitengenerierung zu umgehen. Dadurch wird die Antwortzeit bei Ajax-Anfragen reduziert und der Server entlastet.

HTML5

Seit 2007 wird HTML5 entwickelt, welches viele neue technische Möglichkeiten bereitstellt. Die vermutlich interessantesten Bestandteile sind die Einbettung von Video- und Audioelementen, sowie dynamische Grafiken mithilfe des Canvas-Elements. Dadurch, dass diese nun direkt von vielen Browsern unterstützt werden, können die Inhalte auch auf mobilen Endgeräten (z.B. iPhone) betrachtet werden.

HTML5 ist noch kein Standard, viele Funktionen werden aber bereits von aktuellen Browsern unterstützt und können deswegen schon produktiv eingesetzt werden. Viele der nun in HTML5 verfügbaren Funktionen ließen sich bereits mit JavaScript lösen, jedoch mussten dazu viele Dateien (JavaScript-Frameworks) auf den Client-Rechner übertragen und vom Browser ausgeführt werden. Einige Webbrowser waren damit derart überfordert, dass größere Webanwendungen den Webbrowser überforderten. Mit HTML5 kompatiblen Browsern wurde diesem Problem ein gutes Stück entgegengewirkt.

WebSockets und Server-Sent Events (SSE)

WebSockets und Server-Sent Events werden als Teil von HTML5 entwickelt und sind (neben Ajax) eine weitere Möglichkeit der Kommunikation zwischen Server und Client. Die Besonderheit bei beiden Technologien ist, dass die Verbindung nach dem schicken einer Antwort vom Server zum Client nicht abgebrochen wird, sondern bestehen bleibt. Dadurch kann der Server auch weitere Daten schicken, ohne dass diese explizit vom Browser erfragt werden. Daher spricht man hierbei von Push-Technologien. Im Gegensatz zu den Server-Sent Events kann der Client bei WebSockets stets auch Daten an den Server schicken, die Verbindung ist bidirektional.

Die Verwendung von WebSockets oder SSE bietet sich vor allem dann an, wenn Informationen in Echtzeit übertragen werden sollen, zum Beispiel bei einem Chat. Die Übertragung ist dabei im Vergleich zu Ajax schneller, da der Verbindungsaufbau entfällt.