Erste Schritte mit der Fullstack-Webentwicklung
Heutzutage ist die moderne Full-Stack-Entwicklung sowohl in kleinen Agenturen als auch in größeren Unternehmen mit einem engagierten technischen Team sehr beliebt. Full-Stack-Web-Ingenieure arbeiten an einem ganzen Web-Stack von Technologien, einschließlich Frontend-, Backend- und Server-Management .
Viele Leute argumentieren, dass ein voller Stack nur dazu führt, dass er ein "Tausendsassa, Meister von niemandem" ist. Aus einer gewissen Perspektive mag das stimmen, aber Skillset ist nur so wichtig wie das, was damit erreicht werden kann. Viele Full-Stack-Entwickler bieten einen Mehrwert, weil sie eine Idee von der Konzeption bis zum Start übernehmen können und jeden Schritt des Prozesses vollständig verstehen.
Wenn Sie darüber nachdenken , die vollständige Stapelroute zu gehen, dann ist dieser Artikel für Sie. Ich werde die allgemeinen Anforderungen eines Full-Stack-Entwicklers erläutern, was die Rolle beinhaltet und wie das Skillset für Freelancer / Contractors nützlich sein kann, die direkt für Kunden oder in ihren eigenen Projekten arbeiten wollen.
Vollständige Stack-Grundlagen
Die moderne Full-Stack-Entwicklung hat einen langen Weg zurückgelegt, da sich die Web-Technologie stark verändert hat. Vollständige Stapelanforderungen sollten als Richtlinien verwendet werden, die zu beachten sind. Im Allgemeinen stellt ein "Stack" die Technologien dar, die gemeinsam laufen , um eine Website zum Laufen zu bringen . Dies bedeutet Frontend-Code, Backend-Code, ein Datenbanksystem und eine Webserver-Plattform + OS für den Server.
Der Grundgedanke der Full-Stack-Entwicklung besteht darin, alle Aspekte der Erstellung einer Website zu verstehen. Dies bedeutet nicht, dass Sie Kenntnisse über Design oder UI / UX-Arbeit haben, obwohl dies Ihre Lebensfähigkeit und Arbeitsqualität erheblich verbessern kann.
- Die Grundlagen von Frontend umfassen HTML / CSS und JavaScript, höchstwahrscheinlich mit einem Framework 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 es viele CMS-Engines wie WordPress antreibt. Auch der LAMP- Stack ist heute unbestreitbar der beliebteste Web-Stack.
- Das Serverwissen kann so einfach oder detailliert sein, wie Sie möchten. Die absoluten Grundlagen wären Kenntnisse eines Serverprogramms wie Apache, gekoppelt mit einer Datenbank wie MySQL oder PostgreSQL .
- Sie könnten sogar noch weiter gehen und Kenntnisse über die Installation von Mail-Servern oder Performance-Tools wie memcached oder Varnish einbeziehen.
Technische Tiefe des Wissens
Eine große Frage über die volle Stapelentwicklung ist, wie tief man in jeden Bereich gehen muss . Ist ein Full-Stack-Ingenieur wirklich jemals ein Meister von allem? Einige argumentieren, dass es möglich ist, aber das ist möglicherweise nicht der Zweck des vollen Stacks .
Die meisten Firmen wollen Full-Stack-Ingenieure einstellen, die überall ein bisschen Wissen haben. Diese Ingenieure können sich auf einen Bereich spezialisieren, aber sie können bei Bedarf jede Rolle ausfüllen .
Entwickler, die gerade diesen Weg einschlagen, sollten in allen Bereichen herumspielen und "gerade genug" lernen, um Probleme zu lösen, wenn sie auftauchen . Dies gibt den Technologien eine reale Interpretation, um zu sehen, wie unterschiedliche Probleme auf reale Projekte zutreffen.
Der größte Vorteil der Full-Stack-Codierung ist die Möglichkeit , eigene Anwendungen zu erstellen, ohne für andere Personen zu arbeiten.Wenn Sie jede Phase des Entwicklungsprozesses lernen, können Sie alles selbst machen. Sie müssen kein Meister von PHP sein, um eine benutzerdefinierte Laravel-App zu erstellen. Und Sie müssen kein JavaScript-Guru sein, um eine flexible Dropdown-Navigation zu erstellen, besonders jetzt, wo wir so viel Open-Source-Code im Web haben.
Wie tief sollten Sie in diese Bereiche gehen? Das liegt ganz bei Ihnen, und Ihre Antwort wird sich wahrscheinlich im Laufe der Zeit ändern.
Aber wenn Sie anfangen, gehen Sie einfach tief genug, um das, was Sie gelernt haben, in ein echtes Projekt umzusetzen . Wenn du auf etwas stößt, das du nicht verstehst, nutze es als Gelegenheit, tiefer zu gehen und mehr über dieses spezielle Thema zu erfahren .
Sprachen auswählen
Es ist ein bisschen ein Rätsel für den neuen Entwickler, welche Technologien er lernen sollte. Die Notwendigkeiten sind aus dem Weg, HTML und CSS sind absolut erforderlich . JavaScript ist ebenfalls eine Notwendigkeit, aber Sie müssen sich 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 einen einfacheren Prozess für die Erstellung umfassender Webanwendungen.
Es ist möglich, noch tiefer gehende JavaScript-Effekte wie Animationen zu lernen, aber sie sind völlig optional. Ein Vollstapel-Entwickler sollte gerade genug wissen, um die Aufgabe zu erledigen, und von dort weitermachen.Backend Sprachwahl ist weniger über technische Vorteile und mehr über Komfort. Die meisten Programmierer erkennen, dass Python eine vielseitigere Sprache als PHP ist, die meisten Websites laufen jedoch auf PHP-Servern. Dies macht PHP zu einer wertvollen Sprache für mehr Unternehmen.
Wählen Sie die Sprache, die Ihren Bedürfnissen entspricht, oder bieten Sie die besten Aussichten. Bedenken Sie auch, dass Sie nicht für immer mit einer Backend-Sprache festgefahren sind . Wenn Sie mit Ruby beginnen, aber zu Python wechseln, verlieren Sie dabei nichts.Ich empfehle Ihnen jedoch, sobald Sie eine Backend-Sprache gefunden haben, die Sie mögen, vertiefen Sie sich mit dieser Sprache, und nehmen Sie ein verwandtes Framework 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 eines Datenbankmoduls hängt von den Projektanforderungen und dem Server-Stack ab. PHP arbeitet oft mit MySQL, das ist die am meisten bevorzugte Wahl. Die zwei größten Web-Stacks sind LAMP (Linux-Apache-MySQL-PHP) und MEAN (MongoDB-ExpressJS-AngularJS-Node.js).
Die meisten Hosting-Unternehmen bieten LAMP von Anfang an ohne Setup erforderlich. Aber kundenspezifische Lösungen wie Digital Ocean ermöglichen es Ihnen, fast alles mit ein wenig Ellenbogenfett zu betreiben. Sie können mehr Webstapel auf dieser Liste finden oder indem Sie online suchen.
Ihre Datenbank Ihrer Wahl ist oft an Ihre Backend-Sprache gebunden . Python wird standardmäßig mit SQLite-Unterstützung geliefert, und RoR- Entwickler können normalerweise mit allem arbeiten. Und ehrlich gesagt kann jede Sprache normalerweise mit jeder Datenbank arbeiten.
Aber Sie möchten etwas auswählen, das in den meisten Webprojekten üblich ist. SQL ist eine allgemeine Sprache und verwendet für alle Datenbank-Engines meist die gleiche Syntax. Sie werden Unterschiede in der Einrichtung und Verwaltung der Tabellen finden, aber diese sind in der Regel geringfügig.
Neben den Datenbanken finden Sie hier einige technische Server-Themen, über die Sie mehr erfahren möchten.- CDNs und Content-Hosting
- Installation und Aktualisierung der Serversoftware
- Beste Serverkonfiguration für Traffic-Spikes und Ladezeiten
- Caching-Lösungen für Datenbankabfragen und Dateisystemspeicherung
- Automatisierte Backups von Datenbanken und Flat Files oder Backups von Disk Imaging
- HTTPS-Setup mit Domain-Management (DNS-Server, CNAME-Records etc.)
- Detailliertere Themen wie E-Mail, Microservices und Lastenausgleich
Eine der besten Arten zu lernen ist das Basteln mit Servern beim Erstellen von Projekten. Besorgen Sie sich einen einfachen VPS- Account und versuchen Sie, eigene Stacks einzurichten. Diese VPS sind vollständige virtuelle Serverumgebungen, in denen Sie die volle Kontrolle haben, alles zu konfigurieren (oder zu zerstören). Außerdem ist die obige Liste keine erforderliche Roadmap für alle Full-Stack-Entwickler.
Das einzige Wissen, das Sie wirklich benötigen, ist das, was erforderlich ist, um eine leere Serverumgebung zu erstellen und die zum Ausführen einer Website erforderliche Software zu installieren . Von dort ist alles andere nur verbessertes Wissen. Wenn Sie Fragen haben oder von Profis lernen möchten, besuchen Sie Reddits / r / SysAdmin Community.
Die Straße entlang
Wenn Sie wirklich die vollständige Stapelentwicklung erlernen möchten, erstellen Sie eine Liste aller Technologien, die Sie lernen möchten . Von dort aus kannst du sie einzeln angehen und deine eigenen Übungsprojekte zusammenstellen, um zu testen, was du lernst.
Web-Entwicklung ist eine sich ständig verändernde Branche, daher sollten Sie immer bereit sein, mehr zu lernen. Testen Sie verschiedene Stapel und Sprachen, bis Sie das gefunden haben, was Ihnen gefällt. Aber immer bereit sein, tiefer zu gehen und besser zu werden!
Ist die volle Stack-Entwicklung die Mühe wert? Das musst du entscheiden. Aber hier sind einige verwandte Beiträge, die Ihnen helfen könnten, das herauszufinden.
- Auf der Legitimität von "Full-Stack" (heapsortjobs.com)
- Sie möchten ein Full-Stack-Entwickler werden (rubysteps.com)
- 7 Tipps, wie man ein Full Stack Entwickler wird (usersnap.com)
Es ist OK, ein hoher Erreicher zu sein. Hier ist der Grund.
"Betrüger!" Man könnte meinen, dass dieses verdammte Wort nur in Fernsehern, Filmen und anderen Unterhaltungsmedien enthalten ist, die als Reaktion auf die Enthüllung geäußert werden, dass ein Charakter nicht der ist, für den er sich ausgibt. Du würdest dich irren.Tatsächlich hören 70 Prozent von uns jeden Tag - aus unseren eigenen Gedanken. Das, me
8 Möglichkeiten, wie Freelancer Ihr Startup starten können
Das sind großartige Zeiten, um als Freelancer zu arbeiten. Die freiberufliche Industrie setzt sich wie wildes Feuer durch, und es wird mehr und mehr Geld in die Mischung gegossen. Es gibt bereits Tonnen von Unternehmen, die die Industrie nutzen. Wenn Sie ein junger, aufstrebender Unternehmer sind, möchten Sie, dass Ihr Startup mit den niedrigsten Gemeinkosten läuft. K