JavaScript: Interview mit Jonas Jürgens zum Update der Weiterbildung zum JavaScript-Entwickler
Donnerstag, 27. April 2023 um 08:30 von Stefan Wölfel in Aktuelles

Jonas, was sind die wichtigsten Veränderungen am Kurs?
Da gibt es einiges zu erwähnen, da wir einzelne Classes ausgetauscht und vorhandene angepasst haben. Fangen wir mit der neuen Struktur des Kurses an: Er beginnt zwar auch weiterhin mit unserer Grundlagen-Class zu JavaScript, allerdings haben wir diese aufgrund ihrer Länge in zwei Classes aufgeteilt. Der Inhalt und Aufbau ist derselbe geblieben. Auf Basis dieser JavaScript-Grundlagen zeigen wir im Anschluss, wie die Verbindung zum Browser hergestellt wird. Dies geschieht weiterhin durch unsere Class zur Manipulation des DOMs.
Als vierte Class folgt eine neu entwickelte Class zur objektorientierten Programmierung (OOP) mit JavaScript. Das objektorientierte Programmierparadigma ist in JavaScript nicht so verbreitet wie in anderen Programmiersprachen. Dennoch beruhen viele Libraries und Frameworks zumindest in Teilen auf diesem Paradigma. Unsere Class stellt die Theorie hinter der OOP vor und begleitet Lernende mit praxisbezogenen Beispielen. Ein Highlight ist dabei die Programmierung eines eigenen State-Managements am Vorbild von Redux. Außerdem: Die Objektorientierung wird in der abschließenden Class bei der Spieleprogrammierung besonders wichtig, wo das Gelernte in einem neuen Kontext angewandt wird.
Als Nächstes folgt eine ebenfalls von Grund auf neu entwickelte Class zur Backend-Entwicklung in JavaScript. Diese Class greift die beliebten Themen Express.js und Socket.IO aus unseren früheren Classes zum Umgang mit Node.js und der Entwicklung von Webapps auf und vertieft sie. Sie befähigt Lernende, vollwertige Webanwendungen mit Express, Socket.IO und MongoDB zu programmieren. Dazu werden die Konzepte rund um Node.js und seinen Package Manager NPM vorgestellt. Mit dieser Class erhalten Teilnehmer Fähigkeiten und Kenntnisse in Serverprogrammierung und Datenbanksystemen, die für ihre Webprogrammierung sehr nützlich sind.
Abgeschlossen wird die Weiterbildung durch eine weitere neue Class: Diese behandelt ein ganz anderes Thema, aber veranschaulicht hervorragend, was mit JavaScript möglich ist: die Entwicklung von Browser-Games mit Phaser 3. Dabei werden die Grundlagen der Spielentwicklung vorgestellt und schrittweise um komplexere Konzepte ergänzt. So kann durch das Wissen aus dieser Class sogar ein Spiel wie Candy Crush Saga entwickelt werden. Aber hier ist noch nicht Schluss, ein Exkurs am Ende der Class verbindet alles in dieser Weiterbildung gelernte: Wir entwickeln einen Klon des Spielklassikers Pong, welcher dank eines Express-Servers und Socket.IO einen Online-Mehrspielermodus enthält.
Was sind die wichtigsten Voraussetzungen für den Einstieg in JavaScript?
Ich denke, JavaScript unterscheidet sich nicht stark von anderen Programmiersprachen. Daher würde ich sagen: Selbstständigkeit und die Fähigkeit, mit Dokumentationen zu arbeiten. Ohne sich selbst um Probleme kümmern zu können, wird man es nicht schaffen, Programmierer zu werden, weder in JavaScript noch in anderen Programmiersprachen. Das klingt im ersten Moment schlimmer, als es ist. Man muss nicht selbst in der Lage sein, alle Probleme zu lösen. Je früher du als angehender Entwickler lernst, wie du Probleme effektiv nachschlägst, desto schneller wirst du vorankommen. Außerdem bin ich der Überzeugung, dass man eine neue Technologie am gründlichsten lernt, wenn man sich auf Dauer mit den Hintergründen beschäftigt. Diese gehen aber häufig über den Umgang mit Lehrmaterialien hinaus und müssen deshalb in der Dokumentation nachgelesen werden.
Warum sollte ein Webentwickler JavaScript nutzen?
Weil JavaScript die Programmiersprache schlechthin ist, wenn es um die Frontend-Entwicklung geht. Egal auf welcher Website man sich herumtreibt, wenn diese nur eine winzige Spur von Funktionalität enthält, dann kann man davon ausgehen, dass diese Funktionalität auch durch JavaScript erreicht wird. Das heißt, wenn es um die Frontend-Entwicklung geht, führt kein Weg an JavaScript vorbei. Es muss hier aber noch nicht enden. Als ich den neuen Aufbau der Weiterbildung vorhin vorstellte, hatte ich erzählt, dass es eine Class zur Backend-Entwicklung gibt. Dank Node.js ist es nämlich möglich, JavaScript in allen erdenklichen Situationen einzusetzen. Webseiten können heutzutage vollumfänglich in JavaScript entwickelt werden.
Mit Phaser wurde ein Framework integriert, mit dem man HTML-5-Games erstellen kann. Was ist für JavaScript-Entwickler das Spannende an Phaser?
Spannend ist die Vielfalt an Möglichkeiten. Phaser bietet bereits eine große Auswahl an Tools zur Programmierung von Spielen, wie ein Loader-Plugin, welches die verschiedensten Dateien laden kann, ein Physiksystem zur Simulation von Physik und ein vorgefertigtes Szenen-System. Diese Tools erlauben es, eine große Anzahl an Spielideen zu verwirklichen. Etwas wirklich Schönes an Phaser ist aber seine Kompatibilität mit anderen Libraries. So können mit Phaser zwar nur 2D Spiele entwickelt werden, also nur Spiele, die sich in einem zweidimensionalen Raum abspielen. Allerdings ist Phaser mit Enable3D kompatibel. Dabei handelt es sich um eine Library zur Darstellung von Objekten in einem dreidimensionalen Raum. Ein weiteres Beispiel ist die Kompatibilität mit Express und Socket.IO. Dank dessen können Online-Mehrspielerspiele wie der angesprochene Pong-Klon mit der neuen Phaser Class entwickelt werden. Mit Phaser liegt es also am Programmierer und nicht an der Software, was für Spiele man kreieren kann.
Gibt es noch einen Tipp, den du Ein- und Umsteigern in JavaScript mit auf den Weg geben möchtest?
Probiere dich so viel und so oft wie möglich aus. Wann immer du in den Classes etwas Neues gelernt hast, wende es mindestens einmal selbstständig an. Wenn du dabei auf Probleme triffst, dann schau nicht sofort in deinen Lernunterlagen nach, sondern versuche das Problem selbstständig durch Nachschlagen in der Dokumentation zu lösen. Im Anschluss oder wenn du keine Antwort findest, kannst du immer noch deine Lernunterlagen zurate ziehen. Indem du das Gelernte anwendest, festigst du es und bekommst ein Gefühl für die Sprache. In diesem Punkt unterscheiden sich Programmiersprachen von gesprochenen Sprachen nicht, du lernst sie am besten, indem du sie anwendest. Weiterhin hilft dir das selbstständige Beheben des Problems dabei, noch komplexere Probleme zu lösen.
Vielen Dank für das Interview, Jonas!
Die besprochenen Classes sind Teil unserer »Weiterbildung zum JavaScript-Entwickler« und unseres »Diploma in Web Engineering«.
Tags: JavaScript , Webentwicklung