Um Websites und Anwendungen zu erstellen, arbeiten Webentwickler:innen mit Sprachen, Libraries und Frameworks. Mit diesen Sprachen solltest du vertraut sein, wenn du als Webentwickler:in tätig werden willst.
Schauen wir uns diese Sprachen im Detail an, ebenso wie einige andere Werkzeuge, die Webentwickler:innen bei ihrer täglichen Arbeit verwenden.
Was sind Programmiersprachen?
In der Welt der Webentwicklung sind Sprachen die Bausteine, die Programmierer:innen verwenden, um Websites, Anwendungen und Softwares zu entwickeln. Es gibt verschiedene Arten von Sprachen: Programmiersprachen, Auszeichnungssprachen, Sytlesheet-Sprachen und Datenbanksprachen.
Verschiedene Programmiersprachen
Eine Programmiersprache ist im Wesentlichen ein Satz von Anweisungen und Befehlen, die den Computer anweisen, einen bestimmten Output zu erzeugen. Programmierer:innen verwenden sogenannte „High-Level“ Programmiersprachen, um einen Quellcode zu verfassen. Hochsprachen verwenden logische Wörter und Symbole, sodass sie für den Menschen leicht zu lesen und zu verstehen sind. Hochsprachen können entweder als kompilierte oder interpretierte Sprachen klassifiziert werden.
C++ und Java sind beispielsweise kompilierte Hochsprachen, sie werden zunächst in einem textbasierten Format gespeichert, welches für menschliche Programmierer:innen, nicht aber für Computer, verständlich ist. Damit der Computer den Quellcode ausführen kann, muss er in eine Niedrigsprache (das heißt Maschinencode) konvertiert werden. Kompilierte Sprachen werden in der Regel zur Erstellung von Software-Anwendungen verwendet.
Interpretierte Sprachen wie Perl und PHP müssen nicht kompiliert werden, stattdessen kann der in dieser Sprachen geschriebene Quellcode durch einen Interpreten (ein Programm, das den Code liest und anschließend ausführt) geleitet werden. Interpretierte Sprachen werden im Allgemeinen für die Ausführung von Skripten verwendet, zum Beispiel für die Generierung von Inhalten für dynamische Websites.
"Low-Level-Sprachen" sind solche, die direkt von der Hardware erkannt und ausgeführt werden können, sie müssen nicht interpretiert oder übersetzt werden. Maschinensprache und Assembler sind gängige Beispiele für Niedrigsprachen.
Zu den beliebtesten Programmiersprachen generell gehören Java, C, C++, Python, C#, JavaScript, PHP, Ruby und Perl.
Markup-Sprachen
Markup-Sprachen werden verwendet, um die Formatierung einer Textdatei festzulegen. Mit anderen Worten: Eine Markup-Sprache teilt der Software, die den Text anzeigt, mit, wie der Text formatiert werden soll. Markup-Sprachen sind für das menschliche Auge vollständig lesbar, sie enthalten Standwörter, aber die Markup-Tags sind in der endgültigen Ausgabe nicht sichtbar.
Die beiden beliebtesten Markup-Sprachen sind HTML und XML. HTML steht für "Hyper Text Markup Language" und wird für die Erstellung von Websites verwendet. Wenn sie zu einem reinen Textdokument hinzugefügt werden, beschreiben HTML-Tags, wie dieses Dokument von einem Webbrowser angezeigt werden soll. Um zu verstehen, wie HTML funktioniert, nehmen wir das Beispiel der fett gedruckten Tags: Die HTML-Version würde wie folgt geschrieben werden:
<b>Kaufen Sie unsere Zitronen!<b>
Wenn der Browser dies liest, weiß er, dass dieser Satz fett dargestellt werden muss.
Was die Benutzer:innen am Ende sehen ist: Kaufen Sie unsere Zitronen!
XML steht für "Extensilbe Markup Language". Es handelt sich dabei um eine Auszeichungssprache, welche HMTL sehr ähnlich ist. Während HTML jedoch nur zur Darstellung von Daten mit Schwerpunkt auf deren Absehen entwickelt wurde, dient XML ausschließlich der Speicherung und dem Transport von Daten. Im Gegensatz zu HTML sind XML-Tags nicht vordefiniert, sie werden vielmehr von den Autor:innen des Dokuments erstellt. Der Sinn von XML besteht darin, die gemeinsame Nutzung und den Transport von Daten, den Plattformwechsel und die Datenverfügbarkeit zu vereinfachen. XML ermöglicht ein software- und hardwareunabhängiges Mittel zur Speicherung, zum Transport und zur gemeinsamen Nutzung von Daten.
Style-Sheet-Sprachen
Ein Stylesheet, ist im Grunde genommen eine Formatvorlage und gibt das Layout ohne die Inhalte vor. Style-Sheet-Sprachen werden im wahrsten Sinne des Wortes verwendet, um Dokumente zu formatieren und zu bearbeiten, die in Markup-Sprachen geschrieben sind.
Nehmen wir ein Dokument, das in HTML geschrieben und im CSS ("Cascading Style Sheets", einer Style-Sheet-Sprache) formatiert ist. Das HTML ist für den Inhalt und die Struktur der Website verantwortlich, während CSS bestimmt, wie dieser Inhalt dargestellt werden soll. CSS kann verwendet werden, um Farben hinzuzufügen, Schriftarten zu ändern, Hintergründe und Rahmen einzufügen und um Formulare zu gestalten. CSS wird auch verwendet, um Websites für ein reaktionsfähiges Design zu optimieren und sicherzustellen, dass sie ihr Layout an das Gerät anpassen, auf dem die Benutzer:innen auf diese zugreifen.
Datenbanken-Sprachen
Sprachen werden nicht nur für die Erstellung von Websites, Software und Anwendungen verwendet, sondern auch für die Erstellung und Verwaltung von Datenbanken.
Datenbanken werden verwendet, um große Datenmengen zu speichern. Die Spotify-App beispielsweise, verwendet Datenbanken, um Musikdateien, sowie Daten über die Hörpräferenzen der Benutzer:innen zu speichern. Ebenso verwenden Social-Media-Anwendungen, wie Instagram, Datenbanken zur Speicherung von Benutzerprofilinformationen. Jedes Mal, wenn Benutzer:innen ihr Profil in irgendeiner Weise aktualisieren, wird auch die zugehörige Datenbank der Anwendung aktualisiert.
Datenbanken sind nicht dafür ausgelegt, dieselben Sprachen zu verstehen, in denen Anwendungen programmiert sind. Daher ist es wichtig, dass sie eine Sprache verstehen: Wie SQL, die Standardsprache für den Zugriff auf die Datenbank und die Bearbeitung von relevanten Datenbanken. SQL steht für "Structured Query Language" (strukturierte Abfragesprache). Sie verfügt über ein eigenes Markup und ermöglicht den Programmierenden im Grunde genommen mit den in einem Datenbanksystem gespeichert Daten zu arbeiten und sie abzurufen.
Was sind Libraries und Frameworks?
Webentwickler:innen arbeiten mit Bibliotheken und Frameworks. Trotz großer Verwirrung sind sie nicht das Gleiche, obwohl sie beide dazu dienen, den Entwickler:innen die Arbeit zu erleichtern.
Libraries und Frameworks sind im Wesentlichen vorgefertigte Codes, aber Libraries sind kleiner und werden eher für spezifischere Anwendungsfälle eingesetzt. Eine Library enthält eine Sammlung nützlicher Daten, die zu späteren Wiederverwendungen gruppiert werden. Der Zweck einer Library besteht darin, den Entwickler:innen zu ermöglichen, das gleiche Endziel zu erreichen, während sie weniger Codes schreiben müssen, um dorthin zu gelangen.
Nehmen wir nun zum Beispiel Fragmente von JavaScript (der Sprache) und jQuery (einer JavaScript-Library). Anstatt zehn Zeilen Code in JavaScript zu schreiben können die Entwickler:innen die komprimierte, vorformulierte Version aus der jQuery-Library verwenden. Das spart Zeit und Mühe.
Ein Framework enthält fertige Komponenten und Werkzeuge, die es den Entwickler:innen ermöglicht, schneller Codes zu schreiben. Viele Frameworks enthalten außerdem auch Libraries. Es gibt den Entwickler:innen eine Struktur an die Hand, mit der sie arbeiten können und das Framework, wird ihnen die Art und Weise, wie sie eine Website oder Anwendung erstellen, weitestgehend diktieren. Einige beliebte Frameworks sind Bootstrap, Mails und Angular.
Am Einfachsten sind Libraries und Frameworks zu verstehen, wenn du dir vorstellst, dass wie ein Haus gebaut wird: Das Framework liefert das Fundament und die Struktur, sowie Anweisungen oder Richtlinien für die Ausführung bestimmter Aufgaben. Angenommen, du möchtest in deinem neuen Haus einen Ofen installieren: Du kannst die einzelnen Komponenten kaufen und den Ofen von Grund auf errichten, oder du kannst dir einen fertigen Ofen aus dem Laden aussuchen. Genauso wie beim Bau einer Website kannst du den Code neu schreiben, oder du verwendest einen bereit geschriebenen Code aus einer Library und fügst ihn einfach ein.
Fazit
Um in der Webentwicklung Fuß zu fassen, solltest du viel Geduld und Fleiß mitbringen. Wichtig ist es erst einmal, die drei Programmiersprachen zu erlernen und zu beherrschen, egal ob du in der Frontend- oder Backend-Entwicklung arbeiten willst. Die gängigsten Sprachen sind CSS, HTML und JavaScript.