Kann eine statische Webseite dynamisch sein?
Statische Webseiten haben enorme Vorteile in Bezug auf Sicherheit, Performance und Nachhaltigkeit, allerdings haben diese auch erhebliche Einschränkungen in Bezug auf den Funktionsumfang.
Deshalb sollen im folgenden Beispiele gezeigt werden, welche dynamischen Funktionen in eine statische Webseite integriert werden können und welche Anbieter dafür in Frage kommen. Von Kontaktformularen bis hin zu einem Online Shoppingerlebnis auf der eigenen statischen Webseite sind noch zwei Weitere Beispiele vertreten.
Ein Kontaktformular (mit automatischer Versendung via Email)?
Technisch betrachtet Nein, da hierfür technisch höhere Anforderungen von Nöten sind.
Allerdings gibt es Integrationen, welche eine abgesendetes Formular entgegennehmen und verarbeiten können. Zudem werden die abgesendeten Informationen in einer Datenbank gespeichert oder direkt als Email weitergeleitet.
Anbieter:
Dabei können Formulare beliebig mit HTML gestaltet werden. Lediglich an einer Stelle wird auf den Drittanbieter verwiesen, der das abgesendete Formular technisch entgegen nimmt und verarbeitet.
Der HTML-Code kann in etwa wie folgt aussehen:
<form action="URL_TO_PROVIDER">
<input type="email" name="email" />
<textarea name="message" rows="4" cols="50">Deine Nachricht</textarea>
<button type="submit">Absenden</button>
</form>
Wenn man Formulare bevorzugt, welche etwas schicker und moderner daherkommen, allerdings nicht wie oben beschrieben sich integrieren lassen, sollte einen Blick auf Typeform werfen.
Kundenbereich mit An- und Abmeldung?
Selbe Antwort wie oben...
Um Besucher zu Authentifizieren lässt sich dies zwar mit JavaScript alleine bewältigen, findet allerdings in der Praxis nicht viel Anwendung, da die Sitzungen nicht sicher genug validiert werden können und somit auf Server-seitige Verarbeitung angewiesen sind (z.B. mit PHP).
Je nach Anwendungsfall können auch hier diverse Integrationen Abhilfe schaffen, allerdings in den meisten Fällen ist der gewünschte Effekt so dynamisch, dass dies allein mit clientseitigen JavaScript nicht zu bewältigen ist.
Anbieter:
Bei Netlify und Ghost handelt es sich allerdings um vollwertige CMS-Systeme, während Auth0, Billflow und Userbase Integrationen oder APIs sind, welche zusätzlich in einer beliebigen Programmiersprache implementiert werden müssen.
Kommentare für einen Blog?
Gerade bei diesem Anwendungsfall spricht man gerne von Benutzer-geniertem Inhalt (UGC). Und den Nutzern Schreibrechte auf die statischen Dateien, beziehungsweise HTML zu geben ist wohl nicht ganz die passende Lösung. Allerdings gibt es auch hierfür Lösungen in Form von Erweiterungen, welche sich mittels JavaScript einbinden lassen können.
Anbieter:
Bei Discourse handelt es sich eher um ein Forum, auf welches verlinkt werden kann. Natürlich könnte man hier auch andere Plattformen wie LinkedIn, Facebook und so weiter heranziehen. Bei Disqs bettet man lediglich einen kleinen JavaScript Code in das HTML ein und es wird automatisch ein Kommentarbereich eingefügt, welcher auf einer statischen Seite eingesetzt werden kann.
Einen Webshop anbieten?
Das ist ein äußerst besonderer Anwendungsfall, da Produktseiten zu 100% statisch gestaltet werden können, allerdings der Bestellprozess kundenbezogen und somit dynamisch ist, kann der Checkout-Prozess nicht statisch realisiert werden. Hinzukommt, das bei einem Bezahlprozess höchste Sicherheitsvorkehrungen getroffen werden müssen, um bestimmte Anforderungen zu erfüllen, sodass Server für diese personenbezogene und geschäftskritische Verarbeitung von Informationen eingesetzt werden müssen.
Dennoch gibt es auch hier Lösungen, welche sich in die statische Webseite integrieren lassen.
Anbieter:
Man beachte jedoch, dass Stripe & PayPal Bezahldienstleister sind. Das bedeutet, dass Produkte auf einer statischen Webseite präsentiert werden können und bei einem Kauf werden Kunden auf eine fremdgehostete Webseite weitergeleitet, da hierfür serverseitige Verarbeitungen notwendig sind. Zudem besteht keine Möglichkeit einen "Warenkorb" bereit zu stellen. Und an dieser Stelle kommt Snipcart ins Spiel, da hier via JavaScript die Seite dynamisch um ein Warenkorb-Feature erweitert wird, ohne den Besucher auf eine andere Webseite weiterzuleiten.
Technisch wird dies mittels
iframes
(Inlineframes) gelöst. Gut für die User-Experience, allerdings sollte man dies bei Sicherheitsvorkehrungen auf dem Radar haben.
Optional könnte man auf eigenständige Shops wie Shopify oder Gumraod verlinken, welchen dann ebenfalls einen Warenkorb bieten und dass ohne iframe
.
Es gibt also eine große Auswahl an Möglichkeiten, um eine statische Webseite um dynamische Funktionen wie Warenkorb oder Kommentare zu erweitern. Allerdings sollte man sich darüber im klaren sein, dass diese Integrationen von Drittanbietern stammen, welche IT-Ressourcen zur Verfügung stellen. In sofern kommt es zu einer gewissen Abhängigkeit und muss demnach im Gesamtkontext orchestriert werden können. Des Weiteren sind diese Art von Integration in deren Adaption eingeschränkt, sodass diese nicht beliebig angepasst werden können. Ist eine feingranulare Anpassung, z.B. um einen bestimmten Prozess abzubilden, nicht möglich, so kommt man an einer Eigenentwicklung nicht herum.