Erste Schritte mit Fullstack Web Development
In diesen Tagen modern volle Stack-Entwicklung ist sehr beliebt in kleinen Agenturen und größeren Unternehmen mit einem engagierten technischen Team. Volle Stack-Webingenieure arbeiten an einem ganzen Webstapel von Technologien einschließlich Frontend, Backend, und Serververwaltung.
Viele Leute argumentieren, dass der volle Stapel nur dazu führt, dass er ein "Alleskönner, Meister des Nichts" ist. Unter bestimmten Gesichtspunkten mag dies zutreffen, jedoch ist Skillset nur so wichtig wie das, was damit erreicht werden kann. Viele Full-Stack-Entwickler bieten Wert, weil sie eine Idee haben können Von der Konzeption bis zum Start, und vollständig verstehen jeder Schritt des Prozesses.
Wenn du daran denkst die volle Stapelroute gehen, dann ist dieser Artikel für Sie. Ich werde die allgemeinen Anforderungen eines Full-Stack-Entwicklers erläutern, was die Rolle mit sich bringt und wie das Skillset für Freelancer / Auftragnehmer nützlich sein kann, die entweder direkt für Kunden oder in ihren eigenen Projekten arbeiten möchten.
Full Stack-Grundlagen
Die Entwicklung moderner Fullstacks ist weit fortgeschritten, da sich die Web-Technologie stark verändert hat. Vollständige Stack-Anforderungen sollten als Richtlinien verwendet werden, um Folgendes zu berücksichtigen. Im Allgemeinen stellt ein "Stapel" die Technologien dar, die im Gleichklang laufen eine Website zum Laufen bringen. Dies bedeutet Front-End-Code, Back-End-Code, ein Datenbanksystem und eine Webserver-Plattform + Betriebssystem für den Server.
Der Grundgedanke der Full-Stack-Entwicklung besteht darin, alle Aspekte des Aufbaus einer Website zu verstehen. Dies bedeutet nicht, dass Sie über Design- oder UI / UX-Arbeiten Bescheid wissen, auch wenn dies Ihre Rentabilität und Arbeitsqualität erheblich verbessern kann.
- Die Grundlagen des Frontends umfassen HTML / CSS und JavaScript, höchstwahrscheinlich mit einem Rahmen, wie Angular oder React.
- Für eine Backend-Sprache sollten Sie etwas auswählen, das mit einem Datenbanksystem gekoppelt werden kann. PHP / MySQL ist am häufigsten und am einfachsten zu erlernen, da viele CMS-Engines wie WordPress unterstützt werden. Auch die LAMPE Stack ist heute zweifellos der beliebteste Web-Stack.
- Serverwissen kann so einfach oder so detailliert sein, wie Sie möchten. Die absoluten Grundlagen wären Kenntnisse über ein Serverprogramm Apache gekoppelt mit einer Datenbank wie MySQL oder PostgreSQL.
- Sie können sogar noch mehr über die Installation von Mail-Servern oder über Leistungstools wie memcached oder Varnish erfahren.
Ein voller Stack-Entwickler sollte in allen drei Bereichen mit genügend Wissen vorgehen eigenständig eine Website starten, und ohne viel Hilfe von jemand anderem.
Technische Tiefe des Wissens
Eine große Frage zur vollständigen Stapelentwicklung ist wie tief man in jeden Bereich gehen kann. Ist ein Full Stack Engineer wirklich ein Meister von irgendetwas? Einige argumentieren, dass es möglich ist, aber das ist möglicherweise nicht der Zweck, volle Stapel zu erreichen.
Die meisten Unternehmen möchten Full-Stack-Ingenieure einstellen, die überall ein bisschen Wissen haben. Diese Ingenieure können sich auf einen Bereich spezialisieren Sie können bei Bedarf jede Rolle ausfüllen.
Entwickler, die gerade diesen Weg einschlagen, sollten dies tun in allen Bereichen herumspielen und "gerade genug" lernen, um auftretende Probleme zu lösen. Dies gibt eine realistische Interpretation der Technologien, um zu sehen, wie unterschiedliche Probleme auf reale Projekte zutreffen.
Der größte Vorteil der vollständigen Stack-Codierung ist die Möglichkeit, dies zu tun Erstellen Sie Ihre eigenen Anwendungen ohne für irgendjemand anderen zu arbeiten.
Wenn Sie jede Phase des Entwicklungsprozesses lernen, können Sie alles selbst machen. Sie müssen kein PHP-Meister sein, um eine benutzerdefinierte Laravel-App zu erstellen. Und Sie müssen kein JavaScript-Guru sein, um eine flexible Dropdown-Navigation zu erstellen, insbesondere jetzt, da im Web so viel Open Source-Code verfügbar ist.
Wie tief solltest du in diese Bereiche gehen? Dies liegt ganz bei Ihnen, und Ihre Antwort wird sich wahrscheinlich im Laufe der Zeit ändern.
Aber wenn es erstmal los geht, einfach Gehen Sie tief genug, um das Erlernte in ein reales Projekt umzusetzen. Wenn Sie auf etwas stoßen, verstehen Sie nicht, Nutze es als Gelegenheit, tiefer zu gehen, und Erfahren Sie mehr über dieses Thema.
Sprachen wählen
Für den neuen Entwickler ist es ein Rätsel, welche Technologien erlernt. Die Notwendigkeiten aus dem Weg räumen, HTML und CSS sind zwingend erforderlich. JavaScript ist auch eine Notwendigkeit, Sie müssen sich jedoch nicht als JS-Master betrachten. Sie sollten jedoch daran interessiert sein, mehr als nur einfaches JavaScript zu lernen.
Die meisten Entwickler lernen auch jQuery, aber Frameworks wie React, Ember, Angular, Vue oder Backbone bieten alle einen einfacheren Prozess für das Erstellen von Webanwendungen.
Es ist möglich, noch tieferes Lernen zu erlernen ausgefallene JavaScript-Effekte, wie Animationen, aber sie sind völlig optional. Ein voller Stack-Entwickler sollte gerade genug wissen, um die Arbeit zu erledigen, und von dort aus weitermachen.
Bei der Auswahl der Backend-Sprache geht es weniger um technischen Vorteil als um Komfort. Die meisten Programmierer erkennen das Python ist eine vielseitigere Sprache als PHP, Die meisten Websites laufen jedoch auf PHP-Servern. Das macht PHP eine wertvolle Sprache an mehr Unternehmen.
Wählen Sie die Sprache aus, die Ihren Bedürfnissen entspricht, oder bietet Ihnen die besten Perspektiven. Denken Sie auch daran Sie sind nicht für immer mit einer Backendsprache verbunden. Wenn Sie mit Ruby beginnen, aber zu Python wechseln, verlieren Sie dabei nichts.
Ich empfehle Ihnen jedoch, sobald Sie eine Backendsprache gefunden haben, die Sie mögen, tiefer in diese Sprache einzutauchen und nimm einen verwandten Rahmen auf. PHP hat Laravel, Ruby hat Rails und Python hat Django - neben vielen anderen Optionen. Diese Frameworks beschleunigen Ihren Entwicklungsprozess und helfen Ihnen, Ihre Anwendungen richtig zu strukturieren.
Datenbanken & Server
Die Auswahl einer Datenbank-Engine hängt von den Projektanforderungen und dem Server-Stack ab. PHP arbeitet oft mit MySQL, daher ist dies die bevorzugte Wahl. Das zwei größten Webstacks heute sind LAMPE (Linux-Apache-MySQL-PHP) und BEDEUTEN (MongoDB-ExpressJS-AngularJS-Node.js).
Die meisten Hosting-Unternehmen bieten LAMP von Anfang an an, ohne dass ein Setup erforderlich ist. Mit kundenspezifischen Lösungen wie Digital Ocean können Sie jedoch fast alles mit etwas Ellenbogenfett ausführen. Sie können weitere Webstacks in dieser Liste finden oder online suchen.
Ihre Datenbank Ihrer Wahl wird oft sein gebunden an Ihre Backend-Sprache. Python wird standardmäßig mit SQLite unterstützt RoR devs können normalerweise mit allem arbeiten. Und ehrlich gesagt, kann jede Sprache normalerweise mit jeder Datenbank arbeiten.
Sie möchten jedoch etwas auswählen, das für die meisten Webprojekte üblich ist. SQL ist eine allgemeine Sprache und verwendet meistens die gleiche Syntax für alle Datenbankmodule. Sie werden Unterschiede beim Einrichten und Verwalten von Tabellen feststellen, diese sind jedoch normalerweise geringfügig.
Neben Datenbanken finden Sie hier einige technische serverseitige Themen, über die Sie sich informieren möchten.
- CDNs und Content-Hosting
- Serversoftware-Installation und Updates
- Beste Serverkonfigurationen für Verkehrsspitzen und Ladezeiten
- Caching-Lösungen für Datenbankabfragen und Dateisystemspeicher
- Automatisierte Sicherungen von Datenbanken und Flat Files oder Backups von Disk-Imaging
- HTTPS-Setup mit Domänenverwaltung (DNS-Server, CNAME-Einträge usw.)
- Detailliertere Themen wie E-Mail, Microservices und Lastverteilung
Eine der besten Möglichkeiten zu lernen ist mit Servern basteln wie Sie Projekte bauen. Besorgen Sie sich eine Grundausstattung VPS Konto und versuchen Sie, Ihre eigenen Stapel einzurichten. Bei diesen VPS handelt es sich um vollständige virtuelle Serverumgebungen, in denen Sie die vollständige Kontrolle haben, um alles zu konfigurieren (oder zu zerstören). Die obige Liste ist auch keine erforderliche Roadmap für alle Full Stack-Entwickler.
Das einzige Wissen, das Sie wirklich brauchen, ist was auch immer erforderlich ist, um eine leere Serverumgebung zu erstellen und die Software zu installieren, die zum Ausführen einer Website erforderlich ist. Von dort ist alles andere nur verbessertes Wissen. Wenn Sie Fragen haben oder von Profis lernen möchten, besuchen Sie die Reddit's / r / SysAdmin-Community.
Die Straße entlang
Wenn Sie wirklich die volle Stapelentwicklung lernen möchten, Erstellen Sie eine Liste aller Technologien, die Sie erlernen möchten. Von dort aus können Sie sie einzeln angehen und Ihre eigenen Übungsprojekte erstellen, um zu testen, was Sie lernen.
Web-Entwicklung ist eine sich ständig wandelnde Branche, daher sollten Sie immer bereit sein, mehr zu lernen. Testen Sie verschiedene Stapel und Sprachen, bis Sie gefunden haben, was Ihnen gefällt. Sei aber immer bereit, tiefer zu gehen und besser zu werden!
Lohnt sich die volle Stack-Entwicklung? Das entscheiden Sie. Aber hier sind einige verwandte Beiträge, die Ihnen helfen könnten, das herauszufinden.
- Zur Legitimität von "Full-Stack" (heapsortjobs.com)
- Sie möchten also ein Full-Stack-Entwickler werden (rubysteps.com)
- 7 Tipps, wie Sie ein Full Stack-Entwickler werden (usersnap.com)