Im Blog-Post über die Registrierung und Verwaltung von Domain-Namen habe ich unter anderem beschrieben, wie Domains mit Dateiverzeichnissen verknüpft werden. Wenn du eine Domain registriert hast und sie auf ein Verzeichnis zeigen lässt, dann ist dieses Verzeichnis zunächst ja vermutlich leer. Aber in diesem Verzeichnis wird später mal deine Website liegen.
Jede Website besteht aus mindestens einer, wahrscheinlich aber sehr vielen Dateien, die untereinander verlinkt sind. Die Text-Dateien (.htm, .js, .css, .txt) enthalten HTML, CSS, JavaScript und anderen Code. Sie können mit einem Text-Editor bearbeitet werden. Ausser den Text-Dateien gibt es auch andere Dateitypen, die binäre Informationen enthalten, wie beispielsweise Fotos und Grafiken (jpg, png, gif), Musik (mp3, ogg) oder Videos (.mp4). Die Binärdateien werden auf Websites mittels HTML oder JavaScript Anweisungen angesprochen und können im Browser dargestellt werden.
Um eine Website zu erstellen, musst du prinzipiell also „nur“ alle diese Dateien erstellen und in das Verzeichnis, auf das deine Domain zeigt, kopieren. Dieses Verzeichnis nennt man übrigens Document Root – die Wurzel aller Dokumente :). Nur dort darf ein öffentlicher Zugriff auf deine Dateien stattfinden. Bei vielen Hosting-Anbietern heisst das Verzeichnis daher auch public_html oder web. Alle Dateien, die ausserhalb dieses Verzeichnisses abgelegt werden, sind unerreichbar für deine Besucher.
Dieses einfache Prinzip gilt für ALLE Websites seit etwa 25 Jahren, natürlich auch für die Websites von google.com und facebook.com.
Aus dieser doch eher einfachen Vorgehensweise hat sich mittlerweile eine Multi-Milliarden-Industrie entwickelt. Online-Handel und Plattformen verändern seit Jahren die Welt und alle Firmen, Vereine, Stiftungen und Privatleute stehen irgendwann vor der Frage:
Wie erstellte ich mir denn nun eine Website in diesem leeren Verzeichnis?
Die Antwort auf diese Frage füllt heute tausende Bücher, Studiengänge, Online-Kurse, Hackathons und Konferenzen.
Historisch gesehen spezialisiert sich die Arbeitswelt in einem stetigen Prozess und so hat sich der Website-Bau vom vereinzelten „Webmaster“ zum Handwerk (Spezialisierung) dann weiter zum Manufakturwesen (Agentur) und schliesslich zu einer Industrie (vordefinierte Systeme) entwickelt. Auch diese Industrie befindet sich gerade im Umbruch durch den Trend zu globalen Services (Cloud) und proprietären Plattformen und App-Stores.
Interessant an diesem Prozess ist die bis dahin nie dagewesene Schnelligkeit der Spezialisierung. Sie führt dazu, dass heute immer noch fast alle Spielarten der Spezialisierung nebeneinander existieren. Es gibt für alles ein Publikum und eine Nische. Und diese Besonderheit bietet auch bis heute hochinteressante Möglichkeiten, wie man denn nun eine Website erstellt.
Webmaster
So ein Webmaster war vor 25 Jahren derjenige, der den Server aufsetzte, betreute, sich mit allen verwendeten Technologien irgendwie auskannte und einzelne Dateien, die er oft selbst erstellte, an die richtige Stelle stellte. Ohne den Webmaster lief wenig oder nichts und die Aufgabe war oft „Mach´ das es geht!“.
Aus diesem Webmaster ist sogar ein Berufsprofil mit entsprechender Ausbildung und Zertifizierung geworden (https://de.webmasters-europe.org) und es gibt einen Eintrag in der Wikipedia.
Insbesondere kleinere, wenig komplexe Websites werden auch heute oftmals noch von einem Webmaster alleine oder in Zusammenarbeit mit dem einen oder anderen Spezialisten erstellt.
https://de.wikipedia.org/wiki/Webmaster
In der hoch spezialisierten Welt der Website-Industrie wird der Webmaster oft belächelt und als jemand betrachtet, der gern mit Zeug bastelt, im Garten zupft und je nach Budget vielleicht Kaninchen züchtet, an Oldtimern schraubt oder Kleidung selbst näht.
Nun lässt es sich hervorragend in so einer Nische gärtnern und schrauben und vermutlich wird das Berufsprofil des Webmasters bald unter nachhaltiger, ökologischer Entwicklung laufen – Die Website vom Bio-Hof-Webmaster wird kommen 🙂
(in diesem Zusammenhang ein Blog Post von 10.02.2020 Wieviel CO2 erzeugt deine Website?).
Handwerk (Spezialisierung)
Wie oben schon angedeutet, gibt es unterschiedliche Dateiarten und Tools. Schnell haben sich Spezialisten für diese verschiednen Arten von Dateien herausgebildet. Es gibt Spezialisten für das Erstellen von HTML- Dateien (Struktur), für CSS-Dateien (Design), für JS-und PHP-Dateien (Programm-Code) und für JPG-Dateien (Fotografen). Es entstanden auch völlig neue Berufsbilder wie SEO-Manager. Die Abkürzung SEO steht für Search Engine Optimierung (Suchmaschinenoptierung). SEO ist wichtig für Websites, die mit bestimmten Suchmaschinen „gefunden“ werden sollen.
Wer eine Website brauchte, stellte ein entsprechendes Team zusammen und los ging’s. Das ist etwa so, als wenn du ein Haus bauen willst. Du brauchst Maurer, Tischler, Elektriker und viele andere mehr. Software-Handwerkskunst ist durchaus eine Bewegung in der Softwareentwicklung.
Ziel der Software-Craftmanship Bewegung ist es, die Softwareentwicklung als eigenständige Profession, als Handwerk (und nicht als Ingenieursdisziplin) wahrnehmbar zu machen und die Bewertung von Softwareprojekten nach Entwicklerverantwortlichkeiten und nicht nur unter rein finanziellen Gesichtspunkten vorzunehmen.
https://de.wikipedia.org/wiki/Software_Craftsmanship
Manufakturwesen (Internet-Agentur)
Der nächste Entwicklungsschritt war die Herausbildung von Agenturen, in denen die von Kunden gewünschte Website zu einem Projekt mit Anfang, Ende und einem Budget wurde.
Innerhalb einer Agentur gibt es für jede Aufgabe Spezialisten. Um die Spezialisten effektiv einsetzen zu können, gibt es eine Projektleitung. Um im Vergleich mit dem Hausbau zu bleiben, so würde jetzt ein Bau-Unternehmen dein Haus bauen. Dein Ansprechpartner wäre die Projektleitung des Bau-Unternehmens, die die Einsätze der Handwerker koordiniert und beauftragt.
Ein zusätzliches Geschäft sind Beratungsleistungen für den Kunden.
Internetagenturen entwickeln online-orientierte Marketing- und Geschäftskonzepte, die über die reine Website-Gestaltung deutlich hinausgehen können. Themen sind dann u. a. Content-Management-Systeme, Online-Shops, Newslettersysteme, Webcontrolling und Integration von externen Datenbeständen, wie Produkt-, Mitglieder- oder Kundendatenbanken.
https://de.wikipedia.org/wiki/Internetagentur
Industrie (vordefinierte Systeme)
Bei jedem Goldrausch entsteht eine Industrie, die die Schaufeln an die Goldgräber verkauft. Nicht anders war und ist es im Website-Business und allgemein in der Software-Entwicklung.
HTML-Editoren und Grafikprogramme
Die ersten erfolgreichen Schaufeln waren in den Neunziger Jahren die Programme Frontpage und Dreamweaver. Mit ihnen konnte eine Website per Drag and Drop in einer grafischen Benutzeroberfläche erstellt werden. Es waren frühe No-Code-Plattformen. Webmaster und Programmierer wurden nicht mehr gebraucht. Zur Erstellung von Bildern gab es bereits die Software Photoshop. Die Entwicklung erfolgte lokal und war daher schwierig skalierbar. Diese Programme waren die perfekten Werkzeuge für Handwerker. Sie kauften Software-Lizenzen und konnten mit diesen Werkzeugen viel effizienter Websites bauen.
Content-Management-Systeme
Da es mit Dreamweaver recht aufwendig war, grössere Websites zu erstellen und vor allem zu pflegen, entwickelte man Systeme wie Microsoft SharePoint, mit denen man ohne jegliche Kenntnisse der Materie nach kurzer Einarbeitungszeit Inhalte aktualisieren und einstellen konnte. Gerade für grosse Firmen war so etwas sehr interessant, konnten doch alle benötigten Informationen relativ einfach in ein solches System eingestellt werden.
LAMP-Stack
Neben „den üblichen Verdächtigen“ wie Microsoft, Adobe, IBM und Oracle, die ihre Software proprietär entwickelten und an Kunden für nicht unerhebliche Beträge lizenzierten, entwickelte sich im Web-Umfeld schnell freie Software auf Basis der GNU General Public License. Der LAMP Stack besteht aus dem Linux Betriebssystem, dem Apache Webserver, der MySQL Datenbank und PHP, Python oder Perl als Programmiersprache. Jede Person konnte diese Programme frei nutzen und so entwickelten sich schnell freie Software-Projekte, die auf dem LAMP Stack basierten. Die bekanntesten sind heute sicher WordPress, Drupal und Joomla.
Hinweis: Auch ein Novatrend Webhosting umfasst diesen LAMP-Stack und es gibt eine Möglichkeit per „Klick“ diese freien Projekte zu installieren (siehe auch hier im Blog Automatisierte Installation mit Softaculous vom 13.11.2017) .
Cloud Computing
Der freie LAMP-Stack und die Software-Projekte, die dort entstanden, waren so erfolgreich, dass die Industrie teilweise Probleme hatte, ihre proprietären Produkte zu verkaufen.
If you can’t beat them, join them
Also machten sich Firmen wie Amazon und Google daran, freie Software zu unterstützen und auf der Basis dieser Software ihre eigene Cloud-Infrastruktur zu entwickeln. Der Zugriff auf die Cloud-Software wird meist über einen Webbrowser realisiert.
Damit wurde auf der einen Seite eine erhebliche Vereinfachung erzielt, die es erlaubte auch sehr komplexe Prozesse „per Mausklick“ zu erledigen. Auf der anderen Seite war man als Kunde nun wieder abhängig von einem Industrieprodukt. Zur Freude dieser Industrie wurde nicht mehr nur einmalig lizensiert und berechnet wie bei Dreamweaver. Mit der „neuen“ Cloud-Technologie konnte wiederkehrend nach unterschiedlichen Parametern an die Kunden berechnet werden, so lange sie den Service benutzen.
Bei vielen Firmen wird das genau so lange sein, wie diese Firmen existieren (Stichwort Lock-in-Effekt).
Die Berechnung der Kosten kann dabei im laufenden Betrieb nach oben und unten, je nach Vertrag mit dem Kunden, angepasst werden. Ein Traum für alle Betriebswirtschaftler 🙂
Auf Kunden- und Regierungsdruck öffnen sich nun viele Cloud-Anbieter ein wenig.
Die Europäischen Union arbeitet mittlerweile an einer eigenen Cloud-Infrastruktur namens GAIA-X.
MEAN-Stack
Der MEAN-Stack (MongoDB, Express.js, Angular und Node.js) erlaubt es, dynamische Websites mit JavaScript zu erstellen. JavaScript läuft im Browser und auf dem Server. Der grösste Unterschied zum LAMP Stack ist das Fehlen eines Betriebssystem darin (L=Linux). Der MEAN Stack (https://meanjs.org) passt daher perfekt in ein Service-orientiertes Umfeld zum Cloud-Computing.
Und weil es so gut passt, gibt es auch gleich Initiativen wie den Jamstack (JavaScript, API, Markup), der es sich auf die Fahnen geschrieben hat, ohne Infrastruktur Lock-in zu funktionieren.
Hinweis: Auch ein Novatrend Webhosting umfasst, bis auf die MongoDB, diesen MEAN-Stack (siehe auch hier im Blog Installation von Ghost auf Novatrend Webhosting) .
Welcher Stack ist der bessere?
Darauf lässt sich keine Antwort geben, weil es auf deine Bedürfnisse und Möglichkeiten ankommt. Auch in 25 Jahren wird es noch HTML Websites, Content-Management-Systeme wie WordPress und Drupal und natürlich den LAMP Stack geben. Es wird aber „mehr“ JS-Programmierer und „weniger“ PHP-Programmierer geben. Ganz einfach deshalb, weil Javascript im Browser läuft und ein Browser Teil jedes Endgerätes ist. PHP dagegen benötigt einen separaten Webserver um zu funktionieren – das ist aufwendiger.
Auch in 25 Jahren wird eine Website letztlich aus HTML, CSS und JavaScript Befehlen bestehen und Daten werden in Datenbanken abgespeichert.
Es ist bereits heute möglich CMS wie WordPress und Drupal „headless“, also ohne das Frontend in einer Art kombiniertem LAMP und MEAN-Stack zu betreiben. WordPress und Drupal ersetzen dabei den Mongo-DB-Teil im MEAN-Stack. Das ist in etwas vergleichbar mit einem Hybrid-Auto, dass einen Verbrennungsmotor und einen Elektromotor hat. Welcher Motor für welchen Stack steht, kann ich dabei nicht sagen :).
Für existierende Websites ist das sicher eine gute Idee. Aber auch bei neuen Websites muss nicht jedes mal das Frontend neu erfunden werden. Die Projekte Contenta für Drupal (contentacms.org) und Frontity für WordPress (frontity.org) zeigen bereits wie so ein hybrider Ansatz funktioniert.
Fazit
Wie erstellt man sich denn nun eine Website in diesem leeren Verzeichnis?
Während du da vor deinem leeren Verzeichnis sitzt und noch überlegst, solltest du dir der gerade beschriebenen Zusammenhänge bewusst sein. Letztlich ist das „richtig“, was du verstehst und mit du an dein Ziel kommst.
Und um noch ein letztes Mal auf den Hausbau zurückzukommen.
Beim Bau deiner Website hast du, wie bei einem Haus, einer Wohnung oder einem Büro, die Wahl zwischen
- Einem alten, restaurierten und weiterentwickeltem Objekt in einem gewachsenen Umfeld
- Einem neuen, individuellem, selbst oder mit Handwerkern gebautem Objekt
- Einem neuen, individuellem, von einem Bauunternehmen gebauten Objekt
- Einem neuen, standardisierten Fertighaus oder einer Fertig-Firmenhalle mit optionalen Features
- Einer Eigentumswohnung in einem kleinem Haus
- Einer Eigentumswohnung in einem grossem Haus
- Einer Mietwohnung in einem kleinem Haus
- Einer Mietwohnung in einem grossem Haus
- Einer Wohngemeinschaft
- Einem Leben als digitale Nomad:in in verschiedenen Airbnb´s
Der erste und zweite Punkt trifft vermutlich auf den beschriebenen Webmaster und die Handwerker zu, Punkt drei bis sieben geht in Richtung Agenturwesen. Bei Punkt acht wird es industriell und bei Punkt neun und zehn befindest du dich schon wieder im kreativen und experimentellen Service-Bereich :).
Es gibt wirklich nicht „das Beste“! Es kommt auf deine Situation an. Ein „schnelles“ Blog kannst du bei wordpress.com in den USA in ein paar Minuten eröffnen (zumindest, wenn du nicht im Iran wohnst). Bei einer Website für deine Firma oder deine Organisation möchtest du vermutlich lieber die volle Kontrolle über Daten und Software haben.
tl;dr: Die Erstellung von Websites ist ein hoch interessantes Thema und bleibt spannend 🙂
Schreibe einen Kommentar