Einführung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Es ist schon komisch, dass wir die Auswirkungen bestimmter Ereignisse und Projekte in unserem Leben ständig über- oder unterschätzen. Ich habe ernsthaft geglaubt, dass das letzte Projekt, an dem ich bei Google gearbeitet habe, Google Feedback, die Art und Weise, wie das Unternehmen mit seinen Kunden interagiert, völlig verändern würde. Und ich glaubte, dass Angular (damals noch AngularJS) nur ein weiteres Eintagsfliege-Framework sein würde, das die Verwaltungsoberfläche des Feedback-Projekts nicht überleben würde.

Und im Nachhinein betrachtet war es genau andersherum. Während Feedback immer noch existiert und in viele Google-Produkte integriert ist, hat sich Angular von einem winzigen Projekt, das von einem internen Team bei Angular genutzt wurde, zu einem Projekt entwickelt, das heute von Tausenden von Entwicklern und Unternehmen weltweit eingesetzt wird. Und das ist zu einem großen Teil Misko, Igor und dem gesamten Team zu verdanken, die sich unermüdlich dafür einsetzen, die Entwicklung von Webanwendungen zu verbessern.

Was als Projekt mit zwei Mitgliedern begann, ist heute eine der größten Open-Source-Communities im Internet, und das Framework hat Tausende von Projekten auf der ganzen Welt beeinflusst und mitgestaltet. Es gibt Dutzende von Büchern, Hunderte von Tutorials und Tausende von Artikeln über Angular, und die Akzeptanz und Unterstützung von Angular wächst jeden Tag weiter.

Einige der wichtigsten Konzepte, die in der ersten Version von Angular ihrer Zeit voraus waren (wie Data Binding, Separation of Concerns, Dependency Injection usw.), sind heute gängige Merkmale neuer Frameworks.

Die größte Veränderung im AngularJS-Ökosystem war die Veröffentlichung der neuen Version von Angular (ursprünglich Angular 2.0, jetzt nur noch Angular genannt). Es war eine drastische, nicht abwärtskompatible Änderung, die beinahe eine ganze Community gespalten hätte. Aber dank des Engagements der Community und eines offenen, integrativen Teams wurde aus dem, was ein katastrophaler Schritt hätte sein können, eine dringend benötigte Überarbeitung von Angular, um es in das neue Zeitalter der Webentwicklung zu bringen.

Was Angular wirklich zu einer großartigen Technologie und einem großartigen Framework macht, ist die Community, die es umgibt - diejenigen, die zum Kernframework beitragen oder Plug-ins dafür entwickeln, und diejenigen, die es täglich nutzen.

Als Teil der Gemeinschaft freue ich mich sehr, dieses Buch zu präsentieren und auf meine Weise zu dem beizutragen, was diese Gemeinschaft großartig macht.

Wer sollte dieses Buch lesen?

Dieses Buch richtet sich an alle, die den Einstieg in Angular (2.0 und höher) suchen, sei es als Nebenprojekt, als zusätzliches Werkzeug oder für ihre Hauptarbeit. Es wird erwartet, dass die Leser/innen mit JavaScript und HTML vertraut sind, bevor sie mit diesem Buch beginnen, aber Grundkenntnisse in JavaScript sollten ausreichen, um Angular zu lernen. Kenntnisse von AngularJS 1.0 sind nicht erforderlich und werden auch nicht erwartet.

Wir werden auch TypeScript verwenden, was der empfohlene Weg ist, um in Angular zu entwickeln, aber ein Vorwissen ist ausreichend, um dieses Buch zu lesen.

Wir werden es Schritt für Schritt angehen, also entspann dich und hab Spaß beim Lernen mit mir.

Warum ich dieses Buch geschrieben habe

Das Angular-Framework hat sich enorm weiterentwickelt und verfügt über eine Vielzahl von Funktionen und Möglichkeiten. Dank der großen Community, die dahinter steht, gibt es auch eine Fülle hilfreicher Inhalte. Aber die Hilfeinhalte, Tutorials und Anleitungen konzentrieren sich entweder nur auf bestimmte Themen oder sind sporadisch und nicht unbedingt nützlich für Einsteiger/innen.

Das Ziel dieses Buches ist es, eine Schritt-für-Schritt-Anleitung für den Einstieg in Angular zu geben. Jedes Konzept wird in einer logischen, organisierten Art und Weise dargestellt und baut auf dem vorherigen Konzept auf. Bei so vielen beweglichen Teilen und einer aktiven Community hat dieses Buch nicht die Absicht, jeden einzelnen Aspekt zu behandeln, sondern konzentriert sich stattdessen auf die Kernbausteine in detaillierter Form, während die Leser/innen den Rest selbst entdecken können.

Am Ende des Buches solltest du einen Großteil des Angular-Frameworks kennen und in der Lage sein, mit Angular eigene Webanwendungen zu entwickeln und es in deinen eigenen Projekten einzusetzen.

Ein Wort zur Entwicklung von Webanwendungen heute

JavaScript hat einen langen Weg hinter sich, bis zu dem Punkt, an dem es eine der am häufigsten verwendeten und angenommenen Programmiersprachen ist. Heutzutage müssen sich Webentwicklerinnen und -entwickler nur noch selten Gedanken über Browser-Inkonsistenzen und Ähnliches machen, was der Hauptgrund für die Existenz von Frameworks wie jQuery war.

Frameworks (wie Angular und React) sind heute eine weit verbreitete Wahl für die Entwicklung von Frontend-Erlebnissen, und kaum jemand entscheidet sich heutzutage, eine Frontend-Anwendung zu entwickeln, ohne eines zu nutzen.

Die Vorteile des Einsatzes von Frameworks sind vielfältig. Sie reichen von der Reduzierung von Standardcode bis hin zur Bereitstellung einer einheitlichen Struktur und eines einheitlichen Layouts für die Entwicklung einer Anwendung und vieles mehr. In erster Linie geht es darum, den Zeitaufwand für unnötigen Code zu reduzieren und sich auf die wichtigsten Funktionen zu konzentrieren, die wir anbieten wollen. Und wenn das dann auch noch browserübergreifend funktioniert (und auf Plattformen wie Android und iOS, zusätzlich zum Desktop), dann umso besser.

Angular (wie auch andere Frameworks) bietet diese Möglichkeit, vor allem durch einige grundlegende Prinzipien, die das Herzstück des Frameworks bilden, darunter:

  • Leistungsstarke Templating-Syntax, die auf deklarativer Programmierung basiert

  • Modularität und Gewaltenteilung

  • Datenbindung und damit datengesteuerte Programmierung

  • Testbarkeit und großartige Testunterstützung

  • Routenplanung und Navigation

  • Und eine Vielzahl anderer Funktionen, vom serverseitigen Rendering bis hin zur Möglichkeit, native mobile Anwendungen zu schreiben, und vieles mehr!

Mithilfe von Angular können wir uns darauf konzentrieren, fantastische Erlebnisse zu schaffen und gleichzeitig die Komplexität und Wartbarkeit nahtlos zu verwalten.

Navigieren in diesem Buch

In diesem Buch wird ein Entwickler Schritt für Schritt durch jeden Teil von Angular geführt. Auf jedes Kapitel, in dem ein neues Konzept vorgestellt wird, folgt sofort ein Kapitel darüber, wie wir es in den Unit-Tests testen können. Das Buch ist grob wie folgt aufgebaut:

  • Kapitel 1, Einführung in Angular, ist eine Einführung in Angular und die Konzepte dahinter. Außerdem erfährst du, was du brauchst, um mit dem Schreiben einer Angular-Anwendung zu beginnen .

  • Kapitel 2, Hallo Angular, führt dich durch die Erstellung einer sehr einfachen Angular-Anwendung und zeigt dir, wie die einzelnen Komponenten zusammenarbeiten. Außerdem wird das Angular CLI vorgestellt.

  • Kapitel 3, Nützliche eingebaute Angular-Direktiven, befasst sich mit den grundlegenden eingebauten Angular-Direktiven (einschließlich ngFor, ngIf, etc.) und wann und wie man sie verwendet.

  • In Kapitel 4, " Angular-Komponenten verstehen und nutzen", werden Angular-Komponenten und die verschiedenen Optionen, die bei ihrer Erstellung zur Verfügung stehen, näher erläutert. Außerdem werden die grundlegenden Lebenszyklus-Hooks von Komponenten behandelt.

  • Kapitel 5, Testen von Angular-Komponenten, stellt vor, wie man Angular-Komponenten mit Karma und Jasmine sowie dem Angular-Testing-Framework testet.

  • Kapitel 6, Arbeiten mit Template-gesteuerten Formularen, behandelt das Erstellen und Arbeiten mit Formularen in Angular, insbesondere mit Template-gesteuerten Formularen.

  • Kapitel 7, Arbeiten mit reaktiven Formularen, befasst sich mit der anderen Art, Formulare zu definieren und mit ihnen zu arbeiten, nämlich mit der Erstellung und Entwicklung reaktiver Formulare.

  • In Kapitel 8, Angular-Dienste, geht es um Angular-Dienste. Hier erfährst du, wie du die eingebauten Angular-Dienste nutzen kannst und wie und wann du deine eigenen Angular-Dienste definieren kannst.

  • Kapitel 9, HTTP-Aufrufe in Angular, befasst sich mit dem Aspekt der Serverkommunikation in Angular und geht auf HTTP-Aufrufe sowie auf einige fortgeschrittene Themen wie Interceptoren und Ähnliches ein.

  • Kapitel 10, Unit-Testing von Diensten, geht einen Schritt zurück und behandelt erneut das Unit-Testing, aber diesmal mit dem Schwerpunkt auf Unit-Testing von Diensten. Dazu gehört das Testen von einfachen Diensten und etwas schwierigeren Fällen wie asynchronen Abläufen sowie von Diensten und Komponenten, die HTTP-Aufrufe tätigen.

  • In Kapitel 11, Routing in Angular, geht es darum, wie wir das Routing in einer Angular-Anwendung umsetzen können, und behandelt das Angular-Routing-Modul im Detail sowie die meisten seiner Funktionen.

  • Kapitel 12, Productionizing an Angular App, fasst schließlich alle Konzepte zusammen und behandelt die Überführung der entwickelten Angular-Anwendung in die Produktion sowie die verschiedenen Aspekte und Techniken, die dabei eine Rolle spielen.

Das gesamte Code-Repository wird auf GitHub gehostet. Wenn du also keine Lust hast, die Code-Beispiele aus diesem Buch abzutippen, oder sichergehen willst, dass du die neuesten und besten Code-Beispiele siehst, besuche das Repository und schnapp dir die Inhalte.

Dieses Buch verwendet AngularJS Version 5.0.0 für alle Codebeispiele.

Online-Ressourcen

Die folgenden Ressourcen sind ein großartiger Ausgangspunkt für jeden AngularJS-Entwickler und sollten immer griffbereit sein:

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Code-Beispiele verwenden

Zusätzliches Material von (Code-Beispiele, Übungen usw.) steht unter https://github.com/shyamseshadri/angular-up-and-running zum Download bereit .

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.

Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Angular: Up and Running " von Shyam Seshadri (O'Reilly). Copyright 2018 Shyam Seshadri, 978-1-491-99983-7."

Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .

O'Reilly Safari

Hinweis

Safari (ehemals Safari Books Online) ist eine mitgliedschaftsbasierte Schulungs- und Nachschlageplattform für Unternehmen, Behörden, Lehrkräfte und Einzelpersonen.

Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos, Lernpfaden, interaktiven Tutorials und kuratierten Playlists von über 250 Verlagen, darunter O'Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett und Course Technology, um nur einige zu nennen.

Weitere Informationen erhältst du unter http://oreilly.com/safari.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter http://bit.ly/angularUR aufrufen .

Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an bookquestions@oreilly.com.

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://www.youtube.com/oreillymedia

Danksagungen

Dieses Buch ist meiner Frau Sanchita, meinen Eltern und meiner Großmutter gewidmet, die mein Fels in der Brandung waren und mich motiviert haben, dieses Buch so gut wie möglich zu schreiben, während ich gleichzeitig mein eigenes, noch junges Startup in seiner prekärsten Zeit (dem Anfang!) im Griff hatte.

Ich möchte mich auch bei meinen Lektoren Yakov Fain und Victor Mejia bedanken, die mein unbearbeitetes Geschwafel lesen und überprüfen mussten, um sicherzustellen, dass ich meinen Standpunkt möglichst knapp und verständlich dargelegt habe.

Dieses Buch wäre natürlich nicht möglich ohne das Vertrauen und die Bemühungen des großartigen Teams von O'Reilly, insbesondere von Angela und Kristen!

Und schließlich danke ich der großartigen Angular-Community für all ihre Beiträge, ihr Feedback und ihre Unterstützung und dafür, dass sie uns gezeigt hat, wie wir Angular nutzen und verbessern können.

Get Angular: Auf und davon now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.