Angular das umfassende Handbuch

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Höller, Christoph (VerfasserIn)
Format: Buch
Sprache:German
Veröffentlicht: Bonn Rheinwerk Computing 2022
Ausgabe:3., aktualisierte Auflage
Schlagworte:
Online-Zugang:Inhaltstext
Inhaltsverzeichnis
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

MARC

LEADER 00000nam a22000008c 4500
001 BV047860118
003 DE-604
005 20220315
007 t|
008 220302s2022 gw a||| |||| 00||| ger d
015 |a 21,N47  |2 dnb 
016 7 |a 1246096129  |2 DE-101 
020 |a 9783836282437  |c : EUR 39.90 (DE), EUR 41.10 (AT), CHF 49.90 (freier Preis)  |9 978-3-8362-8243-7 
024 3 |a 9783836282437 
035 |a (OCoLC)1304481504 
035 |a (DE-599)DNB1246096129 
040 |a DE-604  |b ger  |e rda 
041 0 |a ger 
044 |a gw  |c XA-DE-NW 
049 |a DE-20  |a DE-Aug4  |a DE-858  |a DE-19  |a DE-188  |a DE-706  |a DE-523  |a DE-573 
084 |a ST 250  |0 (DE-625)143626:  |2 rvk 
084 |8 1\p  |a 004  |2 23sdnb 
100 1 |a Höller, Christoph  |e Verfasser  |0 (DE-588)1124930485  |4 aut 
245 1 0 |a Angular  |b das umfassende Handbuch  |c Christoph Höller 
250 |a 3., aktualisierte Auflage 
264 1 |a Bonn  |b Rheinwerk Computing  |c 2022 
300 |a 1016 Seiten  |b Illustrationen 
336 |b txt  |2 rdacontent 
337 |b n  |2 rdamedia 
338 |b nc  |2 rdacarrier 
500 |a Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download 
650 0 7 |a Angular  |0 (DE-588)1183593139  |2 gnd  |9 rswk-swf 
650 0 7 |a Framework  |g Informatik  |0 (DE-588)4464685-9  |2 gnd  |9 rswk-swf 
650 0 7 |a AngularJS  |0 (DE-588)105899333X  |2 gnd  |9 rswk-swf 
650 0 7 |a JavaScript  |0 (DE-588)4420180-1  |2 gnd  |9 rswk-swf 
653 |a Angular-JS 
653 |a Single-Page-Applikationen 
653 |a ECMA-Script 
653 |a Mobile Apps 
653 |a Bootstrap 
653 |a Grundlagen 
653 |a Web-Entwicklung 
653 |a Webentwicklung 
653 |a HTTP-Anbindung 
653 |a Node.js Test CLI 
653 |a Web-Sockets 
653 |a Dependency-Injection 
653 |a RxJS 
653 |a Router 
653 |a Bücher lernen Kurse Tipps 
653 |a Tests 
653 |a Advanced 
689 0 0 |a JavaScript  |0 (DE-588)4420180-1  |D s 
689 0 1 |a Framework  |g Informatik  |0 (DE-588)4464685-9  |D s 
689 0 2 |a AngularJS  |0 (DE-588)105899333X  |D s 
689 0 |5 DE-604 
689 1 0 |a Angular  |0 (DE-588)1183593139  |D s 
689 1 |5 DE-604 
710 2 |a Rheinwerk Verlag  |0 (DE-588)1081738405  |4 pbl 
776 0 8 |i Erscheint auch als  |n Online-Ausgabe  |z 978-3-8362-8245-1 
856 4 2 |m X:MVB  |q text/html  |u http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm  |3 Inhaltstext 
856 4 2 |m DNB Datenaustausch  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA  |3 Inhaltsverzeichnis 
883 1 |8 1\p  |a vlb  |d 20211119  |q DE-101  |u https://d-nb.info/provenance/plan#vlb 
943 1 |a oai:aleph.bib-bvb.de:BVB01-033242751 

Datensatz im Suchindex

DE-19_call_number 1599/ST 250 J35 H694 A5(3)
DE-19_location 80
DE-BY-UBM_katkey 6272369
DE-BY-UBM_media_number 41636613630016
_version_ 1823048884329381888
adam_text AUF EINEN BLICK 1 ANGULAR-KICKSTART: IHRE ERSTE ANGULAR-WEBAPPLIKATION ...................... 31 2 DAS ANGULAR-CLI: PROFESSIONELLE PROJEKTORGANISATION FUER ANGULAR-PROJEKTE .................................................................................. 61 3 KOMPONENTEN UND TEMPLATING: DER ANGULAR-SPRACHKERN .................. 103 4 DIREKTIVEN: KOMPONENTEN OHNE EIGENES TEMPLATE ............................ 167 5 FORTGESCHRITTENE KOMPONENTEN-KONZEPTE ......................................... 185 6 STANDARDDIREKTIVEN UND PIPES: WISSEN, WAS DAS FRAMEWORK AN BORD HAT ........................................................................................... 233 7 SERVICES UND DEPENDENCY-INJECTIOM LOSE KOPPLUNG FUER IHRE BUSINESS-LOGIK ..................................................................................... 273 8 TEMPLATE-DRIVEN FORMS: EINFACHE FORMULARE AUF BASIS VON HTML ..... 307 9 REACTIVE FORMS: FORMULARE DYNAMISCH IN DER APPLIKATIONSLOGIK DEFINIEREN ............................................................................................ 355 10 ROUTING: NAVIGATION INNERHALB DER ANWENDUNG ................................. 397 11 HTTP: ANBINDUNG VON ANGULAR-APPLIKATIONEN AN EINEN WEBSERVER .... 457 12 REAKTIVE ARCHITEKTUREN MIT RXJS ........................................................... 489 13 KOMPONENTEN-UND UNIT-TESTS: DAS ANGULAR-TESTING-FRAMEWORK ..... 533 14 CYPRESS.-KOMFORTABLE INTEGRATIONSTESTS FUER IHRE ANWENDUNG ............ 581 15 NGMODULE UND LAZY-LOADING: MODULARISIERUNG IHRER ANWENDUNGEN ..................................................................................... 625 16 INTERNATIONALISIERUNG: MEHRSPRACHIGE ANGULAR-ANWENDUNGEN IMPLEMENTIEREN .................................................................................. 653 17 DAS ANIMATION-FRAMEWORK: ANGULAR-ANWENDUNGEN ANIMIEREN ....... 679 18 VOLLENDET IN FORM UND FUNKTION: MATERIAL DESIGN UND ANGULAR MATERIAL ............................................................................................... 709 19 NPM-LIBRARYS UND MONO-REPOS: FUNKTIONALITAET IN BIBLIOTHEKEN AUSLAGERN UND PER NPM VEROEFFENTLICHEN ............................................ 773 20 ANGULAR ELEMENTS: ANGULAR-KOMPONENTEN ALS WEBCOMPONENTS BEREITSTELLEN ......................................................................................... 805 21 DOCKER: DIE ANWENDUNG IM CONTAINER DEPLOYEN ............................... 829 22 SERVER-SIDE RENDERING: ANGULAR-ANWENDUNGEN AUF DEM SERVER RENDERN ................................................................................................ 851 INHALT MATERIALIEN ZUM BUCH ................................................................................................... 25 VORWORT .......................................................................................................................... 27 1 ANGULAR-KICKSTART: IHRE ERSTE ANGULAR-WEBAPPLIKATION 31 1.1 INSTALLATION DER BENOETIGTEN SOFTWARE ............................................................. 31 1.1.1 NODE.JS UND NPM .................................................................................. 31 1.1.2 VISUAL STUDIO CODE: EINE KOSTENLOSE ENTWICKLUNGSUMGEBUNG FUER TYPESCRIPT UND ANGULAR ................................................................... 32 1.1.3 ALTERNATIVE: WEBSTORM: PERFEKTE ANGULAR-UNTERSTUETZUNG .................. 32 1.2 HALLO ANGULAR .................................................................................................... 33 1.2.1 KOMPONENTEN KONFIGURIEREN ............................................................... 36 1.2.2 DIE KOMPONENTEN-KLASSE ..................................................................... 38 1.2.3 DAS APPLIKATIONSMODUL: DAS HAUPTMODUL DER ANWENDUNG KONFIGURIEREN ........................................................................................ 39 1.2.4 MAIN.TS: WAHL DER AUSFUEHRUNGSPLATTFORM UND START DES APPLIKATIONSMODULS ............................................................................. 41 1.2.5 INDEX.HTML: EINBINDEN DER BOOTSTRAP-KOMPONENTE UND START DER ANWENDUNG .......................................................................................... 41 1.3 DIE BLOGGING-ANWENDUNG ............................................................................... 43 1.3.1 START DER APPLIKATION ............................................................................ 46 1.3.2 EINIGE TIPPS ZUR FEHLERSUCHE ................................................................ 47 1.3.3 DIE FORMULAR-KOMPONENTE: DATEN AUS DER VIEW IN DIE KOMPONENTEN-KLASSE UEBERTRAGEN ........................................................ 48 1.3.4 DAS APPLIKATIONSMODELL ....................................................................... 50 1.3.5 DARSTELLUNG DER LISTE IN DER VIEW .......................................................... 53 1.3.6 MODULARISIERUNG DER ANWENDUNG ........................................................ 55 1.4 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 59 5 2 DAS ANGULAR-CLI: PROFESSIONELLE PROJEKTORGANISATION FUER ANGULAR-PROJEKTE 6I 2.1 DAS ANGULAR-CLI INSTALLIEREN ............................................................................ 62 2.2 NG NEW: EIN CRUNDGERUEST FUER DIE APPLIKATION ERSTELLEN .............................. 62 2.2.1 KONFIGURATIONSOPTIONEN FUER DIE PROJEKTGENERIERUNG ........................... 65 2.2.2 DAS GENERIERTE PROJEKT IM DETAIL ........................................................... 66 2.3 NG SERVE: DIE ANWENDUNG STARTEN .................................................................. 69 2.3.1 DIE PROXY-KONFIGURATION ....................................................................... 71 2.3.2 NG SERVE-DEFAULT-OPTIONEN UEBER DIE ANGULAR.JSON EINSTELLEN .............. 71 2.4 NPM START: START UEBER DIE LOKALE CLI-VERSION ................................................. 73 2.5 NG GENERATE: KOMPONENTEN GENERIEREN ........................................................ 74 2.5.1 KONFIGURATIONSOPTIONEN BEI DER KOMPONENTENGENERIERUNG ............... 76 2.5.2 WEITERE GENERATOREN ............................................................................ 77 2.6 NG UPDATE: ANGULAR UND WEITERE ABHAENGIGKEITEN AUF DIE NEUESTE VERSION UPDATEN ............................................................................................... 78 2.7 NG LINT: LINTING UND DER ANGULAR-STYLE-GUIDE ............................................... 80 2.8 KOMPONENTEN UND ENDE-ZU-ENDE-TESTS AUSFUEHREN ................................... 82 2.8.1 NGTEST: UNIT UND KOMPONENTEN-TESTS AUSFUEHREN ............................. 82 2.8.2 NGE2E: ENDE-ZU-ENDE-TESTS AUSFUEHREN ................................................ 84 2.9 CSS-PRAEPROZESSOREN VERWENDEN ..................................................................... 85 2.10 DRITTANBIETER-BIBLIOTHEKEN EINBINDEN ........................................................... 86 2.10.1 BIBLIOTHEKEN UEBER DIE INDEX.HTML EINBINDEN ....................................... 87 2.11 NG ADD: ANGULAR-SPEZIFISCHE ABHAENGIGKEITEN ZU IHRER ANWENDUNG HINZUFUEGEN ......................................................................................................... 87 2.12 NG BUILD: DEPLOYBARE BUILDS ERSTELLEN ............................................................ 90 2.12.1 KONFIGURATIONSOPTIONEN FUER DIE AUSFUEHRUNG DES BUILDS ...................... 90 2.13 CONFIGURATIONS: KONFIGURATION UNTERSCHIEDLICHER BUILD UND AUSFUEHRUNGSUMGEBUNGEN .............................................................................. 92 2.13.1 FILE-REPLACEMENTS: DATEIEN ABHAENGIG VON DER KONFIGURATION AUSTAUSCHEN .......................................................................................... 93 2.13.2 EIGENE BUILD-KONFIGURATIONEN ANLEGEN UND AKTIVIEREN ........................ 94 2.13.3 KONFIGURATIONEN FUER DEN NG SERVE-BEFEHL .............................................. 95 2.13.4 MEHRERE KONFIGURATIONEN FUER IHREN BUILD AKTIVIEREN ........................... 97 2.14 NG DEPLOY: DIE ANWENDUNG IM WEB DEPLOYEN .............................................. 97 2.14.1 PRAXISBEISPIEL: DEPLOYMENT AUF GITHUB PAGES ..................................... 98 2.15 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 101 6 3 KOMPONENTEN UND TEMPLATING: DER ANGULAR-SPRACHKERN 103 3.1 ETWAS THEORIE: DER ANGULAR-KOMPONENTEN-BAUM ....................................... 103 3.2 SELEKTOREN: VOM DOM-ELEMENT ZUR ANGULAR-KOMPONENTE ........................ 107 3.2.1 TAG-SELEKTOREN ..................................................................................... 107 3.2.2 ATTRIBUT-SELEKTOREN ............................................................................... 108 3.2.3 KLASSEN-SELEKTOREN ............................................................................... 109 3.2.4 NOT()-SELEKTOREN .................................................................................... 109 3.2.5 VERKNUEPFUNG VON SELEKTOREN ............................................................... 109 3.3 DIE TEMPLATING-SYNTAX: VERBINDUNG ZWISCHEN APPLIKATIONSLOGIK UND DARSTELLUNG ................................................................................................ 110 3.3.1 FALLBEISPIEL: TIMEPICKER-KOMPONENTE ................................................. 110 3.3.2 PROPERTY-BINDINGS ................................................................................. 111 3.3.3 SONDERFAELLE: ATTRIBUTE, KLASSEN UND STYLES SETZEN ................................. 114 3.3.4 INTERPOLATION: DARSTELLUNG VON WERTEN IM VIEW .................................. 116 3.3.5 EVENT-BINDINGS ..................................................................................... 117 3.3.6 TWO-WAY-DATA-BINDINGS MIT NGMODEL ............................................... 121 3.3.7 LOKALE TEMPLATE-VARIABLEN .................................................................. 123 3.3.8 DIE -TEMPLATING-MICROSYNTAX - NEUE DOM-ELEMENTE DYNAMISCH EINFUEGEN ............................................................................. 124 3.3.9 TEMPLATING-SYNTAX-SPICKZETTEL ............................................................ 128 3.4 KOMPONENTEN-SCHNITTSTELLEN DEFINIEREN: VON DER EINZELNEN KOMPONENTE ZUR VOLLSTAENDIGEN APPLIKATION ................................................ 129 3.4.1 INPUT-BINDINGS: WERTE IN IHRE KOMPONENTEN HINEINREICHEN ............... 129 3.4.2 OUTPUT-BINDINGS: ANDERE KOMPONENTEN UEBER DATENAENDERUNGEN INFORMIEREN ........................................................................................... 134 3.4.3 TWO-WAY-DATA-BINDINGS: SYNTAKTISCHER ZUCKER FUER IHRE KOMPONENTEN-SCHNITTSTELLE ................................................................. 136 3.4.4 NGONCHANGES: AUF AENDERUNGEN VON BINDINGS REAGIEREN .................... 137 3.4.5 LOKALE KOMPONENTEN-VARIABLEN: ZUGRIFF AUF DIE API IHRER KIND-ELEMENTE IM HTML-CODE ............................................................. 139 3.5 VIEWCHILDREN: ZUGRIFF AUF KIND-ELEMENTE AUS DER KOMPONENTEN-KLASSE ...................................................................................... 140 3.6 CONTENT-INSERTION: DYNAMISCHE KOMPONENTEN-HIERARCHIEN ERSTELLEN ..... 143 3.6.1 EINFACHEN HTML-CODE INJIZIEREN .......................................................... 143 3.6.2 CONTENTCHILDREN: ERZEUGUNG VON DYNAMISCHEN KOMPONENTEN-BAEUMEN AM BEISPIEL EINER TABS-KOMPONENTE ............ 149 3.7 DER LEBENSZYKLUS EINER KOMPONENTE ............................................................ 153 3.7.1 DER KONSTRUKTOR: INSTANZIIERUNG DER KOMPONENTE ............................... 156 7 3.7.2 NGONLNIT: INITIALISIERUNG DER EIGENEN KOMPONENTE ............................. 157 3.7.3 NGONCHANGES: AUF AENDERUNGEN REAGIEREN ........................................... 158 3.7.4 NGAFTERCONTENTLNIT: AUF DIE INITIALISIERUNG VON CONTENT-CHILDREN REAGIEREN ................................................................................................ 159 3.7.5 NGAFTERVIEWINIT: AUF DIE INITIALISIERUNG VON VIEWCHILDREN REAGIEREN ................................................................................................ 159 3.7.6 NGONDESTROY: AUFRAEUMARBEITEN VORNEHMEN ...................................... 160 3.7.7 NGAFTERCONTENTCHECKED, NGAFTERVIEWCHECKED: DEN CHANGEDETECTION-MECHANISMUS VERFOLGEN ......................................... 161 3.7.8 NGDOCHECK: DEN CHANGEDETECTION-MECHANISMUS VERAENDERN ............ 162 3.8 ZUSAMMENFASSUNG UND AUSBLICK ..................................................................... 164 4 DIREKTIVEN: KOMPONENTEN OHNE EIGENES TEMPLATE 167 4.1 ELEMENTREF UND RENDERER2: MANIPULATION VON DOM-EIGENSCHAFTEN EINES ELEMENTS ................................................................................................... 168 4.1.1 DIE RENDERER2-KLASSE: DAS NATIVE ELEMENT PLATTFORMUNABHAENGIG MANIPULIEREN ......................................................................................... 171 4.2 HOSTBINDING UND HOSTLISTENER: AUSLESEN UND VERAENDERN VON HOST-EIGENSCHAFTEN UND -EVENTS ..................................................................... 172 4.3 ANWENDUNGSFALL: EINBINDEN VON DRITTANBIETER-BIBLIOTHEKEN .................... 174 4.3.1 TWO-WAY-DATA-BINDINGFUERDIE SLIDER-KOMPONENTE ............................ 177 4.4 ANWENDUNGSFALL: ACCORDION-DIREKTIVE - MEHRERE KIND-KOMPONENTEN STEUERN ................................................................................................................ 178 4.5 EXPORTAS: ZUGRIFF AUF DIE SCHNITTSTELLE EINER DIREKTIVE ............................... 181 4.6 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 183 5 FORTGESCHRITTENE KOMPONENTEN-KONZEPTE ISS 5.1 STYLING VON ANGULAR-KOMPONENTEN ............................................................... 185 5.1.1 STYLES AN DER KOMPONENTE DEFINIEREN .................................................. 186 5.1.2 VIEWENCAPSULATION - STRATEGIEN ZUM KAPSELN IHRER STYLES ................. 187 5.2 TEMPLATEREF UND NGTEMPLATEOUTLET: DYNAMISCHES AUSTAUSCHEN VON KOMPONENTEN-TEMPLATES ........................................................................ 196 5.2.1 NGFOR MIT ANGEPASSTEN TEMPLATES VERWENDEN ................................... 197 8 5.2.2 NGTEMPLATEOUTLET: ZUSAETZLICHE TEMPLATES AN DIE KOMPONENTE UEBERGEBEN ............................................................................................. 200 5.3 VIEWCONTAINERREF: KOMPONENTEN ZUR LAUFZEIT HINZUFUEGEN ...................... 204 5.3.1 VIEWCONTAINERREF: KOMPONENTEN ZUR LAUFZEIT HINZUFUEGEN ............... 204 5.3.2 COMPONENTREF: INTERAKTION MIT DER DYNAMISCH ERZEUGTEN KOMPONENTE ......................................................................................... 206 5.3.3 KOMPONENTEN AN EINER BESTIMMTEN STELLE EINFUEGEN .......................... 207 5.3.4 KOMPONENTEN INNERHALB DES VIEWCONTAINERS VERSCHIEBEN UND LOESCHEN .................................................................................................. 207 5.3.5 CREATEEMBEDDEDVIEW: EIGENE STRUKTURELLE DIREKTIVEN IMPLEMENTIEREN .................................................................................... 209 5.4 NGCOMPONENTOUTLET: DYNAMISCH ERZEUGTE KOMPONENTEN NOCH EINFACHER VERWALTEN ......................................................................................... 213 5.4.1 UEBERGABE VON DYNAMISCHEN EIGENSCHAFTEN AN NGCOMPONENTOUTLET ............................................................................ 214 5.5 CHANGEDETECTION-STRATEGIEN: PERFORMANCE-BOOST FUER IHRE APPLIKATION .... 217 5.5.1 DIE BEISPIELAPPLIKATION ......................................................................... 218 5.5.2 VERAENDERUNGEN DES APPLIKATIONSSTATUS .............................................. 221 5.5.3 CHANGEDETECTION-STRATEGIEN: OPTIMIERUNG DES STANDARDVERHALTENS .............................................................................. 224 5.5.4 CHANGEDETECTORREF: DIE VOLLSTAENDIGE KONTROLLE UEBER DEN CHANGEDETECTOR .................................................................................... 227 5.6 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 230 6 STANDARDDIREKTIVEN UND PIPES: WISSEN, WAS DAS FRAMEWORK AN BORD HAT 233 6.1 STANDARDDIREKTIVEN .......................................................................................... 234 6.1.1 NGLF: ELEMENTE ABHAENGIG VON BEDINGUNGEN DARSTELLEN ....................... 235 6.1.2 NGSWITCH: SWITCH-CASE-VERHALTEN IMPLEMENTIEREN ............................ 236 6.1.3 NGCLASS: CSS-KLASSEN DYNAMISCH HINZUFUEGEN UND ENTFERNEN ............ 237 6.1.4 NGSTYLE: DAS STYLE-ATTRIBUT MANIPULIEREN ............................................ 241 6.1.5 NGFOR: KOMFORTABEL UEBER LISTEN ITERIEREN ............................................ 241 6.1.6 NGNONBINDABLE-AUSWERTUNG DURCH DIE TEMPLATING-SYNTAX VERHINDERN ............................................................................................. 246 6.2 PIPES: WERTE VOR DEM RENDERN TRANSFORMIEREN ........................................... 247 6.2.1 UPPERCASEPIPE UND LOWERCASEPIPE: STRINGS TRANSFORMIEREN .............. 247 6.2.2 DIE SLICEPIPE: NUR BESTIMMTE BEREICHE VON ARRAYS UND STRINGS DARSTELLEN .............................................................................................. 248 9 6.2.3 DIE JSON-PIPE: JAVASCRIPT-OBJEKTE ALS STRING AUSGEBEN ...................... 250 6.2.4 KEYVALUEPIPE: UEBER OBJEKTE UND MAPS ITERIEREN ................................. 251 6.2.5 DECIMALPIPE: ZAHLENWERTE FORMATIEREN ............................................... 253 6.2.6 KURZEXKURS: LOKALISIERBARE PIPES-WERTE DER AKTUELLEN SPRACHE ENTSPRECHEND FORMATIEREN .................................................................... 254 6.2.7 DATEPIPE: DATUMS UND ZEITWERTE DARSTELLEN ...................................... 255 6.2.8 PERCENT UND CURRENCYPIPE: PROZENT UND WAEHRUNGSWERTE FORMATIEREN ........................................................................................... 258 6.2.9 DIE ASYNCPIPE: AUF ASYNCHRONE WERTE WARTEN ..................................... 259 6.2.10 PIPES IM KOMPONENTEN-CODE VERWENDEN ........................................... 262 6.2.11 EIGENE PIPES IMPLEMENTIEREN ............................................................... 263 6.2.12 PUREVS.LMPURE PIPES: PIPE, AENDERE DICH! ............................................. 267 6.3 ZUSAMMENFASSUNG UND AUSBLICK ..................................................................... 270 7 SERVICES UND DEPENDENCY-INJECTION: LOSE KOPPLUNG FUER IHRE BUSINESS-LOGIK 273 7.1 GRUNDLAGEN DER DEPENDENCY-INJECTION .......................................................... 274 7.2 SERVICES IN ANGULAR-APPLIKATIONEN ................................................................. 276 7.3 DAS ANGULAR-DEPENDENCY-INJECTION-FRAMEWORK ......................................... TTI 7.3.1 INJECTOR UND PROVIDER-KONFIGURATION: DAS HERZ DER DI ......................... 278 7.3.2 VEREINFACHUNGEN BEI DER PROVIDER-DEFINITION ...................................... 280 7.3.3 DEN @LNJECT-DECORATOR VERMEIDEN ...................................................... 281 7.3.4 DER @LNJECTABLE-DECORATOR: TYPESCRIPT-OPTIMIERTE INJEKTION IN SERVICES .............................................................................................. 282 7.3.5 MEMBER-INJECTION: AUTOMATISCHE ERZEUGUNG VON MEMBERVARIABLEN .................................................................................. 283 7.4 WEITERE PROVIDER-FORMEN ................................................................................ 284 7.4.1 INJECTION-TOKENS: KOLLISIONSFREIE DEFINITION VON DL-SCHLUESSELN ........... 286 7.5 DER HIERARCHISCHE INJECTOR-BAUM: VOLLE FLEXIBILITAET BEI DER DEFINITION IHRER ABHAENGIGKEITEN ....................................................................................... 288 7.5.1 DER INJECTOR-BAUM ................................................................................. 288 7.5.2 REGISTRIERUNG VON GLOBALEN SERVICES: DER USERSERVICE .......................... 290 7.5.3 REGISTRIEREN VON KOMPONENTEN-BEZOGENEN SERVICES: MUSICSEARCHSERVICE UND VIDEOSEARCHSERVICE ........................................ 292 7.6 TREESHAKABLE-PROVIDERS: DER DL-MECHANIMUS AUF DEN KOPF GESTELLT ........ 296 10 7.7 SICHTBARKEIT UND LOOKUP VON DEPENDENCYS .................................................. 297 7.7.1 SICHTBARKEIT VON PROVIDERN BESCHRAENKEN .............................................. 298 7.7.2 DEN LOOKUP VON ABHAENGIGKEITEN BEEINFLUSSEN .................................... 300 7.8 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 304 8 TEMPLATE-DRIVEN FORMS: EINFACHE FORMULARE AUF BASIS VON HTML 307 8.1 GRUNDLAGEN ZU FORMULAREN: TEMPLATE-DRIVEN ODER REAKTIV? ...................... 308 8.2 DAS ERSTE FORMULAR: UEBERSICHT UEBER DIE FORMS-API ...................................... 309 8.2.1 EINBINDEN DES FORMULAR-MODULS .......................................................... 309 8.2.2 IMPLEMENTIERUNG DES ERSTEN FORMULAR-PROTOTYPS ............................... 310 8.2.3 NGMODEL, NGFORM, FORMCONTROL UND FORMGROUP: DIE WICHTIGSTEN BESTANDTEILE DER FORMS-API ........................................ 314 8.3 NGMODEL IM DETAIL: TWO-WAY-DATA-BINDING ODER NICHT? ........................... 315 8.3.1 ONE-WAY-BINDING MIT NGMODEL .......................................................... 315 8.4 KURZEXKURS: VERWENDUNG VON INTERFACES FUER DIE DEFINITION DES APPLIKATIONSMODELLS ........................................................................................ 319 8.5 WEITERE EINGABEELEMENTE .............................................................................. 322 8.5.1 AUSWAHLLISTEN ....................................................................................... 322 8.5.2 CHECKBOXEN .......................................................................................... 327 8.5.3 RADIO-BUTTONS ....................................................................................... 327 8.6 VERSCHACHTELTE EIGENSCHAFTEN DEFINIEREN ..................................................... 328 8.6.1 VERSCHACHTELTE EIGENSCHAFTEN MIT NGMODELGROUP ............................ 328 8.7 VALIDIERUNGEN .................................................................................................. 330 8.7.1 VOM FRAMEWORK MITGELIEFERTE VALIDIERUNGSREGELN ............................. 330 8.7.2 VALIDIERUNGEN IM FORMULAR DARSTELLEN ................................................. 331 8.7.3 IMPLEMENTIERUNG EINER GENERISCHEN SHOWERROR-KOMPONENTE ........... 334 8.7.4 EIGENE VALIDIERUNGSREGELN DEFINIEREN .................................................. 338 8.7.5 ASYNCHRONE VALIDIERUNGEN ................................................................... 341 8.7.6 FELDUEBERGREIFENDE VALIDIERUNGEN ........................................................ 345 8.8 IMPLEMENTIERUNG DER TAGS-LISTE: WIEDERHOLBARE STRUKTUREN MIT TEMPLATE-DRIVEN FORMS ................................................................................... 347 8.9 UPDATEON: STEUERN, WANN AENDERUNGEN UEBERNOMMEN WERDEN ................. 351 8.10 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 352 11 9 REACTIVE FORMS: FORMULARE DYNAMISCH IN DER APPLIKATIONSLOGIK DEFINIEREN 355 9.1 AKTIVIERUNG VON REACTIVE FORMS FUER IHRE APPLIKATION ................................. 356 9.2 DAS TASK-FORMULAR IM REAKTIVEN ANSATZ ........................................................ 356 9.2.1 DEFINITION DES FORMULARS IM TYPESCRIPT-CODE ...................................... 357 9.2.2 VERKNUEPFUNG DES FORMULARS MIT DEM HTML-CODE .............................. 358 9.2.3 FORMARRAY IM DETAIL: WIEDERHOLBARE STRUKTUREN DEFINIEREN ............... 360 9.2.4 VERBINDUNG DES FORMULARS MIT DEM APPLIKATIONSMODELL .................... 364 9.2.5 DER FORMBUILDER: KOMFORTABLE DEFINITION VON FORMULAREN ................. 368 9.2.6 VALIDIERUNGEN VON REACTIVE FORMS ....................................................... 369 9.2.7 UPDATEON IN REACTIVE FORMS ................................................................. 376 9.3 FORMULARE UND KONTROLLELEMENTE AUF AENDERUNGEN UEBERWACHEN .............. 377 9.4 FALLBEISPIEL: UMFRAGEBOGEN - FORMULARE KOMPLETT DYNAMISCH DEFINIEREN ........................................................................................................... 378 9.5 CONTROLVALUEACCESSOR: EIGENE EINGABEELEMENTE FUER DIE FORMS-API IMPLEMENTIEREN ................................................................................................ 385 9.5.1 DAS NEUE EINGABEELEMENT BEI DER FORMS-API REGISTRIEREN .................. 387 9.5.2 WRITEVALUE UND REGISTERONCHANGE: WERTE VON DER FORMS-API EMPFANGEN UND AN DIE FORM-API PROPAGIEREN ..................................... 387 9.5.3 VERWENDUNG DES NEUEN EINGABEELEMENTS IN FORMULAREN .................. 388 9.5.4 REGISTERONTOUCHED: DEN TOUCHED-STATUS NACH AUSSEN PROPAGIEREN ........................................................................................... 391 9.5.5 SETDISABLEDSTATE: DEN DISABLED-STATUS IHRES EINGABEELEMENTS VERWALTEN .............................................................................................. 393 9.6 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 394 10 ROUTING: NAVIGATION INNERHALB DER ANWENDUNG 397 10.1 PROJECT-MANAGER: DIE BEISPIELANWENDUNG ................................................... 398 10.2 DIE ERSTE ROUTENKONFIGURATION: DAS ROUTING-FRAMEWORK EINRICHTEN ....... 399 10.2.1 ROUTEROUTLET: FESTLEGEN, WO DER INHALT VON ROUTEN DARGESTELLT WERDEN SOLL ............................................................................................ 402 10.3 LOCATION-STRATEGIEN: SCHOENE URLS VS. ROUTING OHNE SERVER-KONFIGURATION ..................................................................................... 404 10.3.1 PATHLOCATION-STRATEGIE: SCHOENE URLS ................................................... 404 10.3.2 HASHLOCATION-STRATEGIE: ROUTING OHNE AUFWENDIGE KONFIGURATION ..... 406 12 10.4 CHILDROUTES: VERSCHACHTELTE ROUTENKONFIGURATIONEN ERSTELLEN ................ 407 10.4.1 COMPONENTLESS ROUTES: ROUTENDEFINITIONEN OHNE EIGENE KOMPONENTE ......................................................................................... 410 10.4.2 RELATIVE LINKS ......................................................................................... 412 10.5 ROUTERLINKACTIVE: STYLING DES AKTIVEN LINKS ................................................. 413 10.5.1 ROUTERLINKACTIVEOPTIONS: EXAKT ODER NICHT? ........................................ 414 10.5.2 ISACTIVECHANGE: AUF DAS AKTIVIEREN EINES LINKS REAGIEREN ................... 415 10.6 ROUTING-PARAMETER: DYNAMISCHE ADRESSZEILENPARAMETER AUSWERTEN ...... 416 10.6.1 PFAD-PARAMETER: PFLICHT-PARAMETER IN ROUTEN DEFINIEREN .................... 416 10.6.2 SNAPSHOTS: STATISCH AUF PARAMETERWERTE ZUGREIFEN ............................. 419 10.6.3 MATRIX-PARAMETER: OPTIONALE PARAMETER .............................................. 420 10.6.4 QUERY-PARAMETER: OPTIONALE PARAMETER UNABHAENGIG VOM SEGMENT DEFINIEREN .............................................................................. 424 10.6.5 FRAGMENTBEZEICHNER ............................................................................ 425 10.7 AUS DER ANWENDUNGSLOGIK HERAUS NAVIGIEREN ............................................. 427 10.7.1 DIE NAVIGATE-METHODE: NAVIGATION AUF BASIS DER ROUTING-DSL ........... 427 10.7.2 NAVIGATEBYLLRL: NAVIGATION AUF BASIS VON URLS .................................... 429 10.8 ROUTING-GUARDS: ROUTEN ABSICHERN UND DIE NAVIGATION GENERISCH BEEINFLUSSEN ...................................................................................................... 429 10.8.1 CANACTIVATE: ROUTEN ABSICHERN ............................................................ 430 10.8.2 CANACTIVATECHILD ................................................................................. 433 10.8.3 CANDEACTIVATE: DAS VERLASSEN EINER ROUTE VERHINDERN ........................ 434 10.9 REDIRECTS UND WILDCARD-URLS .......................................................................... 436 10.9.1 ABSOLUTE REDIRECTS ................................................................................ 436 10.9.2 RELATIVE REDIRECTS ................................................................................. 437 10.9.3 WILDCARD-URLS: PLATZHALTER-ROUTEN DEFINIEREN .................................... 438 10.10 DATA: STATISCHE METADATEN AN ROUTEN HINTERLEGEN .................................... 439 10.11 RESOLVE: DYNAMISCHE DATEN UEBER DEN ROUTER INJIZIEREN ............................... 439 10.11.1 VERWENDUNG EINER RESOLVE-FUNKTION ANSTELLE EINER RESOLVER-KLASSE .... 441 10.12 DER TITLE-SERVICE: DEN SEITENTITEL VERAENDERN ................................................ 442 10.13 ROUTER-TREE UND ROUTER-EVENTS: GENERISCH AUF SEITENWECHSEL REAGIEREN 444 10.13.1 DER EVENTS-STREAM: BEI SEITENWECHSELN INFORMIERT WERDEN ............... 444 10.13.2 DER ROUTER-TREE: DEN AKTUELLEN ROUTER-BAUM DURCHLAUFEN ................ 445 10.14 LOCATION: DIREKTE INTERAKTION MIT DER ADRESSZEILE DES BROWSERS ............... 447 10.15 MEHRERE ROUTEROUTLETS: MAXIMALE FLEXIBILITAET BEIM ROUTING .................... 449 10.15.1 ZUSAETZLICHE OUTLETS: EIN CHAT-FENSTER EINBLENDEN .............................. 449 10.15.2 KOMPLEXERE OUTLET-KONFIGURATIONEN: EINE TASK-SCHNELLANSICHT ......... 452 10.16 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 455 13 11 HTTP: ANBINDUNG VON ANGULAR-APPLIKATIONEN AN EINEN WEBSERVER 457 11.1 DIE SERVER-APPLIKATION ..................................................................................... 458 11.1.1 DIEJSON-SERVER-BIBLIOTHEK ..................................................................... 459 11.2 DAS ANGULAR-HTTP-MODUL VERWENDEN ........................................................... 462 11.3 DER ERSTE GET-REQUEST: GRUNDLAGEN ZUR HTTP-API ........................................ 462 11.3.1 AUF FEHLER REAGIEREN .............................................................................. 464 11.4 ASYNCHRONE SERVICE-SCHNITTSTELLEN MODELLIEREN: ANPASSUNG DES TASKSERVICE ......................................................................................................... 466 11.4.1 OBSERVABLES STATT CALLBACKS: DATEN REAKTIV VERWALTEN ....................... 466 11.5 DIE ASYNCPIPE: NOCH ELEGANTER MIT ASYNCHRONEN DATEN ARBEITEN ............. 468 11.6 HTTPPARAMS: ELEGANT DYNAMISCHE SUCHEN DEFINIEREN ................................. 469 11.7 DIE OBSERVE-EIGENSCHAFT: DIE KOMPLETTE HTTPRESPONSE AUSWERTEN ......... 472 11.8 POST, PUT, DELETE, PATCH UND HEAD: VERWENDUNG DER WEITEREN HTTP-METHODEN ................................................................................................ 474 11.8.1 HTTP-POST: NEUE TASKS ANLEGEN .......................................................... 474 11.8.2 HTTP-PUT: BESTEHENDE TASKS EDITIEREN ............................................... 476 11.8.3 HTTP-DELETE: TASKS LOESCHEN ................................................................. 477 11.8.4 GENERISCHE ANFRAGEN: DIE REQUEST-METHODE .................................... 478 11.8.5 HTTP-PATCH: TASKS PARTIELL VERAENDERN ................................................. 480 11.8.6 HTTP-HEAD: DER KLEINE BRUDER VON GET ............................................... 481 11.9 JSONP .................................................................................................................. 482 11.9.1 DIEJSONP-METHODE ............................................................................... 484 11.10 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 486 12 REAKTIVE ARCHITEKTUREN MIT RXJS 489 12.1 KURZEINFUEHRUNG IN RXJS .................................................................................... 490 12.1.1 OBSERVABLES UND OBSERVER-FUNCTIONS: DIE KERNELEMENTE DER REAKTIVEN PROGRAMMIERUNG .................................................................. 490 12.1.2 SUBSCRIPTIONS, DER TAKEUNTIL-OPERATOR UND DISPOSING-FUNCTIONS: OBSERVABLES SAUBER BEENDEN ................................................................ 492 12.1.3 SUBJECTS: MULTICAST-FUNKTIONALITAET AUF BASIS VON RXJS ......................... 496 12.2 IMPLEMENTIERUNG EINER TYPEAHEAD-SUCHE .................................................... 498 12.2.1 MERGEMAP: VERSCHACHTELTE OBSERVABLES VERBINDEN ............................. 502 14 12.2.2 SWITCHMAP: NUR DIE AKTUELLSTEN ERGEBNISSE VERARBEITEN ..................... 503 12.2.3 MERGE: MEHRERE STREAMS VEREINEN ....................................................... 504 12.3 REAKTIVE DATENARCHITEKTUREN IN ANGULAR-APPLIKATIONEN ............................ 507 12.3.1 SHARED SERVICES: DER ERSTE SCHRITT IN DIE RICHTIGE RICHTUNG ................... 509 12.3.2 DIE NEUE DATENARCHITEKTUR: PUSH STATT PULL .................................. 511 12.3.3 UMSETZUNG DES NEUEN KONZEPTS IN ANGULAR ........................................ 514 12.3.4 ANBINDUNG DER TASKLISTCOMPONENT AN DEN STORE ............................... 521 12.3.5 DER IN BEARBEITUNG-ZAEHLER ................................................................ 523 12.4 ANBINDUNG VON WEBSOCKETS ZUR IMPLEMENTIERUNG EINER ECHTZEITANWENDUNG ......................................................................................... 524 12.4.1 DER WEBSOCKET-SERVER .......................................................................... 525 12.4.2 INTEGRATION VON SOCKET.LO IN DIE ANWENDUNG ...................................... 527 12.4.3 VERWENDUNG VON SOCKET.LO IM TASKSERVICE .......................................... 528 12.5 CHANGEDETECTIONSTRATEGY.ONPUSH: PERFORMANCE-SCHUB DURCH DIE REAKTIVE ARCHITEKTUR .................................................................................. 530 12.6 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 531 13 KOMPONENTEN UND UNIT-TESTS: DAS ANGULAR-TESTING-FRAMEWORK 533 13.1 KARMA UND JASMINE: GRUNDLAGEN ZU UNIT UND KOMPONENTEN-TESTS IN ANGULAR-ANWENDUNGEN ............................................................................... 534 13.1.1 KARMA EINRICHTEN .................................................................................. 534 13.2 DER ERSTE UNIT-TEST: EINFACHE KLASSEN UND FUNKTIONEN TESTEN ................... 537 13.2.1 DIE TESTAUSFUEHRUNG STARTEN ................................................................. 540 13.2.2 NUR BESTIMMTE TESTS AUSFUEHREN ........................................................... 541 13.3 ISOLIERTE KOMPONENTEN TESTEN: GRUNDLAGEN ZU KOMPONENTEN-TESTS MIT DEM ANGULAR-TESTING-FRAMEWORK ........................................................... 543 13.3.1 DIE ZU TESTENDE KOMPONENTE ............................................................... 543 13.3.2 TESTBED, COMPONENTFIXTURE & CO: KONFIGURATION DES TESTMODULS UND ERZEUGUNG VON TEST-KOMPONENTEN .............................................. 545 13.3.3 NATIVEELEMENT UND DETECTCHANGE: MIT DEM DOM-BAUM DER KOMPONENTE INTERAGIEREN ..................................................................... 547 13.4 MOCKS UND SPIES: KOMPONENTEN MIT ABHAENGIGKEITEN TESTEN ................... 549 13.4.1 EIGENE MOCKS FUER DIE SIMULATION VON SERVICES BEREITSTELLEN ................ 550 13.4.2 TESTBED.INJECT: ZUGRIFF AUF DIE IM TESTKONTEXTVORHANDENEN SERVICES .................................................................................................. 552 15 13.4.3 SPYON: DAS VERHALTEN VON FUNKTIONEN MANIPULIEREN .......................... 553 13.4.4 SPIES: AUSGEHENDE AUFRUFE UEBERWACHEN, MANIPULIEREN UND AUSWERTEN .................................................................................... 553 13.5 SERVICES UND HTTP-BACKENDS TESTEN ............................................................... 555 13.6 FORMULARE TESTEN ............................................................................................... 560 13.6.1 REACTIVE FORMS: FORMULARE DIREKT UEBER DIE API TESTEN ......................... 560 13.6.2 TEMPLATE-DRIVEN FORMS: GENERIERTE FORMULARE UEBER DIE FORMS-API TESTEN ................................................................................... 562 13.6.3 FORMULARE UEBER DIE OBERFLAECHE TESTEN ................................................. 564 13.7 DIREKTIVEN UND NGCONTENT-KOMPONENTEN TESTEN ........................................ 566 13.7.1 OVERRIDECOMPONENT UND COMPILECOMPONENTS: KOMPONENTEN-TEMPLATES FUER DEN TEST UEBERSCHREIBEN ........................ 568 13.8 WAITFORASYNC UND FAKEASYNC: MEHR KONTROLLE UEBER ASYNCHRONE TESTS .... 569 13.8.1 WAITFORASYNC: AUTOMATISCH AUF ASYNCHRONE AUFRUFE WARTEN .............. 569 13.8.2 FAKEASYNC: KOMPLEXERE ASYNCHRONE SZENARIEN STEUERN ....................... 571 13.9 ROUTING-FUNKTIONALITAET TESTEN ........................................................................ 572 13.9.1 MANIPULATION VON ROUTER-DIENSTEN IM KOMPONENTEN-TEST ............... 573 13.9.2 AUSFUEHRUNG ECHTER NAVIGATIONSVORGAENGE ............................................ 574 13.10 DIE TESTS AUF IHREM BUILD-SERVER AUSFUEHREN ................................................. 576 13.11 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 577 14 CYPRESS: KOMFORTABLE INTEGRATIONSTESTS FUER IHRE ANWENDUNG SSI 14.1 CYPRESS ZUM PROJEKT HINZUFUEGEN UND AUSFUEHREN ......................................... 582 14.2 CYPRESS LOKAL UND AUF IHREM BUILD-SERVER AUSFUEHREN .................................. 583 14.2.1 DER INTERAKTIVE MODUS: SEHEN, WAS PASSIERT ........................................ 583 14.2.2 DER HEADLESS-MODUS: PERFEKTE INTEGRATION IN IHR BUILD-SYSTEM .......... 586 14.3 CYPRESS KONFIGURIEREN ..................................................................................... 587 14.3.1 MEHRERE KONFIGURATIONSDATEIEN VERWENDEN ....................................... 590 14.3.2 UEBERSCHREIBEN VON KONFIGURATIONSOPTIONEN UEBER COMMANDLINE-PARAMETER ..................................................................... 590 14.4 CYPRESS-CRUNDLAGEN: IHRE ERSTEN EIGENEN CYPRESS-TESTS ............................ 590 14.4.1 TEST-STRUKTUR ......................................................................................... 591 14.4.2 ERWARTUNGEN (ASSERTIONS) ..................................................................... 592 14.4.3 CYPRESS-KOMMANDOS, DAS CHAINABLE-INTERFACE UND DAS GLOBALE CY-OBJEKT .................................................................................. 592 16 14.5 SELEKTOREN, INTERAKTION MIT ELEMENTEN UND WEITERE ASSERTION-TYPEN: DEN TASKS-BEREICH TESTEN ................................................................................. 594 14.5.1 CY.GET UND CY.ITS: AUF DOM-ELEMENTE UND DEREN EIGENSCHAFTEN ZUGREIFEN ............................................................................................... 594 14.5.2 TYPE UND CLICK: INTERAKTION MIT DOM-ELEMENTEN ................................. 596 14.5.3 TASKS ERZEUGEN: TEST DER FORMULARFUNKTIONALITAET UND DES SEITENWECHELS ....................................................................................... 598 14.6 CY.ON: AUF BROWSER-EVENTS REAGIEREN ............................................................. 601 14.7 INTERCEPT: REST-REQUESTS UNTERSUCHEN UND MANIPULIEREN ........................... 602 14.7.1 MANIPULATION VON ANTWORTEN MITHILFE VON FIXTURE-DATEIEN ................ 603 14.7.2 AUF REST-ANFRAGEN WARTEN: EINE BESSERE LOESUNG FUER WAIT() ................ 604 14.7.3 REST-ANFRAGEN UND -ANTWORTEN UNTERSUCHEN ..................................... 605 14.8 CUSTOM COMMANDS: DEN FUNKTIONSUMFANG VON CYPRESS MIT EIGENEN KOMMANDOS DYNAMISCH ERWEITERN ................................................. 609 14.8.1 DEFINIEREN VON TYPESCRIPT-TYPINGS FUER IHRE EIGENEN KOMMANDOS ...... 610 14.9 SCREENSHOTS UND VIDEO-RECORDINGS: SEHEN, WAS SCHIEFLAEUFT ...................... 612 14.9.1 AUTOMATISCHE UND MANUELLE SCREENSHOTS IHRER TESTS ......................... 612 14.9.2 VIDEO-RECORDINGS IHRER TESTAUSFUEHRUNG .............................................. 614 14.10 DEBUGGING VON CYPRESS-TESTS ........................................................................ 615 14.10.1 VERWENDUNG DES SCHLUESSELWORTS DEBUGGER ........................................ 615 14.10.2 VERWENDUNG DES DEBUG-KOMMANDOS ................................................. 616 14.10.3 DIE TESTAUSFUEHRUNG SCHRITTWEISE DURCHLAUFEN: DAS PAUSE-KOMMANDO ......................................................................... 618 14.11 DIE CYPRESS-BEISPIELE ALS DOKUMENTATION NUTZEN ....................................... 619 14.12 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 621 15 NGMODULE UND LAZY-LOADING: MODULARISIERUNG IHRER ANWENDUNGEN 625 15.1 FEATURE-MODULE: TEILBEREICHE DER APPLIKATION KAPSELN ............................. 626 15.1.1 FEATURE-MODULE: DEN AUFGABENBEREICH MODULARISIEREN ..................... 628 15.1.2 DAS COMMON-MODUL: IMPORT VON ANGULAR-STANDARDFUNKTIONALITAET ... 629 15.1.3 ROUTING IN FEATURE-MODULEN: DIE ROUTING-KONFIGURATION MODULARISIEREN ..................................................................................... 629 15.1.4 ANPASSUNGEN AM APPROUTINGMODULE UND INTEGRATION DES FEATURE-MODULS .................................................................................... 630 17 15.2 SHARED-MODULES: GEMEINSAM GENUTZTE FUNKTIONALITAET KAPSELN ............... 634 15.2.1 BOILERPLATE-CODE DURCH SHARED-MODULE VERMEIDEN ............................. 637 15.3 MODULE PER COMPONENT: DAS HOECHSTE LEVEL AN MODULARISIERUNG .............. 638 15.4 SERVICES UND MODULARISIERUNG ......................................................................... 640 15.4.1 SERVICES IN FEATURE-MODULEN REGISTRIEREN ............................................ 641 15.4.2 STOLPERFALLEN BEIM BEREITSTELLEN VON SERVICES UEBER SHARED-MODULE ...................................................................................... 642 15.4.3 MODULEWITHPROVIDERS: INDIVIDUALISIERTE MODULE JE NACH EINSATZORT - EIGENE FORROOT ODER FORCHILD-MODULE DEFINIEREN ........... 643 15.5 LAZY-LOADING VON APPLIKATIONSBESTANDTEILEN ............................................... 647 15.5.1 PRELOADING VON FEATURE-MODULEN: DAS BESTE AUS BEIDEN WELTEN ....... 650 15.6 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 651 16 INTERNATIONALISIERUNG: MEHRSPRACHIGE ANGULAR-ANWENDUNGEN IMPLEMENTIEREN 653 16.1 EINRICHTUNG DES IL8N-FRAMEWORKS ................................................................. 654 16.1.1 ONE BUILD PER LOCALE: STRIKTE TRENNUNG DER UNTERSCHIEDLICHEN SPRACHVERSIONEN ................................................................................... 655 16.1.2 DEN BUILD IM ANGULAR-CLI VORBEREITEN .................................................. 656 16.1.3 DIE DARZUSTELLENDE SPRACHE DYNAMISCH ERMITTELN ............................... 658 16.1.4 SPRACHSPEZIFISCHE BUILD-KONFIGURATIONEN VERWALTEN .......................... 660 16.2 NG EXTRACT-IL8N: AUTOMATISCHE GENERIERUNG DER MESSAGE-DATEI .............. 662 16.3 EIGENE UEBERSETZUNGSSCHLUESSEL DEFINIEREN ..................................................... 664 16.4 DESCRIPTION UND MEANING: METADATEN FUER UEBERSETZER UEBERGEBEN ............ 665 16.5 WEITERE UEBERSETZUNGSTECHNIKEN .................................................................... 666 16.5.1 ATTRIBUTE (UND INPUT-BINDINGS) UEBERSETZEN .......................................... 666 16.5.2 MEHRERE PARALLELE KNOTEN UEBERSETZEN .................................................. 667 16.6 $LOCALIZE: TEXTE AUS DEM TYPESCRIPT-CODE HERAUS UEBERSETZEN .................. 668 16.6.1 DEN $LOCALIZE-SERVICE MIT PLATZHALTERN VERWENDEN ............................. 669 16.7 PLURALISIERUNG UND GESCHLECHTSSPEZIFISCHE TEXTE ......................................... 670 16.7.1 PLURALISIERUNG: TEXTE ABHAENGIG VOM ZAHLENWERT EINER VARIABLEN ....... 670 16.7.2 REALISIERUNGEN UEBERSETZEN ................................................................. 673 16.7.3 H8NSELECTPIPE: GESCHLECHTSSPEZIFISCHE TEXTE FESTLEGEN ..................... 675 16.8 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 677 18 17 DAS ANIMATION-FRAMEWORK: ANGULAR-ANWENDUNGEN ANIMIEREN 679 17.1 DIE ERSTE ANIMATION: GRUNDLAGEN ZUM ANIMATION-FRAMEWORK ................ 680 17.1.1 BIDIREKTIONALE TRANSITIONEN .................................................................. 684 17.2 VOID UND *: SPEZIELLE STATES ZUM HINZUFUEGEN UND ENTFERNEN VON DOM-ELEMENTEN ............................................................................................... 684 17.2.1 :ENTER UND :LEAVE: SHORTCUTS FUER DAS EINTRETEN UND VERLASSEN DESDOM-BAUMS ................................................................................... 686 17.3 ANIMATIONEN IN VERBINDUNG MIT AUTOMATISCH BERECHNETEN EIGENSCHAFTEN ................................................................................................... 687 17.4 ANIMATION-LIFECYDES: AUF DEN START UND DAS ENDE VON ANIMATIONEN REAGIEREN ........................................................................................................... 689 17.5 KEYFRAMES: DEFINITION VON KOMPLEXEN, MEHRSTUFIGEN ANIMATIONEN ....... 690 17.6 STYLING VON KOMPONENTEN, DIE IN ANIMATIONEN VERWENDET WERDEN ........ 691 17.7 GROUPS UND SEQUENCES: MEHRERE ANIMATIONEN KOMBINIEREN ................... 693 17.7.1 GROUP: ANIMATIONSSCHRITTE PARALLEL AUSFUEHREN ..................................... 693 17.7.2 SEQUENCE: ANIMATIONSSCHRITTE NACHEINANDER AUSFUEHREN .................... 694 17.7.3 KOMBINATION VON SEQUENCE UND GROUP ................................................ 695 17.8 QUERYING: KOMPLEXE KOMPONENTEN ANIMIEREN ........................................... 696 17.8.1 SELEKTOREN FUER DIE ANIMIERTEN ELEMENTE .............................................. 699 17.8.2 OPTIONALE ANIMATIONSELEMENTE DEFINIEREN ......................................... 700 17.9 STAGGERING: AUSGEFEILTE LISTENANIMATIONEN DEFINIEREN ................................ 700 17.10 ANIMATION VON ROUTING-VORGAENGEN .............................................................. 702 17.10.1 LIFECYCLE-HOOKS FUER ROUTING-ANIMATIONEN .......................................... 705 17.11 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 707 18 VOLLENDET IN FORM UND FUNKTION: MATERIAL DESIGN UND ANGULAR MATERIAL 709 18.1 MATERIAL DESIGN ................................................................................................ 710 18.1.1 DIE GRUNDIDEEN IN DER WELT VON MATERIAL DESIGN ................................ 711 18.1.2 GESTALTUNGSRASTER VON KOPF BIS FUSS ..................................................... 715 18.1.3 FARBEN: WENIGER IST MANCHMAL MEHR ................................................... 722 18.1.4 AUFMERKSAMKEIT ERZEUGEN, OHNE ZU STOEREN: ANIMATIONEN .................. 724 19 18.2 ANGULAR MATERIAL ............................................................................................... 725 18.2.1 BEISPIELPROJEKT: BABYWATCH .................................................................. 726 18.2.2 ERSTELLEN DES PROJEKTS UND INSTALLATION VON ANGULAR MATERIAL ............. 727 18.2.3 EINEN HEADER FUER BABYWATCH ERSTELLEN ................................................. 731 18.2.4 ANLEGEN VON MENUE UND HAUPTANZEIGEBEREICH MITHILFE VON MAT-SIDENAV ........................................................................................... 734 18.2.5 MAT-NAV-LIST UND MAT-LIST-ITEM: ERSTELLEN VON MENUEEINTRAEGEN ZUR NAVIGATION ....................................................................................... 740 18.2.6 BABYWATCHSERVICE: DATEN FUER DIE APPLIKATION ...................................... 744 18.2.7 MAT-CARD: DARSTELLUNG DER TIMELINE IM KARTEN-FORMAT ........................ 744 18.2.8 EIGENE ICONS MIT MAT-ICON VERWENDEN ................................................. 747 18.2.9 FLOATING ACTION BUTTON: DIE PRIMAERE AKTION DER APPLIKATION AUSLOESEN ................................................................................................ 749 18.2.10 MATLNPUTMODULE UND KOLLEGEN: DIE EINGABEMASKE FUER NEUE TIMELINE-EVENTS ERSTELLEN ...................................................................... 752 18.2.11 EINSTELLUNGEN: AENDERN DES BABYNAMENS UND LOESCHEN DER TIMELINE ................................................................................................. 758 18.2.12 DER MATDIALOG-SERVICE: EINE ABFRAGE VOR DEM LOESCHEN DER TIMELINE IMPLEMENTIEREN ..................................................................... 763 18.2.13 EIGENES THEME ERSTELLEN ....................................................................... 765 18.3 ZUSAMMENFASSUNG ........................................................................................... 771 19 NPM-LIBRARYS UND MONO-REPOS: FUNKTIONALITAET IN BIBLIOTHEKEN AUSLAGERN UND PER NPM VEROEFFENTLICHEN 773 19.1 DAS ANGULAR-CLI-PROJEKT EINRICHTEN ............................................................... 774 19.1.1 FINE-TUNING DER PROJEKTSTRUKTUR ........................................................... 775 19.2 DIE GENERIERTE BIBLIOTHEK IM DETAIL ............................................................... 777 19.2.1 PUBLIC-API.TS UND NG-PACKAGE.JSOM STEUERUNGSDATEIEN FUER DIE BIBLIOTHEKSERZEUGUNG ........................................................................... 777 19.2.2 PACKAGE.JSON UND TSCONFIG.JSON: STEUERN, WIE DIE BIBLIOTHEK VEROEFFENTLICHT WIRD ................................................................................ 778 19.3 DIE BIBLIOTHEK KOMPILIEREN UND IM DEMO-PROJEKT EINBINDEN .................. 781 19.4 DER MONO-REPO-ANSATZ FUER DIE ENTWICKLUNG VON MEHREREN WEBAPPLIKATIONEN ............................................................................................ 784 19.4.1 POTENZIELLE NACHTEILE VON ECHTEN NPM-LIBRARYS .................................. 785 19.4.2 DER MONO-REPO-ANSATZ: STAENDIGE INTEGRATION DER AKTUELLEN LIBRARY IN ALLEN PROJEKTEN .................................................................................. 785 19.4.3 NACHTEILE VON MONO-REPOS (UND LOESUNGSANSAETZE DAFUER) .................... 786 20 19.5 DIE BIBLIOTHEK UEBER NPM VEROEFFENTLICHEN ..................................................... 788 19.5.1 EINE EIGENE NPM-REGISTRY AUFSETZEN ................................................... 788 19.5.2 DIE EIGENE REGISTRY VERWENDEN ............................................................ 790 19.5.3 NPM PUBLISH: DIE LIBRARY VEROEFFENTLICHEN ............................................. 791 19.5.4 DIE LIBRARY IN EINEM ANDEREN PROJEKT VERWENDEN ................................ 792 19.5.5 VERSIONIERUNG VON NPM-BIBLIOTHEKEN: EINFUEHRUNG IN DAS SEMANTIC VERSIONING ............................................................................................. 793 19.6 BEST PRACTICES FUER DIE IMPLEMENTIERUNG VON STYLEBAREN KOMPONENTEN .... 794 19.6.1 LOESUNG 1: CSS-VARIABLEN ....................................................................... 796 19.6.2 LOESUNG 2: BEM UND VIEWENCAPSULATION.NONE: EIGENE KAPSELUNG UEBER DEFINIERTE CSS-STRUKTUREN ............................................................ 798 19.7 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 802 20 ANGULAR ELEMENTS: ANGULAR-KOMPONENTEN ALS WEBCOMPONENTS BEREITSTELLEN SOS 20.1 EINFUEHRUNG IN CUSTOM ELEMENTS UND ANGULAR ELEMENTS ............................. 806 20.1.1 HELLO-CUSTOM ELEMENTS: DAS ERSTE CUSTOM-ELEMENT .......................... 806 20.2 ANGULAR-KOMPONENTEN ALS WEBCOMPONENTS BEREITSTELLEN ....................... 807 20.2.1 DIE WEBCOMPONENT UEBER DAS APPMODULE REGISTRIEREN ...................... 808 20.2.2 DEN BUTTONCHOOSER ALS WEBCOMPONENT BEREITSTELLEN ....................... 812 20.3 ZONELESS-APPLICATIONS: ANGULAR-ANWENDUNGEN UNABHAENGIG VON ZONE.JS MACHEN ................................................................................................ 816 20.3.1 DIE CHANGEDETECTION SELBST MANAGEN ................................................. 817 20.4 DEN BUILD FUER DIE WEBCOMPONENT-AUSLIEFERUNG OPTIMIEREN .................... 818 20.5 DIE WEBCOMPONENT IN EINEM ANGULAR-PROJEKT VERWENDEN ....................... 819 20.6 DIE WEBCOMPONENT IN EINEM VUE-PROJEKT VERWENDEN ............................. 822 20.7 ZUSAMMENFASSUNG UND AUSBLICK ................................................................... 826 21 DOCKER: DIE ANWENDUNG IM CONTAINER DEPLOYEN 829 21.1 DEPLOYMENT UEBER NGINX: DAS DOCKER-IMAGE ERSTELLEN UND ALS CONTAINER STARTEN ............................................................................................. 830 21.1.1 NGINX.CONF: DEN WEBSERVER KONFIGURIEREN .......................................... 830 21.1.2 IHR ERSTES DOCKERFILE: DIE ANWENDUNG IN NGINX BEREITSTELLEN ............... 831 21.1.3 DOCKER BUILD: DAS DOCKER-IMAGE ERZEUGEN ........................................... 832 21 21.1.4 DOCKER RUN: DEN DOCKER-CONTAINERSTARTEN .......................................... 833 21.1.5 DIE DOCKER-BEFEHLE IN NPM-SKRIPTE AUSLAGERN ..................................... 834 21.2 MULTI-STAGE BUILDS ............................................................................................ 835 21.2.1 DAS BUILD-ERGEBNIS IM NGINX-LMAGE VERWENDEN .................................. 838 21.2.2 DIE TESTS IM DOCKER-CONTAINER AUSFUEHREN ........................................... 838 21.3 DIE ANWENDUNG UEBER UMGEBUNGSVARIABLEN KONFIGURIEREN ....................... 840 21.3.1 DYNAMISCHE KONFIGURATIONEN PER JSON-VERWALTEN ............................. 842 21.3.2 DER APPJNITIALIZER-MECHANISMUS: AUFGABEN VOR DEM ANWENDUNGSSTART VERARBEITEN ............................................................. 843 21.3.3 ENTRYPOINT UND ENVSUBST: UMGEBUNGSVARIABLEN IN DIE ANWENDUNG HINEINGEBEN ...................................................................... 845 21.4 ZUSAMMENFASSUNG UND AUSBLICK .................................................................... 848 22 SERVER-SIDE RENDERING: ANGULAR-ANWENDUNGEN AUF DEM SERVER RENDERN SSI 22.1 EINFUEHRUNG IN SERVER-SIDE RENDERING (SSR): GRUNDLAGEN UND VORTEILE ..... 851 22.1.1 GRUNDIDEE UND EINSATZSZENARIEN FUER DAS SERVER-SIDE RENDERING ........ 853 22.2 DAS ANGULAR-PROJEKT FUER DAS SERVER-SIDE RENDERING VORBEREITEN .............. 854 22.2.1 NOTWENDIGE ABHAENGIGKEITEN INSTALLIEREN ............................................ 854 22.2.2 APPMODULE UND APPSERVERMODULE IMPLEMENTIEREN: IHRE ANWENDUNG AUF SSR VORBEREITEN ................................................... 855 22.2.3 ANPASSUNGEN UND ERWEITERUNGEN AM ANGULAR-ANWENDUNGSCODE ..... 856 22.2.4 SERVER.TS: DIE EIGENTLICHE SERVER-ANWENDUNG AUF BASIS VON NODE.JS IMPLEMENTIEREN .................................................................................... 857 22.2.5 DER ANGULAR-CLI-BUILD FUER DIE SERVER-APPLIKATION ................................. 859 22.2.6 DEN SERVER STARTEN: SERVER-SIDE RENDERING IN AKTION ........................... 860 22.3 ISPLATFORMSERVER UND ISPLATFORMBROWSER: WO BIN ICH GERADE? .................. 862 22.4 DIE STATE-TRANSFER-API: GELADENE DATEN VOM SERVER AUF DEN CLIENT TRANSFERIEREN ...................................................................................................... 862 22.5 TITLE-SERVICE UND META-SERVICE: SUCHMASCHINEN-OPTIMIERUNG UND EINBINDUNG IN SOCIAL-MEDIA-SEITEN LEICHT GEMACHT .................................... 867 22.6 NOTWENDIGE ANPASSUNGEN AM PROJECT-MANAGER-CODE: STOLPERFALLEN UND ALTERNATIVE LOESUNGSANSAETZE BEIM SERVER-SIDE RENDERING ................... 870 22.6.1 EINSCHRAENKUNGEN BEIDER VERWENDUNG VON ABSOLUTEN LINKS ............... 870 22.6.2 KEIN ZUGRIFF AUF DEN LOCAL STORAGE (UND ANDERE BROWSERDIENSTE) ....... 872 22.6.3 PROBLEME BEI DER VERBINDUNG MIT WEBSOCKETS ................................... 875 22 22.7 DIE ANWENDUNG IN DER CLOUD DEPLOYEN ........................................................ 876 22.7.1 DAS PROJEKT IN DER GOOGLE CLOUD PLATFORM ANLEGEN ............................. 876 22.7.2 (OPTIONAL) BUDGET-ALARME FESTLEGEN .................................................... 878 22.7.3 DAS CLOUD-SDK INSTALLIEREN ................................................................... 880 22.7.4 KONFIGURATION DES PROJEKTS ................................................................... 881 22.7.5 DIE ANWENDUNG IN DER CLOUD DEPLOYEN ............................................... 882 22.7.6 DEN PROJECTS-SERVER DEPLOYEN ............................................................... 884 T2.1J ENVSUB-UMGEBUNGSVARIABLEN PER NPM-SKRIPT ERSETZEN ....................... 886 22.8 ZUSAMMENFASSUNG ........................................................................................... 889 ANHANG 89I A ECMASCRIPT 2015 (AND BEYOND) ....................................................................... 891 A.1 ECMASCRIPT: WAS IST DAS? .................................................................... 891 A.2 DIE NEUEN ECMASCRIPT-FEATURES KOMPILIEREN ...................................... 892 A.3 BLOCK-SCOPE-VARIABLEN ......................................................................... 893 A.4 ARROW FUNCTIONS .................................................................................. 896 A.5 REST-PARAMETER .................................................................................... 899 A.6 SPREAD-OPERATOREN .............................................................................. 900 A.7 DEFA ULT-PARAMETER ............................................................................... 902 A.8 DESTRUCTURING ....................................................................................... 903 A.9 KLASSEN .................................................................................................. 908 A.10 DIE MODULE-SYNTAX: JAVASCRIPT-ANWENDUNGEN MODULARISIEREN ........ 914 A.LL TEMPLATE-STRINGS .................................................................................. 918 A.12 PROMISES ............................................................................................... 918 A.13 DIE ASYNC/AWAIT-SYNTAX ....................................................................... 924 A.14 DIEFOR-OF-SCHLEIFE ................................................................................ 927 A.15 SYMBOLE ................................................................................................ 928 A.16 ITERATOREN UND ITERABLES ....................................................................... 929 A.17 GENERATOREN .......................................................................................... 931 A.18 SET UND MAP: NEUE COLLECTION-KLASSEN ................................................ 935 A. 19 ERWEITERUNGEN VON VORHANDENEN STANDARDKLASSEN ............................. 938 B TYPSICHERES JAVASCRIPT MIT TYPESCRIPT ............................................................ 947 B. L EINFACHE TYPEN ...................................................................................... 947 B.2 KLASSEN .................................................................................................. 958 B.3 INTERFACES .............................................................................................. 964 B.4 MODULE .................................................................................................. 969 B.5 TYPE INFERENCE: TYPSICHERHEIT OHNE EXPLIZITE TYPANGABE .................. 972 B.6 ERWEITERTE TYP-TECHNIKEN .................................................................... 974 23 B.7 GENERICS ................................................................................................ 981 B.8 NULL UND UNDEFINED-HANDLING: ARBEIT MIT OPTIONALEN WERTEN UND EIGENSCHAFTEN ................................................................. 983 B.9 UTILITY-TYPEN: DYNAMISCHE TYPEN AUF BASIS EXISTIERENDER KLASSEN UND INTERFACES ........................................................................ 990 B.10 TYPDEKLARATIONEN FUER NICHT TYPISIERTE BIBLIOTHEKEN ............................ 995 B.LL TSCONFIG.JSON: KONFIGURATION DES TYPESCRIPT-PROJEKTS .......................... 1001 INDEX ................................................................................................................................ 1007 24
any_adam_object 1
author Höller, Christoph
author_GND (DE-588)1124930485
author_facet Höller, Christoph
author_role aut
author_sort Höller, Christoph
author_variant c h ch
building Verbundindex
bvnumber BV047860118
classification_rvk ST 250
ctrlnum (OCoLC)1304481504
(DE-599)DNB1246096129
discipline Informatik
edition 3., aktualisierte Auflage
format Book
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02966nam a22007338c 4500</leader><controlfield tag="001">BV047860118</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220315 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">220302s2022 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">21,N47</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1246096129</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836282437</subfield><subfield code="c">: EUR 39.90 (DE), EUR 41.10 (AT), CHF 49.90 (freier Preis)</subfield><subfield code="9">978-3-8362-8243-7</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836282437</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1304481504</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1246096129</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Höller, Christoph</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1124930485</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Angular</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Christoph Höller</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Computing</subfield><subfield code="c">2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1016 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Angular</subfield><subfield code="0">(DE-588)1183593139</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">AngularJS</subfield><subfield code="0">(DE-588)105899333X</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Angular-JS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Single-Page-Applikationen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">ECMA-Script</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Mobile Apps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Bootstrap</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Grundlagen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Web-Entwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Webentwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">HTTP-Anbindung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Node.js Test CLI</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Web-Sockets</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Dependency-Injection</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">RxJS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Router</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Bücher lernen Kurse Tipps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Tests</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Advanced</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">AngularJS</subfield><subfield code="0">(DE-588)105899333X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Angular</subfield><subfield code="0">(DE-588)1183593139</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-8362-8245-1</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&amp;prov=M&amp;dok_var=1&amp;dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=033242751&amp;sequence=000001&amp;line_number=0001&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20211119</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-033242751</subfield></datafield></record></collection>
id DE-604.BV047860118
illustrated Illustrated
indexdate 2025-02-03T15:58:23Z
institution BVB
institution_GND (DE-588)1081738405
isbn 9783836282437
language German
oai_aleph_id oai:aleph.bib-bvb.de:BVB01-033242751
oclc_num 1304481504
open_access_boolean
owner DE-20
DE-Aug4
DE-858
DE-19
DE-BY-UBM
DE-188
DE-706
DE-523
DE-573
owner_facet DE-20
DE-Aug4
DE-858
DE-19
DE-BY-UBM
DE-188
DE-706
DE-523
DE-573
physical 1016 Seiten Illustrationen
publishDate 2022
publishDateSearch 2022
publishDateSort 2022
publisher Rheinwerk Computing
record_format marc
spellingShingle Höller, Christoph
Angular das umfassende Handbuch
Angular (DE-588)1183593139 gnd
Framework Informatik (DE-588)4464685-9 gnd
AngularJS (DE-588)105899333X gnd
JavaScript (DE-588)4420180-1 gnd
subject_GND (DE-588)1183593139
(DE-588)4464685-9
(DE-588)105899333X
(DE-588)4420180-1
title Angular das umfassende Handbuch
title_auth Angular das umfassende Handbuch
title_exact_search Angular das umfassende Handbuch
title_full Angular das umfassende Handbuch Christoph Höller
title_fullStr Angular das umfassende Handbuch Christoph Höller
title_full_unstemmed Angular das umfassende Handbuch Christoph Höller
title_short Angular
title_sort angular das umfassende handbuch
title_sub das umfassende Handbuch
topic Angular (DE-588)1183593139 gnd
Framework Informatik (DE-588)4464685-9 gnd
AngularJS (DE-588)105899333X gnd
JavaScript (DE-588)4420180-1 gnd
topic_facet Angular
Framework Informatik
AngularJS
JavaScript
url http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm
http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA
work_keys_str_mv AT hollerchristoph angulardasumfassendehandbuch
AT rheinwerkverlag angulardasumfassendehandbuch