‫Erzähler: Nachdem Sie
‫nun einen guten Überblick darüber
‫haben, wie das Web
‫hinter den Kulissen funktioniert, lernen wir, was
‫Back-End-Webentwicklung eigentlich ist und wie sie im
‫Vergleich zur Front-End-Entwicklung abschneidet, denn dies ist
‫ein sehr wichtiger Unterschied im Web Entwicklung Welt.
‫Um also zwischen Frontend und Backend
‫einer Website
‫und der Webentwicklung im Allgemeinen
‫zu unterscheiden, betrachten wir
‫immer noch dieselbe Client-Server-Architektur, über
‫die wir zuvor gesprochen haben.
‫Im Allgemeinen geht es bei
‫der Frontend-Entwicklung also um alles, was im Webbrowser passiert.
‫Es geht also darum, die endgültige
‫Website zu entwerfen und zu erstellen,
‫die für den Benutzer sichtbar ist, und
‫daher den Namen Frontend.
‫Der
‫Frontend-Entwickler verwendet die Basistechnologien HTML, CSS
‫und JavaScript, die zusammen den Frontend-Technologie-Stack bilden.
‫Jetzt fügen viele moderne Front-End-Entwickler
‫dem Front-End-Stack mehr Dinge
‫hinzu, wie React oder Angular oder Redux oder GraphQL oder
‫was auch immer heutzutage cool ist.
‫Diese Technologien erleichtern also die Front-End-Entwicklung und all
‫diese Technologien zusammen,
‫die ein Entwickler oder ein
‫Team am Front-End verwenden möchte,
‫ist ihr Front-End-Stack in Ordnung?
‫Und das meiste davon kennst du
‫wahrscheinlich sowieso schon, aber ich möchte dir
‫trotzdem einen kurzen Überblick geben, wie sich hier
‫alles ins Gesamtbild einfügt.
‫Alles klar, und jetzt geht es weiter zum Backend.
‫In diesem Teil der Webentwicklung geht
‫es um alles, was auf dem Webserver
‫passiert, also um alles, was
‫für den Endbenutzer
‫unsichtbar ist und daher der Name Backend, okay?
‫Und da wir jetzt über die
‫Server-Site sprechen, wollen wir eigentlich definieren, was ein Server wirklich ist.
‫Nun, ein einfacher Server ist eigentlich nur
‫ein Computer, der
‫mit dem Internet verbunden ist, der erstens
‫die Dateien einer Website wie HTML,
‫CSS und Bilder speichert und
‫zweitens einen HTTP-Server betreibt, der URLs
‫und Anfragen verstehen und auch liefern kann Antworten.
‫Diese HTTP-Serversoftware kommuniziert
‫also tatsächlich über Anfragen und
‫Antworten mit dem Browser.
‫Daher ist es wie die
‫Brücke zwischen dem Front-End
‫und dem Back-End einer Website oder Webanwendung.
‫Nun wird ein einfacher Webserver
‫wie der gerade beschriebene als statischer Server
‫bezeichnet, weil er eigentlich
‫nur statische Dateien über HTTP an den Client liefern kann.
‫Wenn Sie nur eine einfache Website hosten müssen, ist
‫dies wirklich alles, was Sie brauchen.
‫Aber wenn Sie es auf die nächste
‫Stufe bringen und dynamische Webanwendungen erstellen
‫möchten, die mit Datenbanken und all dem guten
‫Zeug kommunizieren, verwenden wir einen Server, der auch dynamische ODER dynamische
‫Anwendungen ausführen kann, genau wie
‫der Code, den wir in der
‫geschrieben und ausgeführt haben Einführungsteil des Kurses.
‫Dies wird dann als dynamischer Server bezeichnet,
‫auf dem die
‫ODER-App ausgeführt wird, ein HTTP-Server
‫und natürlich alle Dateien, die miteinander kommunizieren.
‫Und in manchen Fällen ist das
‫alles, was wir für
‫OP-Anwendungen brauchen, aber normalerweise verwenden wir beim Erstellen dynamischer
‫Websites oder Apps auch eine Datenbank, auf
‫die wir direkt aus unseren Anwendungen zugreifen können.
‫Übrigens, wenn Ihnen der
‫Begriff statische und dynamische Websites oder Anwendungen
‫etwas verwirrend ist, kein Problem.
‫Darüber sprechen wir gleich im nächsten Video.
‫Wie auch immer, wir können
‫die Datenbank verwenden, um Dinge wie Benutzer- oder Anwendungsdaten
‫oder Text zum Ausfüllen einer Website-Vorlage zu speichern.
‫In jeder ernsthaften Anwendung wird es immer eine
‫Datenbank geben und unser
‫Back-End-Code kommuniziert mit dieser Datenbank.
‫Also, einige übliche Dinge, die auf
‫der Back-End- oder Server-Seite
‫behandelt werden, wie wir es auch nennen können,
‫um Benutzerprofile zu erstellen, Logins durchzuführen, E-Mails zu senden,
‫Zahlungen abzuwickeln, Anfragedaten aus einer Datenbank abzurufen und an
‫einen Client zu senden , Daten in der
‫Datenbank manipulieren, Website-Vorlagen ausfüllen und vieles mehr.
‫Und wir werden viele dieser aufregenden Dinge im
‫Laufe des Kurses tun, eigentlich alle.
‫Nun zu der Technologie, wie Sie sich vorstellen
‫können, wir werden NodeJS als dynamischen Webserver
‫und MongoDB als unsere Datenbank verwenden, also
‫Daten oder Back-End-Stack.
‫Aber es gibt so viele verschiedene Back-End-Technologien und
‫Stacks für das Back-End.
‫Dinge wie PHP mit MySQL-Datenbank oder
‫Python mit PostgreSQL-Datenbank oder manche Leute verwenden
‫Ruby on Rails vielleicht sogar
‫mit einer anderen Datenbank.
‫Aber da Sie NodeJS gut
‫lernen möchten, werden wir genau das verwenden.
‫Und die beliebteste Datenbank, die
‫mit Node verwendet wird, ist ohne Zweifel MongoDB.
‫Das ist also unsere Wahl für einen Back-End-Stack.
‫Vielleicht haben Sie den Begriff Full-Stack schon einmal
‫gehört, und das sind
‫einfach die Front-End- und die Back-End-Stacks zusammen.
‫Der Entwickler, der sowohl Front-End-
‫als auch Back-End-Entwicklung betreibt,
‫kann sich also als Full-Stack-Entwickler bezeichnen,
‫aber diese Entwickler werden immer
‫seltener, insbesondere weil
‫das Front-End heutzutage immer komplexer wird.
‫Abschließend möchte ich noch kurz erwähnen, dass wir,
‫wie Sie sehen können, Node für
‫die Back-End-Webentwicklung verwenden werden
‫und nicht so etwas wie Hardwareprogrammierung.
‫Sie können Node also technisch für Dinge wie
‫das Fliegen von Drohnen, das Programmieren von
‫Robotern oder die Entwicklung von Software für IFT-Geräte verwenden.
‫Aber das ist nicht Gegenstand dieses Kurses.
‫Wenn Sie IFT-Geräte mit Node programmieren möchten, wird dieser
‫Kurs trotzdem nützlich für Sie sein, er steht
‫nur nicht im Fokus der Projekte,
‫die wir bauen werden, okay?
‫Alles klar, und ich denke, das fasst den Unterschied zwischen der
‫Front-End-Seite und der Back-End-Seite der Webentwicklung zusammen,
‫sodass Sie in Zukunft eine gute Vorstellung
‫davon haben, in welchen Domänen
‫NodeDS tatsächlich in der realen Welt verwendet wird.