Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de
Zu Themen rund um JavaScript gibt es eine Unmenge an Fachbüchern. Sei es die Programmiersprache selbst, die darauf basierenden Frameworks, oder Ergänzungen wie TypeScript, es scheint kein Thema zu geben, das Autoren noch nicht adressiert hätten. Für den lernhungrigen Leser ergibt sich dadurch die Qual der Wahl. Zeit, um aus der großen Auswahl einige Perlen herauszupicken.
Author Image
Michael Stal

Chefredakteur von JavaSPEKTRUM


  • 27.01.2023
  • Lesezeit: 14 Minuten
  • 82 Views

Bücher, Bücher, Bücher

Da JavaScript inzwischen zu den wichtigsten Technologien für Frontend-, aber auch Fullstack-Entwickler gehört, herrscht ein unüberschaubares Angebot. Kaum eine Zeit, in der nicht ein Buch zu dieser Technologie irgendwo erscheint. Einige Werke fokussieren sich auf die Sprache selbst, die meisten aber auf Frameworks wie Angular, Vue, React, Meteor, Ember, Express, Bootstrap, Node.js, jQuery oder GraphQL, um nur einige zu nennen. Bisweilen scheint es mehr JavaScript-Frameworks zu geben als Java-Script-Entwickler.

Aus diesem Grund haben wir uns die Mühe gemacht, aus der Fülle vorhandener Fachliteratur diejenigen Bücher herauszusuchen, die zumindest die relevanten Themen abdecken, dabei von Lesern eine sehr gute Bewertung erhalten haben, Thematiken strukturiert und gut verständlich vermitteln, und auch möglichst den neuesten Stand der Technik beschreiben.

David Flanagan, JavaScript: The Definitive Guide: Master the World’s Most-Used Programming Language, 7. Auflage, O’Reilly Media, 2020

Der Name David Flanagan dürfte den meisten mit langer Java-Historie gut vertraut sein. Immerhin hat David mit „Java in a Nutshell” eines der ersten Java-Bücher überhaupt publiziert. Wie in seinem Java-Buch versteht der Autor es, sich auf die wesentlichen Ingredienzen und Aspekte von JavaScript zu konzentrieren. Daher fällt es auch dem Anfänger leicht, sich in die Sprache einzuarbeiten.

Gleich am Anfang des Buchs befindet sich die Tour of Java-Script, die anhand gut nachvollziehbarer Beispiele in JavaScript einführt. Anschließend kommen in den Folgeartikeln dessen Kernelemente zur Sprache, zunächst die der einfacheren Sorte, danach fortgeschrittene Themen wie Metaprogramming oder asynchrones JavaScript. Die letzten drei Kapitel beleuchten mehr die Anwendungsseite, konkret den Einsatz von JavaScript in Web-Browsern, serverseitiges JavaScript auf Basis von Node.js und eine Vorstellung diverser JavaScript-Werkzeuge und -erweiterungen.

Auf seinen rund 667 Seiten beschreibt „JavaScript: The Definitive Guide: Master the World’s Most-Used Programming Language” die Spracheigenschaften sehr sachlich und präzise. Statt zu unterhalten, vermittelt es die wichtigsten Grundlagen sehr kompakt, ohne dabei Wichtiges außen vor zu lassen. Das Buch eignet sich daher sowohl zum Erlernen der Programmiersprache als auch als Nachschlagewerk, das auf dem Schreibtisch von Java-Script-Programmierern einen festen Platz haben sollte.

Philip Ackermann, JavaScript: Das umfassende Handbuch. JavaScript lernen und verstehen, 3. Ausgabe, Rheinwerk, 2021

Dass es nicht immer englischsprachige Fachliteratur braucht, um Technologien zu erlernen, beweist Philip Ackermann mit seinem Buch „JavaScript: Das umfassende Handbuch. JavaScript lernen und verstehen”. Zum Einstieg ins Buch präsentiert der Autor zunächst die Grundlage und den Sprachkern der Programmiersprache. Gegenstand seiner Betrachtungen sind auch die beiden von Java-Script unterstützten Paradigmen in Gestalt von objektorientierter und funktionaler Programmierung. Er geht ausführlich darauf ein, wie Entwickler mit Referenztypen umgehen sollten, die doch einige Fallstricke aufweisen.

Schwerpunkt des Buchs ist die Entwicklung von Webanwendungen und alle damit verbundenen Themen. So zum Beispiel, wie sich HTML-Seiten mittels JavaScript dynamisch verändern lassen, und wie und wozu Entwickler ereignisbasierte Verarbeitung einsetzen können. Das Buch widmet sich auch aktuellen Trends wie dem serverseitigen Nutzen von JavaScript für Node.js oder dem (Fern)steuern von Embedded Boards. Philip Ackermann meistert den Spagat zwischen einem JavaScript-Einsteigerbuch für Entwickler auf der einen Seite und einem Nachschlagewerk auf der anderen Seite. Mir gefällt insbesondere die übersichtliche Illustration der Themen, wodurch das Lesen oder Nachschlagen im Buch mehr Spaß macht. In den Listings markiert der Autor wichtige Teile durch Fettdruck und ergänzt seine Texte mit Abbildungen, um das Verständnis zu erleichtern. Das sind sicher nur Äußerlichkeiten, zeigt aber, dass Philip Ackermann das Buch mit Enthusiasmus für seine Leser geschrieben hat. Aus meiner Sicht ist eine klare Empfehlung.

Josh Goldberg, Learning TypeScript: Enhance Your Web Development Skills Using Type-Safe JavaScript, O’Reilly Media, 2020

Die sicherlich häufigste Kritik an Java-Script ist die fehlende Typsicherheit. Dieses Problem nahm Microsoft zum Anlass, um TypeScript zu entwickeln. TypeScript stellt eigentlich keine völlig neue Sprache dar, sondern erweitert JavaScript um eine typsichere Basis. Der TypeScript-Compiler transpiliert Programme nach JavaScript, sodass am Ende immer JavaScript-Programme entstehen. Ein Beispiel für eine TypeSript-Anwendung ist Microsofts beliebte und kostenfreie IDE Visual Studio Code, die sich auch im Browser nutzen lässt, also nicht nur als eigenständige Applikation.

Ein geeignetes Buch, um sich Kenntnisse der Sprache anzueignen, ist „Learning TypeScript: Enhance Your Web Development Skills Using Type-Safe JavaScript” von Josh Goldberg. Dieses Buch geht in die Tiefe, macht Spaß bei der Lektüre und ist ein sehr guter Begleiter, um TypeScript zu erlernen. Der Autor weist fundiertes Wissen über die Thematik auf, trägt er doch selbst zum quelloffenen Ökosystem bei.

Im ersten Teil des Buchs kommen die fundamentalen Konzepte von TypeScript vor und warum TypeScript einige Probleme von JavaScript löst. Der zweite Teil erläutert ausführlich, welche Sprachfeatures TypeScript dem Entwickler bietet, was sich von einfachen Merkmalen wie Features bis hin zu fortgeschrittenen Themen wie generische Datentypen erstreckt. Im anschließenden dritten Teil geht es um Nutzung von TypeScript inklusive Konfiguration und IDE-Themen. Zu guter Letzt bespricht Goldberg im vierten Teil die Themen, die in den meisten Projekten nicht auftreten, aber die Entwickler trotzdem kennen sollten. Insgesamt lohnt sich das Buch wegen seiner fundierten Inhalte und der angenehmen Art des Schreibens.

Mario Cascario, Luciano Mammino, Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3. Auflage, Packt Publishing, 2020

Node.js erlaubt dem JavaScript-Entwickler, aus dem engen Korsett der reinen Frontend-Entwicklung auszubrechen. Es stellt ein Laufzeitsystem bereit, mit dem sich in JavaScript Serveranwendungen schreiben lassen. Das Buch von Mario Cascario und Luciano Mammino über Node.js beschränkt sich nicht darauf, Schritt für Schritt die Elemente von Node.js zu beschreiben, sondern fokussiert sich auf die Erstellung von Anwendungen mit der Server-Technologie, die inzwischen das Fundament vieler JavaScript-Frameworks und Server-Anwendungen darstellt.

Im ersten Kapitel präsentieren die Autoren die Node.js-Philosophie inklusive der darin enthaltenen Patterns und führen dann schrittweise die diversen Ingredienzen einer Node.js-Anwendung sowie die dafür geeigneten Patterns und Techniken ein. Dies erstreckt sich von Betrachtungen der Patterns aus dem berühmten Pattern-Buch von Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides bis hin zu fortgeschrittenen Betrachtungen von Middleware, asynchroner Verarbeitung, Parallelität, Skalierbarkeit und Messaging. Das Schöne daran ist, dass sich Cascario und Mammino auch nicht vor fortgeschrittenen, komplexen Themen scheuen. Dadurch versetzen sie den Leser in die Lage, Aspekte von Node.js zu verstehen, die für den Entwurf robuster, skalierbarer Anwendungen unabdingbar sind. Insofern eignet sich ihr Buch auch für den professionellen Softwareentwickler, der sich auf diesem Weg einige sehr gute Ratschläge für eigene Projekte zunutze machen kann.

Christoph Höller, Angular: Das große Handbuch zum JavaScript-Framework: Einführung und fortgeschrittene Type-Script-Techniken, Rheinwerk, 2022

Ursprünglich stammt das Java-Script-Framework Angular (früher AngularJS) von Google und liegt mittlerweile in der 14. Version vor. Das Framework dient der Frontend-Entwicklung und eignet sich besonders gut zur Entwicklung von Anwendungen auf Mobilgeräten. Es ist mithilfe von TypeScript implementiert, lässt sich aber auch mit JavaScript nutzen. Sein zentrales MVC-Architekturkonzept beruht auf Komponenten, Diensten, Templates, Direktiven und Dependency Injection. Zudem stellt es Data Bindung zur Verfügung. Mit seinen über 1000 Seiten versucht das Buch, seinen Lesern Angular näher zu bringen. Es bietet eine sehr weite Rundreise um das Thema, adressiert alle Aspekte von Angular sehr ausführlich mithilfe von Beispielen. Dadurch eignet es sich hervorragend, um sich als Entwickler mit dem Framework vertraut zu machen. Wer ein Referenzbuch für Angular erwartet, sollte hingegen zu einem anderen Buch greifen. „Angular: Das große Handbuch zum Java-Script-Framework” ist gut strukturiert und schön gestaltet. Inhaltlich deckt es ein sehr breites Themenfeld ab, unter anderem:

  • Komponenten & Direktiven
  • Pipes, Services, Dependency Injection
  • Angular-CLI
  • Formulare
  • HTTP-Anbindung
  • Echtzeitunterstützung
  • Performance-Optimierung
  • ECMAScript, TypeScript, RxJS
  • Material Design und Angular Material
  • NPM-Libraries & Mono-Repos
  • WebComponents
  • Server-Side Rendering

Die Lektüre des Buchs macht Spaß, weil es jedes Thema sehr anschaulich und praxisnah adressiert. Wer sich als professioneller Entwickler mit Angular vertraut machen möchte, sollte zu diesem Buch greifen.

Fabian Deitelhoff, Vue.js: Von Grundlagen bis Best Practices – Für den Um- und Einstieg in Vue 3, dpunkt.verlag, 2022

Wie Angular basiert das Framework Vue 3 (ausgesprochen wie View) auf HTML, CSS und JavaScript. Zwei seiner Kernkonzepte sind deklaratives Rendering, mit dessen Hilfe sich statische HTML-Inhalte dynamisch mit Templates auf Basis von JavaScript-Code anreichern lassen, und Reaktivität, wonach die Änderung des JavaScript-Zustands zum Update des DOM führt. Wie Angular adressiert auch Vue 3 sogenannte Single-Page Applications. Komponenten bilden SCFs (Single-File Components), die in JavaScript geschriebene Logik mit HTML-Vorlagen und CSS-Stilen zu Komponenten integrieren. Für Neueinsteiger erfreulich ist die Tatsache, das Vue.js nur moderate Komplexität aufweist, und sich dadurch schneller erlernen lässt als konkurrierende Frameworks.

Das Buch „Vue.js: Von Grundlagen bis Best Practices – Für den Um- und Einstieg in Vue 3” führt schrittweise in die Thematik ein, so zum Beispiel in alle Neuerungen, die Vue 3 mit sich bringt. Fabian Deitelhoff erläutert alle Phasen der Entwicklung mit Vue sehr ausführlich, angefangen vom Start eines Projekts bis hin zum Deployment der fertigen Anwendung. Die dabei verwendeten Programmierbeispiele stehen auf GitHub und StackBlitz zur Verfügung, sodass ein zeitaufwendiges Abtippen entfällt. Thematisiert wird auch der Umstieg von Vue 2 auf Vue 3, der mit einigen Herausforderungen verbunden ist. Insofern lohnt sich die Lektüre auch für diejenigen, die zuvor mit älteren Vue-Versionen gearbeitet haben oder noch arbeiten müssen und erfahren wollen, in welche Fallen sie beim Umstieg hineinstolpern könnten.

Stoyan Stefanov, React – Up and Running: Building Web Applications, 2. Ausgabe, O’Reilly Media, 2021

Der Autor von „React – Up and Running: Building Web Applications” ist hauptberuflich bei Facebook beschäftigt, das sich für die Entwicklung von React verantwortlich zeigt. Vorteile des auf Performanz getrimmten JavaScript-Frameworks sind sein großes Ökosystem und seine dementsprechend breite Community. Normalerweise nutzen Entwickler React für Single-Page Web-Anwendungen, gelegentlich aber auch für Server-Entwicklung auf Basis von Node.js. React basiert wie Angular und Vue auf dem komponentenorientierten Paradigma, kombiniert in einzelnen Objekten Logik und Darstellung. Der Datenfluss zwischen Komponenten erfolgt unidirektional. Um Performanz zu gewinnen, arbeitet das Framework mit virtuellen DOMs. Mittels JSX (JavaScript XML) können Entwickler Java-Script, HTML und CSS zu Komponenten kapseln und in verschiedenen Anwendungen nutzbar machen.

Auf 213 Seiten beschreibt Stoyan Stefanov, wie der Entwickler React aufsetzen, wie sich React-Komponenten maßgeschneidert erstellen und nutzen lassen. Eines der gewählten Beispiele ist eine Datentabellenkomponente, mit der Entwickler Inhalte editieren, sortieren, durchsuchen und exportieren können. Der Autor geht intensiv auf Themen wie JSX und Hooks oder das Verwalten und Kontrollieren des Datenflusses ein. Als größeres Beispiel illustriert Stefanov React anhand einer App, wie eine Anwendung Daten auf dem Client speichern kann. Das Buch ist angenehm kurz und kompakt, setzt allerdings JavaScript-Kenntnisse sowie Wissen über HTML und CSS voraus.

Andreas Dormann, Ionic 6: Create awesome apps for iOS, Android, Desktop und Web, D&D Verlag Bonn, 2022, über Kindle erhältlich

Eine erfreuliche Nachricht zuerst: Wer eine Amazon-Prime-Mitgliedschaft besitzt, kann das Buch „Create awesome apps for iOS, Android, Desktop und Web” kostenlos über kindleunlimited lesen. Ionic stellt insofern eine Ausnahme unter den JavaScript-Frameworks dar, als es eine Möglichkeit offeriert, Anwendungen für Smartphones und Tablets zu schreiben. Leider wurde mittlerweile jQuery Mobile als deprecated markiert, weshalb Ionic als eine der wenigen Alternativen verbleibt. In Kombination mit Apache Cordova können entsprechende Ionic-Anwendungen auch auf die Innereien von Geräten zugreifen wie beispielsweise auf die Kamera oder das GPS-Modul. Weitere Technologien, die mit Ionic harmonieren beziehungsweise Ionic komplementieren, sind Angular, Googles Closure Compiler, Capacitor, Autprefixer, Node.js und Stencil.

Da Ionic Angular als Grundlage nutzt, führt Andreas Dormann zunächst die Grundkonzepte von Angular ein. Er zeigt, wie sich eine erste App entwickeln lässt, adressiert die Navigation beziehungsweise das Routen in einer App, und illustriert das Anbinden von Diensten und Speicher. Anschließend kommen ausführlich UI-Komponenten als Basis von Ionic-Anwendungen zur Sprache und alles, was damit zusammenhängt. Ein eigenes Kapitel widmet sich den Cordova-Plug-ins, die den nativen Zugriff auf die Komponenten des Endgeräts gestatten. In einem weiteren Kapitel kümmert sich Dormann um das Thema Kommunikation und Messaging. Am Schluss folgen Kapitel über das projektspezifische Managen von Ionic-Anwendungen, speziell dem Debuggen und Testen und dem Thema Build, Deploy und Publish. Aktuelle Informationen zu Ionic und Beispielcode stellt der Autor auf einer Webseite bereit. Das Buch liest sich gut. Einziges Manko ist, dass die Beispiele nicht immer leicht nachzuvollziehen sind. Leser mit Vorkenntnissen in Angular und Node.js sind dabei klar im Vorteil. Wer sich mit Ionic beschäftigen möchte, sollte auf das Buch zugreifen, und das nicht nur, weil es sonst an Büchern zu diesem Themengebiet mangelt.

Eve Porcello, Alex Banks, Learning GraphQL: Declarative Data Fetching for Modern Web Apps, O‘Reilly Media, 2018

GraphQL unterscheidet sich von Java-Script-Frameworks dadurch, dass es sich rein auf die Übermittlung von Daten fokussiert. Diese Daten liegen entweder auf einer angeschlossenen Datenbank oder einem externen Dienst wie einem Microservice oder einer anderen Art von RESTful API. Ein Client erzeugt gemäß der zugrunde liegenden GraphQL-Spezifikation eine Anfrage (Query), die der Server (zum Beispiel ein Apollo-Server) mithilfe eines Resolvers auflöst und die angefragten Daten zurücksendet. Der Server liefert dabei nur die angefragten Daten zurück, etwa eine Untermenge von Datenbankspalten, was das Ganze sehr effizient macht. Wie React stammt QueryQL ebenfalls aus dem Hause Meta (Facebook). Entwickler setzen deshalb oft GraphQL und React zusammen ein. Als Fundament dient des Weiteren Node.js. Ein gutes Buch, um GraphQL kennenzulernen, ist „Learning GraphQL: Declarative Data Fetching for Modern Web Apps” von Eve Porcello und Alex Banks. Das stammt zwar von 2018, ist aber immer noch eines der besten Fachbücher zu diesem Thema. Es beschränkt sich nicht darauf, die GraphQL-Spezifikation herunterzubeten, sondern zeigt auch die konzeptionellen Hintergründe und die Theorie, die dahinter stecken. Dank der verschiedenen Beispiele lernt der Leser, wie sich GraphQL in der Praxis einsetzen lässt. Der einzige Wermutstropfen ist, dass sich die Werkzeuge in der Zwischenzeit weiterentwickelt haben. Dennoch haben Eve Porcello und Alex Banks ein bemerkenswertes Buch geschrieben, dessen Lektüre sich für den GraphQL-Einsteiger auf jeden Fall lohnt.

Fazit

JavaScript ist mittlerweile ein so wichtiges Thema, dass es für die meisten Entwickler essenziell erscheint, sich in diese Thematik einzuarbeiten. Leider genügt es nicht, sich mit der Programmiersprache zu beschäftigen, weil es ein riesiges Ökosystem dafür gibt. Mit allen aktuellen Entwicklungen Schritt halten zu wollen, erscheint deshalb als sehr sportlich. Einige Online-Tutorials sind schlichtweg nicht mehr up to date, weshalb sich ein intensives Bücherstudium gepaart mit Webrecherchen lohnt. Das heißt natürlich auch, dass Bücher relativ schnell veralten, sodass die hier vorgestellten Bücher kurzfristig wieder obsolet oder durch neue Ausgaben ersetzt sein könnten. Aber das gilt ja inzwischen für alle Informatik-Literatur.

Wir hoffen jedenfalls, Sie können die ein oder andere Empfehlung gut nutzen.

. . .

Author Image

Michael Stal

Chefredakteur von JavaSPEKTRUM
Zu Inhalten

Prof. Dr. Michael Stal beschäftigt sich bei der Corporate Technology der Siemens AG mit Software- und Systemarchitekturen, Digitalisierung und KI. An der University of Groningen hält er Vorlesungen und betreut Doktoranden. Außerdem ist er Chefredakteur von JavaSPEKTRUM.


Artikel teilen