Die Webentwicklung, auch bekannt als Web-Programmierung oder Web Engineering, beschäftigt sich mit dem Entwurf und der Implementierung von Software für das World Wide Web. Dabei umfasst sie Websites, Webanwendungen (Web-Apps) sowie andere Dienste wie Webservices. Im Gegensatz zur klassischen Softwareentwicklung greift die Webentwicklung auf Webbrowser als grafische Benutzerschnittstelle zurück, die Hypermedia-Dokumente darstellen. Hypermedia bezeichnet Medien wie Texte, Grafiken, Audio oder Video, die über Hyperlinks miteinander verbunden sind. Ein weiteres Kennzeichen der Webentwicklung ist die zugrunde liegende Netzwerkarchitektur. Daten werden zwischen dem Browser und einem oder mehreren Servern mittels des HTTP-Protokolls übertragen, verbunden mit einer eindeutigen Adresse, der URL.
HTML, CSS und JavaScript
Die Webentwicklung ist ein schnelllebiger und vielfältiger Bereich der Informatik, der stetig an Bedeutung gewinnt. Umfangreiche und komplexe Angebote im Web werden durch das Zusammenspiel einer Vielzahl unterschiedlicher Techniken ermöglicht. Die Auszeichnungssprache HTML (Hypertext Markup Language) bildet die Struktur von Webseiten und legt fest, welche Inhalte an welcher Stelle im Browser dargestellt werden. Die Gestaltung und das Layout einer Webseite werden durch die Gestaltungssprache CSS (Cascading Style Sheets) verantwortet, deren Funktionsumfang sich kontinuierlich erweitert. Die Interaktion von Webseiten oder komplexen Webanwendungen wird mittels JavaScript umgesetzt, der Skriptsprache des Web. Obwohl JavaScript in nur zehn Tagen entwickelt wurde und anfangs zahlreiche Schwächen aufwies, hat es sich mittlerweile zu einer festen Größe auch außerhalb von Browsern entwickelt.
Angrenzende Disziplinen
Webentwicklerinnen bewegen sich zwischen unterschiedlichen Disziplinen und wechseln häufig ihre Perspektiven. Technisch betrachtet geht es darum, die zugrunde liegende Netzwerkarchitektur zu nutzen, Datenbanken anzubinden und grafische Benutzeroberflächen zu implementieren. Systematische Vorgehensweisen zur Erstellung komplexer Softwarearchitekturen gehören zu den Kerngebieten der Informatik und spielen auch in der Webentwicklung eine große Rolle. Neben diesen technischen Aspekten müssen Frontend-Entwicklerinnen auch über Kenntnisse und Sensibilität in nicht-technischen Bereichen wie Suchmaschinenmarketing oder Webdesign verfügen.
Clientseitige Techniken
Die Webentwicklung lässt sich in client- und serverseitige Techniken unterteilen. Clientseitige Programmiersprachen, Bibliotheken und Frameworks werden im Browser des Webseitenbesuchers ausgeführt, während serverseitige Techniken entfernt vom Rechner des Besuchers auf einem Server laufen. HTML, CSS und JavaScript werden im Browser ausgeführt und gehören somit zur clientseitigen Web-Programmierung. Aufgrund der zunehmenden Komplexität moderner Webseiten verlassen sich Entwickler*innen in der Regel auf bereits entwickelte und getestete Funktionalitäten, die als Framework bezeichnet werden. Die derzeit am häufigsten verwendeten clientseitigen Frameworks in der Webentwicklung sind Angular, Vue und React, wobei sich letzteres lediglich als Bibliothek mit begrenztem Funktionsumfang versteht.
Serverseitige Techniken
Auf der Serverseite gibt es eine Vielzahl von Programmiersprachen und Frameworks im Einsatz. PHP führt die Liste der meistgenutzten serverseitigen Programmiersprachen mit großem Abstand an. Dies liegt daran, dass weit verbreitete Content-Management-Systeme (CMS) auf PHP basieren. CMS sind Software, die die Erstellung und Veröffentlichung von Webseiten auch ohne technisches Know-How ermöglichen, basierend auf Rechte- und Rollensystemen. Neben PHP können mit nahezu allen wichtigen Programmiersprachen serverseitig Webseiten erzeugt und ausgeliefert werden, sei es mit Java, C# oder Python. In den letzten Jahren hat insbesondere die Möglichkeit, JavaScript nicht nur im Browser, sondern auch auf dem Server einzusetzen, an Bedeutung gewonnen. Man spricht dabei von Node.js. Jede dieser Programmiersprachen stellt eigene dezidierte Webframeworks zur Verfügung, die für die Erstellung von Webanwendungen genutzt werden können.