Web-Entwicklung ist nicht nur eine Sache. Es umfasst mehrere Skillsets, und es gibt verschiedene Arten von Karrieren innerhalb des Webentwicklungsraums. Drei häufig verwendete Begriffe sind "Frontend", "Backend" und "Full Stack". Hier sind die wichtigsten Unterschiede zwischen den drei Begriffen.
Front-End-Webentwicklung
Die Frontend-Entwicklung befasst sich, während sich ihre Komponenten ständig ändern, im Wesentlichen mit den nach außen gerichteten Teilen einer Website oder einer Webanwendung. Im Kern umfasst die Frontend-Entwicklung HTML, CSS und JavaScript.
- HTML : Die HyperText Markup Language (HTML) ist die wichtigste strukturelle Komponente aller Websites im Internet. Ohne sie können Webseiten nicht existieren.
- CSS : CSS fügt Stil zu HTML hinzu. Ich verwende gerne die Analogie, dass HTML wie ein Gesicht ist und CSS wie das Make-up ist.
- JavaScript : JavaScript oder JS wurde in den letzten Jahren weiterentwickelt. In Bezug auf die Front-End-Entwicklung ist JS wichtig, da es dabei hilft, Webseiten interaktiv zu gestalten.
Im Allgemeinen ist das Frontend mit Layout- und Designprinzipien verbunden. Front-End-Entwickler sind jedoch nicht unbedingt Designer.
Grundsätzlich konstruieren Frontend-Entwickler die äußere Erscheinung - die Webseiten, die Benutzer sehen. Dies bedeutet, dass der Front-End-Entwickler die Lesbarkeit und Benutzerfreundlichkeit der Site und / oder Anwendung berücksichtigen muss.
Darüber hinaus läuft das Frontend auf dem Client - also dem lokalen Computer des Benutzers - in den meisten Fällen auf dem Webbrowser. Und Informationen werden nicht auf der Client-Seite gespeichert.
Back-End-Webentwicklung
Back-End-Web-Entwicklung ist, was hinter den Kulissen passiert. Das Backend ermöglicht das Front-End-Erlebnis.
Stellen Sie sich das vordere Ende als Teil des Eisbergs über dem Wasser vor. Es ist, was der Benutzer sieht - die schlanke Seite. Das hintere Ende ist der Rest des Eises; Es ist für den Endbenutzer nicht sichtbar, aber es ist das grundlegendste Element einer Webanwendung. Das Backend läuft auf dem Server oder, wie es oft heißt, "serverseitig".
Im Gegensatz zur Front-End-Entwicklung (die hauptsächlich HTML, CSS und JavaScript verwendet) kann die Back-End-Webentwicklung auf eine Reihe von Sprachen und Frameworks zurückgreifen.
Einige populäre Sprachen, die am Backend verwendet werden, sind:
- Ruby (oft in Verbindung mit dem Rails-Framework verwendet - AKA Ruby on Rails)
- Python (wird oft mit dem Django-Framework am Backend verwendet)
- PHP (das beliebte WordPress CMS verwendet PHP auf seinem Backend - PHP hat ein paar beliebte Frameworks, eines davon Laravel)
- Node.js (immer beliebter - das ist eine Backend-Umgebung für Web-Apps, die mit JavaScript erstellt wurden)
Damit große Websites und Webanwendungen funktionieren, ist es jedoch mehr als eine Back-End-Sprache und ein Back-End-Framework. Alle Informationen auf einer Website oder Anwendung müssen irgendwo gespeichert werden.
Hier kommen Datenbanken ins Spiel. Backend-Entwickler gehen auch damit um.
( Hinweis : Sie können eine Website ohne eine Datenbank erstellen, indem Sie nur HTML und CSS verwenden. Dies wäre eine statische Website und wäre viel weniger flexibel. Allerdings eine Website, die auf Informationen basiert dynamisch generiert wird - Facebook, Yelp, any E-Commerce-Site - benötigt eine Datenbank.)
Beliebte Datenbanken umfassen:
- MySQL
- PostgreSQL
- MongoDB
- Und andere
In der Regel erfordern bestimmte Backend-Sprachen / Frameworks eine bestimmte Datenbank. Zum Beispiel benötigt das MEAN-Full-Stack-Framework MongoDB.
Neben der Kenntnis einer Backend-Sprache / Framework und dem Ausführen von Datenbanken müssen Backend-Entwickler auch die Serverarchitektur verstehen.
Wenn Sie einen Server richtig einrichten, kann eine Site schnell ausgeführt werden, nicht abstürzen und den Benutzern keine Fehler geben. Dies fällt unter die Domäne des Back-End-Entwicklers, da die meisten Fehler am Back-End und nicht am Front-End auftreten.
Voller Stapel
Ja, Sie haben es erraten: Full Stack ist die Kombination von Frontend und Backend.
Ein Full-Stack-Entwickler ist ein Tausendsassa. Sie sind für alle Entwicklungsstufen verantwortlich, von der Einrichtung des Servers bis zum designbezogenen CSS.
Heutzutage gibt es so viel in der Webentwicklung, dass es fast unmöglich ist, mit beiden Seiten umzugehen. Während viele Leute behaupten können, Full Stack zu sein oder tatsächlich sind, konzentrieren sie sich immer noch eher auf eine Seite: den Client oder den Server. (AKA das vordere Ende oder das hintere Ende.)
Bei kleineren Unternehmen / Start-ups wäre eine einzelne Person eher für alle Seiten des Webentwicklungsspektrums verantwortlich. In größeren Unternehmen arbeiten die Leute jedoch in Teams und haben spezialisierte Rollen - eine konzentriert sich ausschließlich auf die Serverarchitektur, eine andere (oder einige wenige) auf das Frontend usw.
Fazit
Web-Entwicklung hat viele Gesichter und es entwickelt sich jeden Tag mehr. Es gibt viel zu lernen, aber fühlen Sie sich nicht gezwungen, alles auf einmal zu lernen. Denken Sie daran, dass Sie in Arbeitsumgebungen normalerweise mit anderen im Team sind. Konzentrieren Sie sich darauf, Ihre Fähigkeiten in einem Aspekt der Webentwicklung gleichzeitig zu verbessern. Sei nicht überwältigt, und du wirst ein Profi sein, bevor du es weißt.