Blog

Entwicklung von Webanwendungen - Die neue Art, es zu tun

Byju Parameshwaran Nair

Byju Parameshwaran Nair

Aktualisiert Oktober 22, 2025
4 Minuten

Webanwendungen entwickeln sich ständig weiter, von der Ära der statischen HTML-Seiten über HTML-Seiten, die aus serverseitigen Skripten (z.B. JSP, ASP, Perl, PHP, RoR) generiert werden, bis hin zu den neuesten RIA-Frameworks (Rich Internet Applications) (z.B. Angular JS, Backbone, Knockout). Silverlight oder Flex, Flash und Active Scripting sind eine ganz andere Liga als die flexibleren und beliebteren Technologien für Webanwendungen. Vielen Entwicklern fällt es schwer, fortgeschrittenes clientseitiges Scripting zu beherrschen, das eine Kombination aus Javascript, VB Script, CSS und Grafik beinhaltet und in der Entwicklerwelt als Ajax bekannt ist. Es gibt Entwickler, die die Entwicklung von clientseitigen Anwendungen (Benutzeroberflächen) gerne an spezielle UI-Programmierer delegieren, die hauptsächlich mit Ajax-Technologien arbeiten. Die neueren Client-Side-Technologien versuchen, das Problem der Ajax-Schwierigkeiten zu lösen und sie programmiererfreundlicher zu gestalten.

Technologie-Fortschritte

Lange Zeit wurde die clientseitige Technologie in den Hintergrund gedrängt, da die serverseitigen Technologien rasche Fortschritte machten, während die clientseitigen Technologien grob und unfreundlich für Programmierer blieben. Gegenwärtig scheinen die serverseitigen Technologien mit den Fortschritten, die sie bieten können, zu bremsen und wir können viele Open-Source-Entwickler sowie große Unternehmen finden, die miteinander wetteifern, um die fortschrittlichsten clientseitigen Technologien zu entwickeln und zu veröffentlichen. Die aktuellen Fortschritte zielen darauf ab, Ihnen die Entwicklung von RIA-Anwendungen mit weniger Javascript-Codierung, einfachem View-Templating, mehr OOP-basierter Datenmodellierung und unaufdringlicher Ereignisbehandlung zu ermöglichen.

Die beliebtesten RIA-Frameworks/Bibliotheken auf der Client-Seite sind Backbone.js, AngularJS und KnockoutJS, die es Entwicklern ermöglichen, mehr Code und Logik auf der Client-Seite für die Ausführung im Browser zu schreiben. Dies bietet dem Endbenutzer eine Desktop-ähnliche, schnelle Ausführung mit vernachlässigbarer Verzögerung zwischen den Seitenwechseln. Sie können Ihre Webanwendung genau wie Desktop-Anwendungen als Einzelseitenanwendung gestalten.

Das Senden von JSON von der Server- zur Client-Seite zum Laden und das Senden von JSON von der Client- zur Server-Seite zum Speichern oder Übermitteln ist alles, was nötig ist, um die Server- und die Client-Seite zu verbinden. Die Konvertierung zwischen dem Modell und JSON ist bei neueren Technologien ebenfalls automatisiert. All dies ermöglicht es den Entwicklern, sich mehr auf die Geschäftslogik und das Templating und weniger auf andere Routinefaktoren zu konzentrieren.

Entwurfsmuster

Web_Anwendung_Dev

Es ist wichtig zu ermitteln, was auf der Serverseite und was auf der Clientseite implementiert werden sollte. Achten Sie darauf, dass keine Logik auf der Server- und der Clientseite dupliziert wird. So weit wie möglich sollten die serverseitigen und clientseitigen Codes entkoppelt werden. Die Hauptverantwortung des Servers sollte in der Bereitstellung von Datendiensten und Service-Validierungen liegen, der Rest sollte in die clientseitige Codierung einfließen. Eine ideale Verteilung der Verantwortlichkeiten sieht folgendermaßen aus:

Serverseitig (MVC oder MVVM)

  • Es werden Modelle für das Laden von Daten aus dem Speicher und für die Annahme von Daten aus Browser-Eingaben erstellt
  • Controller werden für die Verwaltung von Arbeitsabläufen und das Rendern von Ansichten erstellt
  • Ansichtsvorlagen werden hauptsächlich mit HTML und CSS erstellt, Daten werden nicht mit serverseitigen Modellen gebunden. Die Präsentationslogik und die Datenbindung werden auf die Clientseite verlagert, wodurch die Größe der serverseitigen Ansicht stark reduziert wird und sie sauber bleibt.

Client-Seite (MVC oder MVVM)

  • Die Struktur der Modelle wird genauso erstellt wie die serverseitigen Modelle. Frameworks können diesen Teil bei Bedarf automatisch erledigen, er wird meist als Datenstruktur verwendet.
  • Bindung von Ansichtsvorlagen mit Modelleigenschaften
  • Das Controller- oder Ansichtsmodell fungiert als Bindeglied zwischen Modellen und Ansichten, steuert das Verhalten und die Ereignisse von Ansichtselementen und übersetzt oder transformiert Daten zwischen der Modellstruktur und der Ansichtsstruktur.
  • Wenn Sie das Modell aktualisieren, wird die Ansicht automatisch aktualisiert, und wenn Sie Daten in die Ansicht eingeben, wird das Modell automatisch aktualisiert.
  • Sie können viele routinemäßige Geschäftslogiken, Präsentationslogiken und Validierungen am Modell durchführen, die sonst auf der Serverseite implementiert werden müssten. Wenn die Daten zum Speichern oder Übermitteln bereit sind, wird das Modell, das eine Darstellung der Ansicht ist, an den serverseitigen Controller gesendet, vorzugsweise als JSON.

Das obige Design stellt sicher, dass die Verantwortlichkeiten gleichmäßig verteilt sind und es keine Redundanzen zwischen der clientseitigen und der serverseitigen Kodierung gibt.

Ein kurzer Blick auf die Vor- und Nachteile

Web_Anwendung_Entwicklung-2

Eine ausgewogene Entscheidung für oder gegen den Einsatz dieser Technologie sollte auf der Grundlage der Art der zu entwickelnden Anwendung und des Bildschirms getroffen werden. Bei den Fortschritten, die bei clientseitigen Frameworks gemacht werden, ist es sinnvoll, die Webanwendungen als RIA zu gestalten und den Benutzern das zu geben, was sie verdienen.

Es ist relativ einfach, diese Frameworks auch zu bestehenden Webanwendungen hinzuzufügen, so dass Entwickler die Möglichkeit haben, ihre bestehenden Webanwendungen mit einer reichhaltigeren Benutzeroberfläche auszustatten.

Entwickler sollten darauf achten, neuere clientseitige Frameworks für ein reichhaltiges Benutzererlebnis zu nutzen und das richtige Gleichgewicht zwischen serverseitigen und clientseitigen Technologien zu finden, denn schließlich sollten wir die Interessen der Benutzer im Auge behalten.

 

Verfasst von

Byju Parameshwaran Nair

Contact

Let’s discuss how we can support your journey.