Er sprach aber nicht von irgendwelchen überteuerten und schlecht designten Enterprise "Lösungen"...
Er hat das gar nicht spezifiziert sondern einfach nach dem Sinn von Webentwicklung gefragt. Nur weil er danach dann etwas auf kleine Webseiten eingegangen ist (Wordpress) ist das ja nicht der Bereich, wo es um Webentwicklung geht! Also ehe man so Antworten schreibt evtl. selbst erst einmal versuchen, den Thread zu verstehen!
@Devanther
Es ist richtig: Man kann sehr viele Dinge machen, ohne etwas entwickeln zu müssen. Da nimmt man dann fertige Produkte. Wenn ich eine einfache Webseite haben möchte, dann kann ich mir dazu fertige Produkte ansehen und dann brauche ich keinerlei Entwicklung zu machen. Dabei ist es egal, ob ich etwas nehme wie Wordpress, Hugo oder irgend welche Editoren, die teilweise sehr viel bieten.
Aber das geht nur, wenn meine Anforderungen von einem Produkt abgedeckt werden. WordPress hat also so das typische: Paar fixe Seiten und dann sowas wie ein Blog oder so. (Mit AddOns kann es etwas mehr sein, aber das ist es so grob). Die Anforderungen gehen aber oft noch weiter.
Wenn ich ein Online Shop haben will, dann kann ich da z.B. bestehende Software nehmen.
So Produkte gibt es aber nur, wenn es genug Leute gibt, die sowas wollen. Online Shops gibt es sehr viele. Blogs gibt es sehr viele. Kleine Webseiten hat ja inzwischen fast jeder, ....
Sobald ich aber individuelle Anforderungen habe, dann wird es schwer. Da finde ich dann kein Produkt, das ich so direkt verwenden kann.
Da kommt dann aber eine ganz interessante neue Gruppe von Lösungen ins Spiel (in den letzten Jahren aufgekommen): Low Code und No Code Entwicklungsumgebungen. Es gibt also Anwendungen, die es einem erlauben, ohne wirklich viel Entwicklung etwas aufzubauen. Das findet man teilweise auch vor allem in Unternehmen: Das was früher Excel Sheets waren für irgend welche Daten / Anträge / Workflows.
Da kann man dann also ganz einfach z.B. ein Formular erstellen. Nach dem Absenden geht es an den Vorgesetzten oder so zur Genehmigung. Wenn alle Genehmigungen vorliegen, dann geht es zur Umsetzung was dann evtl. automatisch von einem System ausgeführt werden kann.
Eine super Sache - ich kenne einen großen Konzern, der sowas einsetzt.
Aber ab einer bestimmten Größe und wenn die Daten zu wichtig sind, dann geht das nicht mehr. Die Lösung enthält fachliche Vorgaben, die sicher umgesetzt sein müssen. Dazu braucht man dann zur Qualitätssicherung automatische Tests und all sowas. Man will auch sicher sein, dass Upgrades funktionieren und so (Die Laufzeit geht in die Jahrzehnte!)
Und dann geht kein Weg an einer entsprechenden Entwicklung vorbei. Dann werden Daten entsprechend irgendwo gespeichert (Egal was für Datenbanken zum Einsatz kommen. Relational oder Dokumentenbasiert.) Die Daten sind dann oft extrem kritisch: Wenn da etwas passiert, dann steht der Betrieb. Nach x Tagen ist man schlicht pleite. Oder wie ein Kunde gerne sagt: "Wenn das etwas steht, dann sind wir in der Tagesschau".
Auf der Datenbasis wird dann das aufgebaut, was oft als Backend bezeichnet wird. Das ist dann etwas mit Schnittstellen nach außen, die spezifiziert sind. (Oft sogenannte Webservices. Hier gibt es aber teilweise fachliche Spezifikationen in diversen Bereichen, an die man sich hält oder an denen man sich zumindest orientiert.)
Die Systeme kommunizieren miteinander - oft ohne wirkliches zutun. Das Bestellsystem nimmt die Bestellung an und dann passiert etwas. Also Bei einem Anbieter bestellt man einen vServer. Das geht dann direkt an die Verwaltung des Server und es wird ein vServer mit den gegebenen Spezifikationen erstellt und initialisiert. Und wenn das abgeschlossen ist, dann kommt das alles ins Rechnungswesen und so ...
Aber natürlich braucht man auch Zugriff darauf: Es muss eine Bestellung aufgegeben werden können. Also muss da jemand die Website entwickeln. Du willst deinen vServer verwalten: Da muss es auch eine Website für geben. Es gibt also viele Dinge, die entwickelt werden müssen. Und oft hat man da halt diese Unterteilung in Aufgabengebiete:
- Datenhaltung (die ist teilweise im Backend mit drin. Aber das muss nicht sein. Das kann auch eigenständig sein mit entsprechenden SQL Clustern und so ...)
- Backend - Da finden sich die ganzen fachlichen Vorgaben
- Frontend
Diese Aufteilung findet sich immer und überall. Hintergrund ist einfach der Punkt "Separation of Concerns" und das findet sich dann auch in Desktop Anwendung (MVC, MVVM, ... Patterns)
Das einfach einmal als kleine Ausführung von meiner Seite.