TypeScript - Ein praktischer Einstieg (eBook)
314 Seiten
O'Reilly Verlag
978-3-96010-793-4 (ISBN)
Josh Goldberg ist Softwareberater und Open-Source-Maintainer. Er trägt aktiv zu TypeScript und den Projekten dieses Ökosystems wie typescript-eslint und TypeStat bei. Zuvor war Josh Frontend-Entwickler im Web-Platform-Team von Codecademy, wo er die Verwendung von TypeScript im Unternehmen vorantrieb und half, ein TypeScript-Tutorial zu entwickeln.
Ein großartiger Ausgangspunkt für alle, die neu in TypeScript einsteigen!
- Vermittelt JavaScript-Entwicklerinnen und -Entwicklern, die keine Vorkenntnisse zu Typisierung und Typsystemen mitbringen, die Grundlagen von TypeScript.
- Mit verständlichen, jeweils eigenständigen Codebeispielen, wertvollen Hilfestellungen und Tipps nach dem Motto: aus alt und unsicher (JS) mach neu und sicher (TS).
- Gut lesbar, mit viel Humor geschrieben.
JavaScript lässt Entwicklerinnen und Entwicklern viele Freiheiten, was im Programmieralltag – insbesondere bei umfangreicher Codebasis – häufig zu Problemen führt. TypeScript wurde entwickelt, um hier Abhilfe zu schaffen, und hat in den letzten Jahren erfolgreich die JavaScript-Welt erobert. Mit einem durchdachten Typsystem unterstützt es ein strukturiertes Programmieren, das Refaktorieren von Code und das Entwickeln skalierender Webanwendungen.Josh Goldberg orientiert sich in seiner Einführung immer am Programmieralltag. Kompakt beschreibt er, wie das Typsystem beschaffen ist, wie es mit JavaScript interagiert und wie Entwicklerinnen und Entwickler ihren Code lesbarer und wartbarer gestalten können. Für Goldberg ist das Typsystem von TypeScript nicht nur ein Mittel, um Fehler zu beseitigen, sondern ein wunderschönes System, mit dem Entwickler festlegen, wie ihr JavaScript funktionieren soll, und das ihnen dabei hilft, sich an diese Vorgaben zu halten.
Josh Goldberg ist Softwareberater und Open-Source-Maintainer. Er trägt aktiv zu TypeScript und den Projekten dieses Ökosystems wie typescript-eslint und TypeStat bei. Zuvor war Josh Frontend-Entwickler im Web-Platform-Team von Codecademy, wo er die Verwendung von TypeScript im Unternehmen vorantrieb und half, ein TypeScript-Tutorial zu entwickeln.
Vorwort Josh Goldberg
Mein Weg zu TypeScript verlief weder direkt noch schnell. Als ich in meiner Schulzeit mit dem Programmieren begann, schrieb ich hauptsächlich in Java, dann in C++, und wie viele neue Entwickler, die mit statisch typisierten Sprachen aufgewachsen sind, sah ich auf JavaScript als die schlampige kleine Skriptsprache herab, mit denen die Leute ihre Websites pimpen.
Mein erstes größeres Projekt in dieser Sprache war ein albernes Remake des originalen Videospiels Super Mario Bros. in reinem HTML5/CSS/JavaScript und – ganz typisch für viele erste Projekte – ein absolutes Chaos. Zu Beginn des Projekts missfiel mir instinktiv die seltsame Flexibilität von JavaScript und das Fehlen jeglicher Leitplanken. Erst gegen Ende begann ich, die Eigenschaften und Macken von JavaScript wirklich zu respektieren: die Flexibilität der Sprache, die Möglichkeit, kleine Funktionen zu kombinieren und anzupassen, und vor allem die Fähigkeit, innerhalb von Sekunden nach dem Laden einer Seite im Browser einfach zu funktionieren.
Als ich mit diesem ersten Projekt fertig war, hatte ich mich in JavaScript verliebt.
Statische Analyse mit Tools wie TypeScript, die Code analysieren, ohne ihn auszuführen, verursachten bei mir anfangs ein ungutes Gefühl. JavaScript ist so luftig und geschmeidig, dachte ich, warum sollen wir uns mit starren Strukturen und Typen quälen? Wollte ich denn in die Welt von Java und C++ zurückkehren, die ich gerade hinter mir gelassen hatte?
Als ich mich erneut mit meinen bestehenden Projekten beschäftigte, war mir nach zehn qualvollen Minuten mit meinem alten, verworrenen JavaScript-Code klar, wie unübersichtlich die Dinge ohne statische Analyse werden können. Bei der Bereinigung des Codes stieß ich auf all die Stellen, an denen ich von einer gewissen Strukturierung profitiert hätte. Von diesem Zeitpunkt an wollte ich ständig so viel statische Analyse in meine Projekte einzubauen, wie ich konnte.
Es ist schon fast ein Jahrzehnt her, dass ich zum ersten Mal mit TypeScript gearbeitet habe, und es macht mir nach wie vor viel Spaß. Die Sprache wird kontinuierlich weiterentwickelt und mit neuen Funktionen ausgestattet und ist nützlicher denn je, wenn es darum geht, JavaScript Sicherheit und Struktur zu verleihen.
Ich hoffe, dass Sie durch die Lektüre von TypeScript – Ein praktischer Einstieg lernen, TypeScript auf die gleiche Weise zu schätzen, wie ich es tue, also nicht nur als Mittel, um Bugs und Tippfehler zu finden – und ganz sicher nicht als wesentliche Änderung der JavaScript-Entwurfsmuster. Sondern als JavaScript mit Typen und damit als ein schönes System, um festzulegen, wie unser JavaScript funktionieren soll, und dabei zu helfen, uns selbst daran zu halten.
Für wen dieses Buch gedacht ist
Wenn Sie wissen, wie man JavaScript-Code schreibt, grundlegende Befehle in einem Terminal ausführen können und daran interessiert sind, TypeScript kennenzulernen, dann ist dieses Buch genau das richtige für Sie.
Vielleicht haben Sie gehört, dass TypeScript Ihnen helfen kann, eine Menge JavaScript mit weniger Fehlern zu schreiben (stimmt!) oder Ihren Code gut zu dokumentieren, damit andere ihn lesen können (stimmt auch!). Vielleicht haben Sie bemerkt, dass Kenntnisse in TypeScript in vielen Stellenbeschreibungen erwähnt oder in einem neu begonnenen Job erwartet werden.
Was auch immer Ihre Motivation sein mag, solange Sie die Grundlagen – Variablen, Funktionen, Closures, Geltungsbereiche und Klassen – von JavaScript kennen, wird Sie dieses Buch bis zur Beherrschung der Grundlagen und wichtigsten Merkmale der Sprache führen, auch wenn Sie keinerlei TypeScript-Vorkenntnisse mitbringen. Wenn Sie dieses Buch gelesen haben, werden Sie diese Themen verstanden haben:
- Die Geschichte der Sprache und die Gründe, warum TypeScript eine hilfreiche Ergänzung von »Vanilla-JavaScript« – purem JavaScript – ist.
- Wie ein Typsystem Code modelliert.
- Wie ein Typechecker Code analysiert.
- Wie Typanmerkungen bzw. Typannotationen, die nur während der Entwicklung genutzt werden, dabei helfen, das Typsystem zu informieren.
- Wie TypeScript mit IDEs (Integrierten Entwicklungsumgebungen) zusammenarbeitet, um Werkzeuge zur Code-Exploration und für Refaktorierungen bereitzustellen.
Und Sie werden in der Lage sein:
- die Vorteile von TypeScript und die allgemeinen Merkmale seines Typsystems zu beschreiben.
- Ihrem Code an sinnvollen Stellen Typanmerkungen hinzuzufügen.
- mäßig komplexe Typen mit den in TypeScript integrierten Ableitungen und dessen Syntax darzustellen.
- TypeScript zu verwenden, um in der lokalen Entwicklung das Refactoring von Code zu unterstützen.
Warum ich dieses Buch geschrieben habe
TypeScript ist sowohl in Unternehmen als auch im Open-Source-Bereich eine äußerst beliebte Sprache:
- In den GitHub-Auswertungen State of the Octoverse 2021 und 2020 ist sie die viertwichtigste Sprache auf der Plattform, nachdem sie 2019 und 2018 auf Platz sieben und 2017 auf Platz zehn lag.
- Im Developer Survey 2021 auf StackOverflow steht sie an dritter Stelle der beliebtesten Sprachen der Welt (72,73 % der Nutzer).
- Die Ausgabe 2020 des State of JS Survey zeigt, dass TypeScript sowohl als Build-Tool als auch als JavaScript-Variante konstant hohe Zufriedenheits- und Nutzungswerte aufweist.
Für Frontend-Entwickler wird TypeScript von allen wichtigen UI-Bibliotheken und -Frameworks gut unterstützt, darunter Angular, das TypeScript ausdrücklich empfiehlt, sowie Gatsby, Next.js, React, Svelte und Vue. Für Backend-Entwickler generiert TypeScript JavaScript, das nativ in Node.js ausgeführt wird. Deno, eine ähnliche Laufzeitumgebung, die ebenfalls vom ursprünglichen Schöpfer von Node stammt, betont die eigene, direkte Unterstützung von TypeScript-Dateien.
Trotz dieser Fülle an populärer Projektunterstützung war ich in meiner anfänglichen Lernphase doch ziemlich enttäuscht über den Mangel an guten einführenden Inhalten im Internet. Viele der online verfügbaren Dokumentationsquellen konnten nicht besonders gut erklären, was genau ein »Typsystem« ist oder wie man es benutzt. Sie setzten oft ein hohes Maß an Vorkenntnissen in JavaScript und stark typisierten Sprachen voraus oder enthielten nur recht oberflächliche Codebeispiele.
Damals kein O’Reilly-Buch mit einem niedlichen Tier-Cover zur Einführung in TypeScript finden zu können, war eine ziemliche Enttäuschung. Zwar gibt es bereits andere Bücher über TypeScript, auch von O’Reilly, aber ich konnte kein Buch finden, das sich in einer Weise auf die Grundlagen der Sprache konzentriert, wie ich es wollte, und beschreibt, warum TypeScript so funktioniert, wie es funktioniert, und wie die Kernfunktionen ineinandergreifen. Also ein Buch, das mit einer grundlegenden Erklärung der Sprache beginnt und dann nach und nach weitere Features beschreibt. Ich freue mich sehr, jetzt selbst Lesern, die noch nicht mit den Prinzipien von TypeScript vertraut sind, eine klare, umfassende Einführung in die Grundlagen der Sprache geben zu können.
Der Aufbau dieses Buchs
TypeScript – Ein praktischer Einstieg verfolgt zwei Ziele:
- Sie können es »am Stück« lesen, um TypeScript als Ganzes zu verstehen.
- Später können Sie auf dieses Buch als eine praktische, einführende Sprachreferenz zurückgreifen.
Dieses Buch bewegt sich in drei allgemeinen Abschnitten von den Konzepten zur praktischen Anwendung:
- Teil I, »Konzepte«: Beschreibt, wie JavaScript entstanden ist, was durch TypeScript hinzugefügt wird, und die Grundlagen eines Typsystems, wie TypeScript es erzeugt.
- Teil II, »Features«: Präzisiert die Art und Weise, in der das Typsystem mit den wichtigsten Komponenten von JavaScript, mit denen man beim Schreiben von TypeScript-Code zu tun hat, interagiert.
- Teil III, »Verwendung«: Nachdem Sie die Funktionen von TypeScript verstanden haben, erfahren Sie in diesem Abschnitt, wie Sie diese in realen Situationen einsetzen können, um das Lesen und Bearbeiten von Code zu verbessern.
Ich habe am Ende des Buchs einen Abschnitt Teil IV, »Zugaben«, eingefügt, um seltener genutzte, aber dennoch gelegentlich nützliche TypeScript-Funktionen zu behandeln. Sie müssen sie nicht in der Tiefe verstehen, um sich als TypeScript-Entwickler betrachten zu dürfen. Es handelt sich jedoch um nützliche Konzepte, die beim Einsatz von TypeScript in realen Projekten wahrscheinlich immer wieder einmal eine Rolle spielen werden. Wenn Sie die ersten drei Abschnitte verstanden haben, empfehle ich Ihnen, sich auch mit diesem zusätzlichen Abschnitt zu beschäftigen.
Jedes Kapitel beginnt mit einem Haiku zur Einstimmung...
Erscheint lt. Verlag | 29.6.2023 |
---|---|
Übersetzer | Jens Olaf Koch |
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | Fehlerbehandlung • IDE • JavaScript • Programmierung • TSC • Typdeklaration • Typen • Typsicherheit • Typsystem |
ISBN-10 | 3-96010-793-5 / 3960107935 |
ISBN-13 | 978-3-96010-793-4 / 9783960107934 |
Haben Sie eine Frage zum Produkt? |
![EPUB](/img/icon_epub_big.jpg)
Größe: 2,1 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich