Die JavaScript-Lernlandschaft im Jahr 2018

Avatar of Jason Rodriguez
Jason Rodriguez am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Heben Sie die Hand, wenn das auf Sie zutrifft

Sie sind seit einigen Jahren in der Tech-Branche tätig, kennen HTML und CSS in- und auswendig und verdienen gutes Geld. Aber da ist eine kleine Stimme im Hinterkopf, die Ihnen immer wieder zuflüstert: „Es ist Zeit für etwas Neues, für den nächsten Schritt in Ihrer Karriere. Sie müssen programmieren lernen.“

Ja, das kenne ich.

Ich habe fast ein Jahrzehnt lang verschiedene Rollen in der Tech-Branche ausgeübt. Ich habe eine Reihe von Artikeln über Design, Coding, HTML und CSS geschrieben. Verdammt, ich habe sogar ein paar Bücher geschrieben und auf Konferenzen auf der ganzen Welt gesprochen. Aber da ist immer noch diese Stimme, die mir sagt, dass ich mich mit dem Programmieren auseinandersetzen muss; dass ich nie erfüllt sein werde, bis ich gelernt habe, meine eigenen Ideen und Projekte von Grund auf zu entwickeln. Als Webentwickler ist die offensichtliche Sprache, die es zu lernen gilt: JavaScript.

Wie viele Leute bin ich jedoch von der aktuellen JavaScript-Landschaft eingeschüchtert. Mit dem ständigen Zustrom neuer Werkzeuge, Techniken und Frameworks ist es schwer herauszufinden, wo und womit man anfangen soll. Dennoch muss ich irgendwo anfangen. Deshalb dachte ich, eine Überprüfung der Lernressourcen und Werkzeuge wäre ein guter erster Schritt.

Die Last der Information

Wie sieht es damit aus, kommt Ihnen das auch bekannt vor?

Sie haben versucht, Programmieren mit verschiedenen Sprachen zu lernen. Sie haben Bücher gelesen, Online-Kurse abonniert und haben eine Menge Ordner, die Dropbox mit halbfertigem Code und kopierten Übungen übersäen.

Ich auch.

Ich habe den Rails Tutorial und Learn Python The Hard Way zur Hälfte durchgearbeitet. Mein Bücherregal ist voll mit massiven Wälzern über alles von ActionScript bis Processing. Aber nichts scheint je zu bleiben.

Ich kann verstehen, was eine PHP-Datei tut und verstehe ein bisschen jQuery, aber wenn Sie mich bitten würden, mich hinzusetzen und das einfachste Programm zu schreiben, würde es mir schwerfallen. Nach so vielen Fehlschlägen glaube ich, das Problem erkannt zu haben.

Immer wenn ich anfange, etwas Neues zu lernen, tauche ich so tief wie möglich in das Thema ein. Ich kaufe Bücher, schaue Videos und höre Podcasts. Das ist dieselbe Taktik, die viele Unternehmen als den besten Weg bewerben, ein neues Thema zu lernen, sei es Programmieren, Kochen oder Mandarin an einem Wochenende. Immersion ist anscheinend ein wichtiger Teil des Lernens.

Aber das Problem ist, dass Menschen (oder zumindest ich) eine Schwelle haben, wie viele Informationen sie verarbeiten können, bevor sie sich überfordert fühlen. Ich nenne es die „Last der Information“. Information ist wunderbar, aber zu viel davon belastet den Geist, lässt Sie ausgebrannt und hoffnungslos zurück, was dazu führt, dass Sie aufgeben und sich wie ein Versager fühlen.

Ich möchte nicht, dass dieser Versuch wie all die anderen wird. Ich weiß, dass ich mich in JavaScript vertiefen muss, aber ich möchte nicht im Treibsand der JS-Welt versinken, um mich dann zu ersticken. Also beschloss ich, die JavaScript-Lernlandschaft zu überprüfen und ein paar Ressourcen auszuwählen – aber nicht zu viele –, die ich verwenden kann, um endlich den Programmierdrang zu stillen.

Ich habe die Ressourcen in vier Kategorien aufgeteilt, basierend auf den verschiedenen Arten, wie ich gerne lerne (und ich vermute, dass andere auch so lernen). Diese Kategorien sind: Lesen, Zuschauen, Zuhören und vor allem Tun.

Hier ist, was ich gefunden habe.

Lesen

Meine Lieblingsart, neue Dinge zu lernen, ist, darüber zu lesen. Während das meistens Bücher bedeutet, fülle ich auch gerne meinen RSS-Feed mit guten Blogs und meinen Posteingang mit tollen Newslettern.

Bücher

Glücklicherweise gibt es eine Menge anerkannter Bücher über JavaScript. Hier sind einige der am meisten empfohlenen:

Als ich versuchte, Python zu lernen, war meine Lieblingsressource Zed Shaws Learn Python The Hard Way. Es war ein unkomplizierter Ansatz zum Lernen durch tatsächliches Codieren. Obwohl er ein ähnliches Buch über JavaScript in Arbeit hat, ist es noch nicht verfügbar.

Das Nächstbeste, was ich dazu finden konnte, war Eloquent JavaScript von Marijn Haverbeke. Soweit ich weiß, ist es eine wunderbare Einführung in JavaScript und scheint laut Inhaltsverzeichnis einen ähnlichen Ansatz wie Zeds Hard Way-Bücher zu verfolgen: Es beginnt mit den Grundlagen der Sprache und wird mit zunehmend fortgeschrittenen Konzepten und Projekten immer anspruchsvoller.

Alle anderen Bücher auf meiner Liste sehen ausgezeichnet aus, aber die meisten scheinen für mein aktuelles Niveau etwas zu fortgeschritten zu sein. Die beiden Ausnahmen sind Jon Ducketts JavaScript and jQuery und Mat Marquis’ JavaScript for Web Designers. Ich liebte Jons Buch über HTML und CSS, aber ich habe nicht das Gefühl, dass der visuelle Ansatz seiner Bücher bei komplexeren Themen funktioniert (zumindest für mich). Und Mats Buch scheint genau meinen Anwendungsfall zu bedienen, ist aber vielleicht nicht tiefgehend genug für langfristiges Lernen. Da ich aber die meisten anderen A Book Apart-Bücher besitze, werde ich Eloquent JavaScript wahrscheinlich mit JavaScript for Web Designers ergänzen.

Ich bin sicher, es gibt eine Menge anderer fantastischer Bücher über JavaScript, aber diese müssen warten, bis ich mein ausgewähltes Buch beendet habe. Denken Sie daran, ich möchte gute Informationen, aber nicht zu viele davon sofort.

Blogs

Heiliger Bimbam, es gibt eine Menge Blogs über JavaScript. Das macht es tatsächlich schwierig herauszufinden, welche gut sind. Ich bin offen für alle Vorschläge, die Sie vielleicht haben (hinterlassen Sie sie in den Kommentaren!), wen ich folgen sollte, aber mein erster Eindruck ist, dass diese ein guter Anfang sind:

Es gibt noch eine ganze Menge mehr, auf die ich gestoßen bin, aber die meisten scheinen zu diesem Zeitpunkt meines Lernprozesses zu komplex zu sein. Oder andere gehören zu Einzelpersonen, die hauptsächlich über ihre eigenen Projekte sprechen und weniger über die Grundlagen oder den Lernprozess. Ich habe sie jedoch alle als Lesezeichen gespeichert, um sie mir anzusehen, sobald ich besser vorankomme.

Newsletter

Ich bin ein unverhohlener Liebhaber von HTML-Newslettern, wie meine früheren Artikel zu diesem Thema belegen. Also habe ich natürlich ein paar gefunden, die ich abonnieren werde:

Aber ich habe das Gefühl, dass es noch mehr da draußen gibt, die ich einfach nicht finden konnte. Ich meine, es gibt einen Newsletter für so gut wie jedes Thema. Da JavaScript so beliebt ist, muss es mehr als die beiden oben genannten Newsletter geben. Wenn Sie Tipps haben, schicken Sie sie mir über die Kommentare unten.

Zuschauen

Eine weitere gute Möglichkeit zu lernen ist, anderen zuzusehen, wie sie tun, was man tun möchte. Aber das ist für mich fast immer zweitrangig gegenüber dem Lesen zum Lernen. Doch wenn ich bei einem Thema feststecke oder tiefer in bestimmte Aspekte des Codierens eintauchen möchte, wird das Ansehen von Videos eine gute Möglichkeit sein.

Größtenteils gibt es zwei Kategorien von Videos online: Kurse und eigenständige Videos (meist auf YouTube). Es gibt eine Menge Optionen für beides, aber das sind die besten, soweit ich das beurteilen kann:

  • ES6 für alle von Wes Bos
  • JavaScript 30 von Wes Bos
  • Code School's JavaScript-Pfad
  • Einführung in die JavaScript-Programmierung von Kyle Simpson
  • Die guten Teile von JavaScript und dem Web von Douglas Crockford
  • Debugging und Behebung häufiger JavaScript-Fehler von Todd Gardner
  • Datenstrukturen und Algorithmen in JavaScript von Bianca Gandolfo
  • The Coding Train von Daniel Shiffman
  • Fun Fun Function von Mattias Petter Johansson
  • LearnCode.academy
  • JSConf YouTube-Kanal

Ich habe erstaunliche Dinge über Wes Bos' Kurse gehört, also werde ich mich irgendwann damit beschäftigen. Dasselbe gilt für The Coding Train und Fun Fun Function. Aber wieder, ich möchte nicht überfordert sein, also plane ich, all das beiseite zu legen, nachdem ich mich durch *Eloquent JavaScript* gearbeitet habe.

Zuhören

Podcasts sind eine ausgezeichnete Möglichkeit, etwas über Konzepte zu lernen und in eine bestimmte Kultur einzutauchen, ohne an einen Bildschirm gebunden zu sein. Im Grunde eine gute Möglichkeit, beim Abwaschen oder Aufräumen nach meinen Kindern weiterzulernen.

Aber, wie bei E-Mail-Newslettern, fand ich es schwierig, gute JavaScript-Podcasts zu finden. Wenn ich mich umschaue, scheint es, dass es eine Menge davon gibt, aber die meisten sind inaktiv und veraltet. Ich habe die folgende Liste erstellt, aber ich hoffe, dass Sie mir ein paar weitere nennen können, die ich meinem Podcast-Feed hinzufügen kann.

Tun

Der letzte und wohl wichtigste Teil des Lernens von JavaScript ist das eigentliche Tun: Code schreiben, ihn zum Laufen bringen und wiederholen.

Wie ich eingangs erwähnte, schreibe ich seit Jahren HTML und CSS (und spiele mit anderen Technologien herum), daher bin ich bei einigen meiner Werkzeuge etwas voreingenommen. Ich arbeite meistens mit Sublime Text auf meinem Mac, daher plane ich, dabei zu bleiben, um Code lokal zu schreiben. Da ich aber in letzter Zeit mehr an meinem iPad Pro arbeite, möchte ich Sublime Text mit einigen zusätzlichen Werkzeugen zum Schreiben und Testen von Code während meines Lernens ergänzen.

Das Wichtigste wird CodePen sein. Ich bin seit einer Weile Pro-Abonnent und finde es enorm nützlich, Code zu schreiben, egal auf welcher Plattform ich mich befinde. Da es im Browser funktioniert, ist es einfach, auf meinem iPad einen Pen zu öffnen, während ich im Café sitze, und eine voll funktionsfähige JS-Entwicklungsumgebung einsatzbereit zu haben. Es bietet auch einige Funktionen, die mir sicher irgendwann nützlich sein werden: private Pens und Sammlungen, wenn ich peinlichen Code geheim halten möchte, Projekte, wenn ich an substanzielleren Dingen arbeiten möchte und sie schmerzfrei gehostet haben möchte, und Kollaborationsmodus, falls ich jemals Freunde bitten muss, mir in Echtzeit bei kniffligem Code zu helfen.

Ich habe mir andere Tools wie JSFiddle und JSBin angesehen, aber ich fühle mich in CodePen wohl und ihre Funktionen sind hervorragend, also bleibe ich dabei.

Ein weiteres Online-Tool, das ich irgendwann nutzen möchte, ist Glitch. Es ist ein relativ neues Tool zum Schreiben und Teilen von Code online und hat eine wunderbar eklektische Community, die sich darum aufgebaut hat. Obwohl ich denke, dass die meiste meiner Codierung in CodePen oder lokal in Sublime Text erfolgen wird, glaube ich, dass Glitch unerlässlich sein wird, wenn es darum geht, komplexere Dinge wie die Interaktion mit APIs, das Erstellen seltsamer Bots und das Testen einiger dieser beängstigenden Frameworks zu lernen.

Mein Lernplan

Unter Berücksichtigung all der oben genannten Ressourcen, hier ist, was ich vorhabe zu tun, um die Grundlagen von JavaScript in den nächsten Monaten zu lernen:

  • Arbeit durch Eloquent JavaScript
  • Lokal in Sublime Text codieren, aber hauptsächlich online mit CodePen
  • Bleiben Sie mit Nachrichten über die gefundenen Blogs, Newsletter und Podcasts auf dem Laufenden
  • Nachdem ich mit Eloquent JavaScript fertig bin, werde ich mich mit JavaScript 30 und ES6 for Everyone beschäftigen
  • Beginnen Sie mit den Videos und Büchern, die oben aufgeführt sind, nachdem ich mit den Tutorials von Wes Bos fertig bin
  • Bauen Sie dabei einige (hoffentlich) coole Sachen

Einer der wichtigsten Aspekte des Lernens ist jedoch, Feedback zu dem zu bekommen, was man tatsächlich tut. Dafür werde ich mich an ein paar Freunde und jeden Leser wenden, der helfen möchte.

Ich habe eine neue Sammlung auf CodePen eingerichtet, um meine JavaScript-Projekte während des Lernprozesses unterzubringen. Ich werde diese Sammlung öffentlich halten, damit jeder sehen kann, was ich tue, Beispiele forken und mich über den besten Weg informieren kann, Dinge zu tun. Wenn das nach Ihrem Geschmack ist, dann folgen Sie mir auf CodePen.

Schließlich, wenn Sie andere Ressourcen oder starke Meinungen zu den von mir oben aufgeführten haben, lassen Sie es mich in den Kommentaren unten wissen. Ich bin sicher, viele von Ihnen haben einen ähnlichen Lernprozess durchlaufen und haben einige erstaunliche Tipps, die Sie teilen können. Ich würde mich freuen, von Ihnen zu hören, also hinterlassen Sie etwas Wissen direkt hier auf CSS-Tricks oder senden Sie mir eine E-Mail.