Homepage > Journal > Wissensweg > Management der Webentwicklung > Was sind die Komponenten einer Webanwendung? Was muss ein Geschäftsinhaber wissen?
Journal

Was sind die Komponenten einer Webanwendung? Was muss ein Geschäftsinhaber wissen?

Wie gefällt Ihnen das:

Haben Sie sich jemals gefragt, was die Komponenten von Webanwendungen sind? Oder welche Rolle spielen die einzelnen Komponenten und Schichten? Oder welche Technologien werden am häufigsten für die Erstellung von Webanwendungen verwendet? Was sind die beliebtesten Arten von Webanwendungen?

Sie müssen die Antwort auf diese Fragen kennen. Sie sind aus geschäftlicher Sicht von entscheidender Bedeutung, da die Kenntnis der Unterschiede und Möglichkeiten es ermöglicht, die geschäftlichen Probleme, für die die Anwendungen eingesetzt werden, genauer zu lösen.

Warum ist eine Webanwendung keine Website?

Sie können die obige Frage halb im Scherz beantworten: weil es keine Websites mehr gibt. Sie sind durch Webanwendungen ersetzt worden. Obwohl der Begriff nicht präzise ist, bleibt er bestehen. Die Websites, die Content-Management-Systeme (CMS) verwenden, werden immer noch als "Websites" bezeichnet, obwohl es sich im engeren Sinne um Webanwendungen handelt.

Die Verwirrung entsteht durch das gemeinsame Merkmal von Websites und Webanwendungen. Ähnlich wie bei den Websites der Vergangenheit erfüllen einige dieser Websites lediglich Informationsfunktionen. Sie bieten einseitige, auf Informationen reduzierte Botschaften.

Bei einigen Webanwendungen, wie bei allen Websites, können die Nutzer nicht mit ihnen interagieren. Sie können etwas lesen, sehen oder hören, aber mehr nicht.

Moderne Webanwendungen basieren auf umfangreichen Interaktionen, vielfältigen Funktionalitäten und einer breit gefächerten Nutzbarkeit.

Wir entwickeln Anwendungen auf der Grundlage von AWS Services und AWS Komponenten.

Funktionen von Webanwendungen

Webanwendungen machen unser Leben einfacher und lösen unsere Verbraucherprobleme. Und der Umfang ihrer Nutzung wird immer größer.

Sie helfen uns dabei:

  • Bestellung (z.B. Lebensmittel).
  • Kauf (z. B. Eintrittskarten, Bücher, Blumen).
  • Buchen (z. B. Flugtickets, Hotelzimmer, Besuche im Schönheitssalon oder in der Arztpraxis).
  • Planung der Durchführung bestimmter Dienstleistungen (z. B. Reinigung).
  • Lernen (z. B. Sprachen, neue Programme).
  • Finden Sie die Interessenten (z. B. durch Anzeigen).
  • Austausch (z. B. Währungen, Meinungen).
  • Investieren (z. B. an einer Börse).
  • Teilnehmen (z. B. an Wettbewerben und Lotterien).
  • Spielen Sie Spiele (z. B. einzeln oder als Team).
  • Aufbau von Beziehungen (z. B. emotional, geschäftlich).

Die obige Liste ist bei weitem nicht vollständig. Mit der Zeit wird sie sogar noch länger werden. Was sofort auffällt, ist die Anzahl der Verben, die Aktivitäten (und deren Ergebnisse) beschreiben, die mithilfe von Webanwendungen durchgeführt werden können. Sie sind für Unternehmen das, was Kraftstoff für Kraftfahrzeuge ist.

Sie sind Werkzeuge, die für:

  • Verkaufen (z. B. in Online-Shops).
  • Imagebildung.
  • Bildung.
  • Aufbau von Geschäftsbeziehungen.
  • Ermöglichung der Digitalisierung von Geschäftsanforderungen.

Webanwendungen werden auf der Grundlage von rund einem Dutzend Sprachen, Technologien und Lösungen erstellt. Die für die Erstellung von Webanwendungen verwendeten Technologien umfassen Python, Django, PHP, React, Node.js und viele mehr.

Webanwendung: Definition

Was ist eine Webanwendung? Für das Protokoll lassen Sie uns den Begriff definieren. Einfach ausgedrückt, ist eine Webanwendung eine Art Computerprogramm, das auf einem Webserver installiert und über einen Webbrowser zugänglich ist.

Webanwendungen, die von Google angeboten werden.
Google-Webanwendungsbibliothek.

Im Gegensatz zu Desktops und mobilen Anwendungen müssen Webanwendungen nicht auf einem Computer, Mobiltelefon oder Tablet installiert werden.

Sie sind in jedem Betriebssystem (z. B. Linux, Windows, macOS), auf jedem Gerät (sogar einem Fernseher) und in jedem Browser verfügbar.

Obwohl in der Regel der volle Zugang gewährt wird, gibt es Webanwendungen, die für die volle Funktionalität erforderlich sind:

  • Authentifizierung (Login und Passwort).
  • Erwerb eines vorübergehenden Zugangs (Paywall).

Es gibt verschiedene Arten von Webanwendungen und deren Einteilungskriterien. Aus rein geschäftlicher Sicht sind nicht alle von ihnen relevant.

Dieser Artikel befasst sich daher mit den beliebtesten und am häufigsten für geschäftliche Zwecke verwendeten.

Single-Page-Anwendung (SPA)

Wie der Name schon sagt, findet die Interaktion zwischen dem Benutzer und der Anwendung auf einer einzigen Seite statt. Der gesamte Inhalt (Informationen und Funktionalitäten) befindet sich in einem einzigen Bereich, was die Nutzung deutlich erleichtert und beschleunigt.

Bei Single-Page-Anwendungen wird die Präsentationsschicht vollständig auf der Seite des Kunden (Webbrowser des Benutzers) erzeugt. Sie brauchen die Anwendung nicht zu aktualisieren oder neu zu laden. Der Inhalt wird dynamisch heruntergeladen.

Die Webanwendung lädt nur die Daten herunter, ersetzt sie und zeigt sie an, die sich aus den Benutzeraktivitäten ergeben (Datenauthentifizierung und -synchronisierung).

Netflix - Single-Page-Anwendung (SPA)
Netflix.com: vielleicht die bekannteste SPA (Single-Page Anwendung).

Single-Page-Anwendungen verdanken ihre Schnelligkeit der Tatsache, dass die Steuerungslogik der Schnittstelle nicht auf einem Server, sondern in einem Browser ausgeführt wird. Ermöglicht wird dies vor allem durch die Rechenleistung moderner Geräte.

Die Anwendung lädt nur die erforderlichen Daten über die API auf den Server hoch und herunter. Aufgrund der asynchronen Kommunikation (gleichzeitiges Senden mehrerer Abfragen im Hintergrund) sind solche Anwendungen sehr schnell und hoch interaktiv. Single-Page-Anwendungen zeichnen sich auch durch einen geringeren Ressourcenverbrauch aus.

Vorteile von Single-Page-Webanwendungen

SPAs verdanken ihre Beliebtheit vielen Vorteilen und einigen Nachteilen.

Zu den wichtigsten Vorteilen gehören die folgenden:

  • Keine Verwendung von Plugins (z. B. Flash) erforderlich.
  • Der Anwendungscode (HTML, CSS, JavaScript) wird in der Regel nur einmal heruntergeladen, und größere Anwendungsteile werden im Hintergrund heruntergeladen, was die Infrastruktur zur Bereitstellung statischer Dateien erheblich entlastet.
  • Bessere Skalierbarkeit.
  • Geringere Belastung des Anwendungsservers (einige Vorgänge werden auf der Seite des Kunden und nicht auf dem Server durchgeführt).
  • Unabhängigkeit vom Backend (die Front-End-Anwendung kommuniziert mit dem Backend über eine API).
  • Schnelle und reibungslose Interaktionen zwischen dem Benutzer und der Anwendung.
  • Ladegeschwindigkeit.
  • Schnelle und reaktionsschnelle Schnittstelle.
  • Sehr guter erster Eindruck.
  • Effizientere Zwischenspeicherung.

Nachteile von Single-Page-Webanwendungen

Obwohl sie beeindruckend sind, haben Single-Page-Anwendungen auch ihre Nachteile. Diese sind zwar nicht wirklich lästig, aber Sie müssen sich ihrer bewusst sein. Zu den größten Nachteilen gehören die folgenden:

  • Die große Größe der Ausgabedateien.
  • SEO-unfreundlich — das Problem, dass SPAs mäßig freundlich sind, kann durch Server Side Rendering gelöst werden.
  • Größere Schwierigkeiten bei der Anpassung der Anwendung an die WCAG-Anforderungen.
  • Relativ hoher Arbeitsaufwand für die Erstellung/Entwicklung der Anwendung.
  • Notwendigkeit eines zusätzlichen Schutzes.
  • Höherer Verbrauch von Rechenleistung durch die Geräte der Benutzer.
  • Größere Schwierigkeiten bei der Anpassung der Anwendung an ältere Browser und nicht standardisierte Geräte.

Empfohlene Verwendung von Single-Page-Webanwendungen

Aus geschäftlicher Sicht werden SPAs für Unternehmen empfohlen, bei denen die visuelle Attraktivität, die Betriebsgeschwindigkeit und die Nutzbarkeit von entscheidender Bedeutung sind.

Nutzung von SPA-Webanwendungen - Google Maps
Google Maps ermöglicht verschiedene Interaktionen zwischen Benutzer und Anwendung.

Sie werden vor allem in Branchen eingesetzt, in denen die folgenden Punkte Vorrang haben:

  • Ansicht und Interaktionen in Echtzeit (z. B. Karten).
  • Komplexe Schnittstellen mit mehreren Interaktionen (z. B. soziale Medien).
  • Anzeige von Aktualisierungen in Echtzeit (z. B. Datenvisualisierung).
  • Bequeme Bearbeitung ausgewählter Daten (z.B. CRM).
  • Besseres ästhetisches Erlebnis und größere Interaktivität.

Wann Single-Page-Anwendungen nicht verwendet werden sollten

Vermeiden Sie auf jeden Fall die Verwendung von Anwendungen dieser Art, wenn:

  • Der präsentierte Inhalt ist statisch und wird selten aktualisiert (HTML).
  • Sie wollen die Benutzer erreichen, die ältere Browser-Versionen und Hardware mit geringeren technischen Spezifikationen verwenden.
  • Sie müssen eine Lösung anbieten, die speziell auf die Bedürfnisse von behinderten Benutzern zugeschnitten ist (WCAG).
  • Sie erstellen eine SEO-freundliche Website.

Beispiele für Single-Page-Anwendungen: Gmail, Google Maps, Facebook, PayPal, Twitter und Netflix.

Multi-Page-Anwendung (MPA)

Man könnte sagen, dass herkömmliche Multi-Page-Anwendungen verwendet werden oder sogar empfohlen werden, wo SPAs nicht empfohlen werden.

MPA ist eine traditionelle (ältere) Art von Webanwendung. Multi-Page-Anwendungen zeichnen sich dadurch aus, dass bei jeder Interaktion mit dem Benutzer die gesamte Seite neu geladen wird, was den Betrieb verlangsamen und die Benutzererfahrung beeinträchtigen kann.

Multi-page Webanwendungen - Amazon
Amazon.com ist das beste Argument für die geschäftliche Nutzbarkeit von Multi-Page-Anwendungen.

Multi-Page-Anwendungen sind gekennzeichnet durch:

  • Seitenrendering (Generierung von HTML-Code) auf der Serverseite.
  • SEO-freundlich sein.
  • Höheres Maß an Datensicherheit und -integrität.
  • Die relative Einfachheit der Erstellung, insbesondere bei Verwendung von Frameworks wie Django.

Nachteile von Multi-Page-Anwendungen

Obwohl MPA immer noch sehr beliebt sind, haben sie Nachteile, die ihre geschäftliche Nutzbarkeit und Effizienz beeinträchtigen.

Zu den größten Nachteilen gehören die folgenden:

  • Beim Neuladen der Seite werden dieselben Daten erneut heruntergeladen, was zu einer übermäßigen Serverbelastung führt.
  • Die Navigation in MPA ist langsamer als in SPA.
  • Die Front-End- und Back-End-Schichten sind in der Regel stärker miteinander verbunden als bei SPA.

Empfohlene Verwendung von Multi-Page-Anwendungen

Wie bereits erwähnt, werden MPA nach wie vor in großem Umfang für geschäftliche Zwecke genutzt, und alles deutet darauf hin, dass dies auch noch lange Zeit so bleiben wird. Sie werden besonders den Unternehmen empfohlen, die:

  • ein umfangreiches Produkt- oder Dienstleistungsangebot haben (z. B. Online-Shops).
  • große Mengen von Bildungs- oder Informationsinhalten zu teilen.

Insbesondere dann, wenn die präsentierten Inhalte nicht häufig aktualisiert werden müssen, statisch sind und nicht viel mit dem Benutzer interagieren.

Beispiele für Multi-Page-Anwendungen: Amazon und Online-Shops zu einem großen Teil.

Was sind die Komponenten einer Webanwendung?

In der grundlegendsten Unterteilung, die anhand der Kriterien Benutzer und Eigentümer/Absender und Empfänger erstellt wird, besteht eine Webanwendung aus einem Front-End (Kunden-Seite) und einem Back-End (Server-Seite).

Was die Technologie betrifft, so wird die Front-End-Schicht in der Regel in den Sprachen HTML, CSS und JavaScript sowie in den Frameworks Next.js, React/Redux, Vue und Angular erstellt. Die Back-End-Schicht wird im Allgemeinen mit Sprachen (z. B. PHP, Python, Java) und Frameworks (z. B. Django, Symfony, Node.js) erstellt.

Die Struktur oder Architektur einer Webanwendung kann aus der Perspektive der darin zu unterscheidenden Schichten betrachtet werden.

In der klassischsten Einteilung werden die folgenden Schichten unterschieden:

  • Präsentationsschicht: ihre Hauptkomponente ist die grafische Schnittstelle ("Graphical User Interface"), die es den Benutzern ermöglicht, mit der Webanwendung zu interagieren.
  • Geschäftslogikschicht: eine Zwischenschicht zwischen der Präsentations- und der Datenschicht, die für die Durchführung aller Geschäftsprozesse verantwortlich ist, für die die Anwendung erstellt wurde (z. B. Auftragsabwicklung).
  • Datenschicht: hauptsächlich für die Speicherung von Benutzerdaten zuständig.
  • Infrastrukturschicht: alle Komponenten, die das Funktionieren der Anwendung ermöglichen.

Entwurfsmuster: Model-View-Controller

Model-View-Controller ist ein Muster, bei dem jede der oben genannten Schichten eine eigene Funktion hat, auf der Grundlage einer eigenen Logik arbeitet und einen eigenen Satz von Funktionalitäten unterstützt.

In diesem Modell besteht eine Webanwendung aus den folgenden Elementen:

  • View: die Logikschicht für die Datenpräsentation (die Daten werden vom Controller von der Datenschicht heruntergeladen), die für das Aussehen der Webanwendung verantwortlich ist.
  • Datenmodell: die Schicht, die die Darstellung des Problems, die Beschreibung der Beziehungen zwischen den Daten, die Konsistenzregeln und die Datenintegrität enthält.
  • Controller: die logische Zwischenschicht zwischen der View-Schicht und der Datenmodell-Schicht, die für die Funktionsweise der Anwendung, die Interaktionen zwischen den Modellen und die Datenübertragung an die Präsentationsschicht (View) verantwortlich ist.

Die View-Schicht (Präsentationsschicht) wird von Front-End-Entwicklern erstellt, die der Anwendung ein optisch ansprechendes, freundliches, intuitives und ergonomisches Aussehen verleihen. Sie entwerfen die Schnittstelle und das Layout, mit Fokus auf die beste Benutzererfahrung.

Die übrigen Schichten werden von Entwicklern erstellt, die sich auf Back-End-Technologien spezialisiert haben, um stabile, sichere und effektive Lösungen bereitzustellen.

Der Kern des mehrschichtigen Ansatzes zur Erstellung von Webanwendungen ist die Autonomie der Probleme in jeder der Schichten und die Vermeidung der Einführung von Abhängigkeiten, die zu Änderungen im gesamten System führen.

Mit anderen Worten, bei der Erstellung von Anwendungen muss darauf geachtet werden, dass eine Änderung in einer Schicht keinen signifikanten Einfluss auf die anderen Schichten hat.

Mit einer solchen Trennung ist es möglich, Webanwendungen schneller und einfacher zu erstellen, zu entwickeln, zu testen, zu verwalten und zu reparieren. Sie ermöglicht es Ihnen auch, Rollen, Abhängigkeiten, Verantwortlichkeiten, Kommunikationsmethoden und Zugriffe innerhalb des gesamten Systems und damit die Beziehungen zwischen ganzen Schichten und zwischen den Komponenten einzelner Schichten zu definieren.

Derzeit gibt es weitere Varianten dieses Modells, wie MVP (Model-View-Presenter) und MVVM (Model-View-ViewModel).

Geschäftslogik-Schicht

Aus der Sicht des Geschäftsinhabers spielt die Geschäftslogik-Schicht eine Schlüsselrolle, da sie den Geschäftsprozess und die Ziele in Webanwendungsfunktionalitäten übersetzt.

Im Falle einer Buchungsanwendung besteht die Geschäftslogik beispielsweise in der Möglichkeit, verfügbare Angebote zu durchsuchen, eine Auswahl zu treffen und schließlich eine bestimmte Einrichtung für einen bestimmten Zeitraum zu buchen.

Die Geschäftslogik-Schicht einer Webanwendung ist in erster Linie darauf ausgerichtet:

  • Implementierung von Geschäftsregeln, d. h. deren Übersetzung in die Code-Sprache (z. B. spezifische Anweisungen und Berechnungen).
  • Datenvalidierung und -pufferung, d.h. Überprüfung ihrer Korrektheit, die für den korrekten und effizienten Betrieb der Webanwendung erforderlich ist, und Beschleunigung ihrer Verarbeitung.
  • Verwaltung des Arbeitsablaufs.
  • Statusverwaltung.
  • Verwaltung des Zugangs.
  • Ermöglichung der Benutzeridentifizierung.

Mit anderen Worten: Eine korrekt spezifizierte Geschäftslogik ist verantwortlich für die Leistung, Effektivität und Benutzerfreundlichkeit der Webanwendung, mit der Sie Ihre Geschäftsziele erreichen und den Benutzern einen Mehrwert bieten können.

Kultur der Anwendungsentwicklung, oder wie man eine professionelle Webanwendung erstellt.

Die Kultur einer Softwareentwicklung unterscheidet sich nicht von der persönlichen Etikette. Es handelt sich auch um eine Reihe von Grundsätzen und bewährten Verfahren, durch die wir in unserem Umfeld besser wahrgenommen werden.

Bei Software besteht unsere Umgebung einerseits aus den Benutzern, Entwicklern und Kunden. Andererseits umfasst die Softwareumgebung auch die Infrastruktur, in der unsere Anwendung arbeitet.

Der Entwickler-Knigge sollte die folgenden Merkmale und Grundsätze enthalten:

  • Wir achten auf einen sauberen und klaren Code: Unser Entwicklungsstil sollte, wie eine gute Handschrift, klar und verständlich sein. Nicht nur für uns zum Zeitpunkt der Codeerstellung, sondern auch für jeden Entwickler mit entsprechender Qualifikation.
  • Beachtung der logischen Struktur: Bei der Softwareentwicklung geht es nicht um eine unendliche Anzahl von Codezeilen, sondern um die Entwicklung einer einfachen, konsistenten und logischen Architektur des gesamten Systems. Denken Sie immer an das SRP-Prinzip (Single Responsibility Principle), die Kapselung und die vereinfachte Vererbung. Damit wird unsere Software wartungsfreundlich, und ihre Entwicklung wird sicher, angenehm und kostengünstig sein.
  • Achten Sie auf Dokumentation und Inventarisierung: Denken Sie daran, dass etwas, das für Sie offensichtlich erscheint, für einen Außenstehenden nicht unbedingt offensichtlich ist. Ein guter Code dokumentiert sich selbst, aber wir sollten die Zeit anderer Leute respektieren und sie nicht zwingen, den gesamten Code zu lesen, wenn es z. B. nur notwendig ist, eine einfache öffentliche Methode zu verstehen. Gerade in Zeiten von Serverless und Microservices sollten wir uns um die API-Dokumentation unserer Software kümmern. Denken Sie auch daran, eine Liste der Komponenten Ihres Systems zu erstellen. Selbst die beste Enzyklopädie ist ohne Index oder Inhaltsverzeichnis völlig sinnlos.
  • Aufmerksamkeit für Tests und Fehlerüberwachung: Nichts ist schlimmer als ein Fehler, der von einem Benutzer oder Kunden gemeldet wird. Gute Software sollte gut überwacht werden, durch automatische Tests angemessen abgedeckt sein und über eine breite Palette von Diagnosewerkzeugen verfügen. Wir sollten über jede Störung, jeden Fehler oder jede Anomalie Bescheid wissen, bevor unsere Benutzer uns darüber informieren.

Dies sind die wichtigsten Grundsätze, die unser Team jeden Tag befolgt. Denken Sie auch daran, dass das Thema sauberer Code und die Kultur der Softwareerstellung ausführlich und fachkundig in Robert C. Martins Buch Clean Code behandelt wird — ein Muss für jeden Entwickler!

Webanwendungen - Robert C. Martin, Clean Code
Robert C. Martin, Clean Code. Das Buch ist seit seiner Veröffentlichung im Jahr 2009 ein großer Erfolg bei Programmierern und wurde in mehrere Sprachen (einschließlich Chinesisch) übersetzt.

Dedizierte Webanwendungen für Unternehmen

Der Business Case für die Erstellung von Webanwendungen ist ziemlich offensichtlich.

Sie sind weniger kostspielig als Desktops oder mobile Anwendungen.

Sie müssen nicht an die Anforderungen verschiedener Betriebssysteme angepasst werden (sie arbeiten in einer Webbrowser-Umgebung).

Die Verteilung von Webanwendungen ist viel einfacher als Anwendungen, die auf den Geräten der Benutzer installiert sind.

Webanwendungen eignen sich für praktisch alle Geschäftsbereiche, und moderne Technologien ermöglichen es Ihnen, unabhängig von Umfang und Komplexität eines Problems leistungsstarke, benutzerfreundliche und relativ kostengünstige Lösungen zu erstellen.

Zusammenfassung

Denken Sie daran, dass eine Website keine Webanwendung ist. Praktisch gibt es keine Websites mehr. In den meisten Fällen verwenden wir Webanwendungen.

Durch die Erstellung von Webanwendungen können wir unsere Geschäftsziele mit kleineren Budgets als bei Desktop-Anwendungen erreichen.

Durch die Aufteilung in einzelne Schichten ist es möglich, die Anwendungen schnell und effektiv an (marktliche oder technologische) Veränderungen anzupassen und weiterzuentwickeln. Dies sind die wichtigsten, aber nicht die einzigen Vorteile von Webanwendungen.

Die Auswahl des am besten geeigneten Technologie-Stacks hängt von der Komplexität der einzelnen Webanwendungsschichten und der Komplexität ihrer Abhängigkeiten untereinander ab.

Die Aufmerksamkeit für die Qualität des Codes, seine Prüfung und die Herstellung unter den höchsten Standards ermöglicht es Ihnen, ein wettbewerbsfähiges digitales Produkt zu erhalten.

Wie gefällt Ihnen das:
Journal / JPG / Jarek - avatar
Autor: Yaroslav Shatkevich
A programmer with 17 years of experience. Co-founder and CTO of The Story. Fascinated with planning programming works, author of numerous IT and DevOps specifications. Honored by Awwwards, awarded iF Design Award 2018. He works in Python, PHP, React and JavaScript technologies. He created over 90 web and mobile applications and dedicated systems.

Sind Sie an einer Zusammenarbeit mit uns interessiert? Werfen Sie einen Blick auf unser Portfolio