Wie man ein Full-Stack-Entwickler wird: Teil 2

Veröffentlicht: 2017-12-02

Dies ist der zweite in einer Reihe von Beiträgen zum Programmieren und zur Full-Stack-Entwicklung. Wenn Sie den ersten Teil zum Erlernen von CS-Grundlagen, Algorithmen, Designprinzipien und Front-End-Entwicklung noch nicht gelesen haben, können Sie dies hier tun.

Motivation

Sie wissen jetzt, wie Sie statische Websites mit HTML, CSS und Javascript erstellen. Obwohl das Internet ursprünglich darauf ausgelegt war, statische Webseiten zu teilen, sind die Möglichkeiten (und Erwartungen) einer modernen Web-App enorm gestiegen. Fast jede App erfordert, dass Sie Benutzer authentifizieren, ihnen antworten und reale Szenarien so genau wie möglich nachbilden.
Um das oben Genannte zu tun, müssen Sie Daten von einem Benutzer (oder einer API) abrufen, verarbeiten und eine Ausgabe erzeugen. Sie müssen diese Daten auch speichern und über einen Mechanismus verfügen, um den Benutzer zu identifizieren, wenn er das nächste Mal Ihre App verwendet. Um diese Funktionen auszuführen, reicht unser derzeitiger Stack nicht aus.
Interview mit Ankit Tomar, Mitbegründer und CTO, Bizongo

Server werden benötigt, um Benutzerdaten zu verarbeiten, Dateien zu speichern und sie in HTML/CSS/JS zu konvertieren. Diese Server liefern es dann an den Browser in einer Form, die dem Benutzer präsentiert werden kann. Eine Datenbank ist erforderlich, um Daten zu speichern, die für Ihre App wichtig sind. Um den Server zu programmieren, benötigen wir eine serverseitige Skriptsprache und für die Datenbank benötigen wir eine Datenbank (duh) und eine Sprache, um damit zu kommunizieren. Genau das werden wir in den nächsten Schritten tun. Für die ersten sieben siehe den früheren Beitrag!

Inhaltsverzeichnis

Schritt 8: Serverseitige Skriptsprachen

Wie bereits erwähnt, müssen Sie zum Programmieren und Kommunizieren mit Ihrem Server eine Sprache beherrschen, die er versteht. Im Gegensatz zum Frontend, bei dem Javascript die einzige Wahl ist, stehen Ihnen im Backend eine Vielzahl von Optionen zur Verfügung, die Sie programmieren können. Die beliebtesten sind Java, PHP, Python, JavaScript und Ruby.
PHP hat seine Schwächen, aber es hat die sanfteste Lernkurve von allen Sprachen und Frameworks, die ich bisher verwendet habe. Und bei PHP geht es darum, schnelle (und schmutzige) Lösungen zu programmieren. So können Sie in extrem kurzer Zeit eine Web-App erstellen, auf die Sie sehr stolz sein können.
Wie man ein Full-Stack-Websoftwareentwickler wird UpGrad Blog Frontend Backend
Java ist eine Allzweck-Programmiersprache und wahrscheinlich die beliebteste Sprache aller Zeiten. Es ist äußerst beliebt für die Erstellung mobiler Apps (auf der Android-Plattform) und wird in den meisten großen Technologieunternehmen ausgiebig eingesetzt. Head First Java ist ein ausgezeichneter Ort, um diese allgegenwärtige Sprache zu lernen.
Um Python zu lernen, empfehle ich dringend Learn Python the Hard Way von Zed Shaw und Albert Sweigarts Automate the Boring Stuff with Python. Wenn Sie sich für PHP entschieden haben, können Sie die Grundlagen der Sprache auf Codecademy erlernen.
Sie kennen bereits genug JavaScript-Syntax, um sich mit den Node- und Backend-JS-Frameworks (wie Express) die Hände schmutzig zu machen. Ich werde Ruby später in Verbindung mit Rails behandeln, da es selten als eigenständige Sprache verwendet wird.

Schritt 9: Lernen Sie SQL

Für den nächsten Schritt sollten Sie sich wahrscheinlich ein wenig SQL (Structured Query Language) aneignen. Es ist die Sprache, mit der Datenbanken kommunizieren. Und obwohl Sie es möglicherweise nicht direkt verwenden, wenn Sie auf die Verwendung von Frameworks umsteigen, ist es dennoch hilfreich zu wissen, wie Sie direkt mit Ihrer Datenbank kommunizieren können. Die gute Nachricht ist, dass SQL unglaublich einfach zu erlernen ist. Sie sollten in der Lage sein, sich innerhalb weniger Stunden einen guten Überblick zu verschaffen. Head First SQL ist eine großartige Ressource für diesen Zweck.
Wie man ein Full-Stack-Entwickler wird: Teil 1

Schritt 10: Lernen Sie ein „herkömmliches“ Full-Stack-Webframework kennen

Jetzt ist ein guter Zeitpunkt, um mit Web-Frameworks zu experimentieren, die den größten Teil der Arbeit auf niedrigerer Ebene für Sie erledigen können.
Es gibt keinen Mangel an großartigen Frameworks, die für jeden erdenklichen Zweck geeignet sind. Rails (geschrieben in Ruby), Spring (geschrieben in Java) und Django (geschrieben in Python) gehören heute zu den am häufigsten verwendeten Frameworks. Sie können sich das kostenlos erhältliche The Rails Tutorial von Michael Hartl ansehen .
In Bezug auf Django ist das Tutorial auf der offiziellen Website ein guter Ausgangspunkt. Sobald Sie das Gefühl haben, mit den Grundlagen des Frameworks vertraut zu sein, lesen Sie Two Scoops of Django . Es ist eines der besten Technologiebücher aller Zeiten.
Wenn Sie sich für den Frühling entschieden haben, empfehle ich Ihnen dringend, sich für das Softwareentwicklungsprogramm von UpGrad & IIIT-B anzumelden. Das Programm gibt Ihnen einen sehr ganzheitlichen Überblick über das Framework und hilft Ihnen beim Aufbau eines robusten und skalierbaren Backends.

Schritt 11: Javascript Full-Stack Frameworks und der MEAN Stack

Vor nicht allzu langer Zeit basierte die Backend-Entwicklung auf dem Konzept des Request-Response-Zyklus. Beispielsweise hat der Browser eine Anfrage gesendet und der Server hat geantwortet, indem er eine Webseite in HTML ausspuckt. Seit Anfang 2010 werden jedoch immer mehr Anwendungen echtzeitfähig.
Die Struktur einer gesamten Webseite ändert sich ohne Aktualisierung und verhält sich dynamisch basierend auf Benutzereingaben und -interaktionen (denken Sie an Chat, Likes, Kommentare, Live-Videos und Reaktionen usw.).
Wie man ein Full-Stack-Websoftwareentwickler wird Backend UpGrad Blog
In einem solchen Szenario reicht ein einfacher Request-Response-Zyklus einfach nicht aus. Daher ist in letzter Zeit das Interesse an asynchroner Programmierung und der Normierung von AJAX-Anforderungen stark gestiegen. Javascript Frameworks zeichnen sich in der Regel dadurch aus. Daher ist es sinnvoll, sich mit einem der wichtigsten auf dem Markt erhältlichen JS-Frameworks vertraut zu machen. Die beiden beliebtesten sind MEAN Stack und MeteorJS.
Interview mit Farooq Adam, Mitbegründer von Fynd

Das Erlernen von MEAN ist aufgrund seiner asynchronen Natur etwas komplizierter und der Callback-Hell-Node neigt normalerweise dazu, sich zu entfesseln. Aber jetzt, da Sie ein erfahrener Entwickler sind, sind Sie reif genug, um mit seinen Eigenheiten umzugehen.
Meteor ist ein Full-Stack-JS-Framework, mit dem ich derzeit experimentiere. Das Konzept von Meteor ist absolut reizvoll – ein Framework in einer Sprache, das sich um alle Komponenten einer Anwendung (Frontend, Backend und Datenbank) kümmert. Dies geht jedoch auf Kosten der Individualisierungsfreiheit. Sobald Sie etwas in Meteor erstellt haben, ist es praktisch unmöglich, die Datenbank oder das Backend-Framework zu ändern, falls Sie dies wünschen. Trotzdem denke ich, dass es sich lohnt, diese Technologie zu lernen. Meteor ist als extrem mächtig bekannt. Es ist in der Lage, Dinge in Hunderten von Codezeilen zu erledigen, wo andere herkömmliche Frameworks Tausende benötigt hätten.

Fazit

Dies ist das Ende von Teil 2. In diesem Beitrag haben wir Ressourcen zur Backend-Entwicklung und den verschiedenen verfügbaren Full-Stack-Technologien behandelt. Sie können sich jetzt stolz Full-Stack-Entwickler nennen. Glückwünsche!
Aber die Geschichte der Full-Stack-Webentwicklung endet hier nicht. Mit der Einführung des iPhones hat es rund um den Globus eine Smartphone-Revolution gegeben. Immer mehr Menschen nutzen Smartphones anstelle von Desktops. In einem solchen Szenario ist es unerlässlich, dass Sie lernen, Apps für zwei der beliebtesten Plattformen zu erstellen: Android und iOS. Wir werden dies im nächsten und letzten Teil dieser Serie behandeln. Darüber hinaus werden wir uns auch mit Frameworks befassen, die es uns ermöglichen, native Apps mit Javascript zu erstellen (Ionic, React Native usw.).
Bis dahin heißt es auf Wiedersehen.
Ihre Kommentare und Vorschläge sind willkommen!

Werden Sie Full-Stack-Entwickler

UpGrad und IIIT-Bangalores PG-Diplom in Softwareentwicklung
Erfahren Sie mehr