Sie sind hier
E-Book

Moderne Webanwendungen für .NET-Entwickler

Server-Anwendungen, Web APIs, SPAs & HTML-Cross-Platform-Anwendungen mit ASP.NET, ASP.NET Core, JavaScript, TypeScript & Angular

AutorHolger Schwichtenberg, Jörg Krause
VerlagO'Reilly Verlag
Erscheinungsjahr2018
ReiheAnimals 
Seitenanzahl982 Seiten
ISBN9783960102588
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis49,90 EUR
Auch in der .NET-Welt werden immer mehr Web- und Cross-Plattformanwendungen mit HTML, CSS, JavaScript/TypeScript und SPA-Frameworks clientseitig programmiert, während auf dem Server ASP.NET oder ASP.NET Core zum Einsatz kommt. Das erfahrene  IT-Visions.de-Expertenteam um Dr. Holger Schwichtenberg zeigt, wie Sie mit diesem Technikmix moderne Single-Page-Webanwendungen und mobile Cross-Platform-Apps realisieren. Es liefert Praxiswissen für Entwickler, die bislang Windows-Desktop-Anwendungen entwickelt haben oder nur mit älteren ASP.NET-Konzepten (Webforms) vertraut sind. Das Buch deckt ein umfassendes Themenspektrum ab: Web-Basiswissen: HTML und CSS, das Framework Bootstrap, das von CSS abstrahiert und von Microsoft in den Projektvorlagen für ASP.NET und ASP.NET Core eingesetzt wird. Webserverprogrammierung mit ASP.NET: das klassische Framework ASP.NET Model-View-Controller (MVC) und das klassische Web API ASP.NET sowie ASP.NET SignalR, die auf dem .NET Framework 4.x und nur auf Windows-Systemen laufen. Webserverprogrammierung mit ASP.NET Core: das neue ASP.NET Core inklusive WebAPI und SignalR Core, das auf dem Windows-basierten .NET 'Full' Framework 4.x oder dem plattformneutralen .NET Core läuft. Inklusive einer Fallstudie zu Microservices mit ASP.NET Core Web API und RabbitMQ. Web-Client-Programmierung: Einführungen in die Programmiersprachen JavaScript und TypeScript und die Single-Page-Web-Frameworks Angular und React sowie ASP.NET Blazor, das auf C# aufbauende SPA-Framework. Hosting von ASP.NET und ASP.NET Core: Self-Hosting sowie Hosting in den Internet Information Services (IIS), in Docker-Containern und über den Microsoft-Cloud-Dienst Azure. Das Fallbeispiel MiracleList: komplettes Fallbeispiel einer modernen Webanwendung, bestehend aus einem Backend (C# mit ASP.NET Core), einem Web-Frontend (TypeScript mit Angular) sowie Cross-Platform-Apps für Linux, macOS, Windows, Android und iOS (mithilfe von Electron und Cordova aus dem Web-Frontend erzeugt). Bonuskapitel: Sie erhalten zusätzlich drei Kapitel zu React, Open Web Interface for .NET (OWIN) / Katana und ASP.NET Sicherheit als kostenloses PDF zum Herunterladen.

Das Autorenteam: Alle Autoren dieses Buchs arbeiten bei der Firma IT-Visions.de als Softwarearchitekten, Softwareentwickler, Trainer und Berater. IT-Visions.de ist ein Verbund der deutschen Top-Experten im Bereich der Microsoft-Produkte und -Technologien, insbesondere .NET sowie Webtechniken. Unter Leitung und Mitwirkung von Dr. Holger Schwichtenberg bietet das Unternehmen Dienstleistungen von der strategischen und technischen Beratung über Machbarkeitsstudien und Softwareentwicklung bis hin zu Workshops und Seminaren.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Moderne Webanwendungen für.NET-Entwickler3
Impressum4
Inhalt5
Vorwort zur 3. Auflage23
Warum dieses Buch?23
Was ist der Inhalt dieses Buchs?24
Welche Voraussetzungen sollten Sie für dieses Buch mitbringen?25
Was ist das Ziel des Buchs?25
Welche Versionen werden in diesem Buch behandelt?26
Welche Programmiersprache wird in diesem Buch verwendet?27
Welche Werkzeuge werden in diesem Buch verwendet?27
Welche Sprachversion wird in diesem Buch verwendet?27
Woher bekommen Sie die Code-Beispiele und die drei Bonuskapitel zu diesem Buch?28
Wem ist zu danken?30
Die Autoren30
Über www.IT-Visions.de30
Dr. Holger Schwichtenberg31
Jörg Krause32
Dr. Joachim Fuchs33
Sebastian Kleinschmager33
Manfred Steyer33
Teil A - Web-Basiswissen35
Kapitel 1 - Protokolle, Standards und Konzepte37
Standardisierung37
RFCs37
World Wide Web Consortium (W3C)38
European Computer Manufacturers Association (ECMA)38
Hypertext Transfer Protocol (HTTP)38
Protokollaufbau, Header, Body39
Kommandoaufbau40
Methode oder Verb?40
Die HTTP-Statuscodes41
Ablauf einer HTTP-Kommunikation41
Kopffelder42
HTTP 2.043
Ergänzende Standards zu HTTP44
Web-Sockets44
WebDAV45
Simple Mail Transfer Protocol (SMTP) oder Extended SMTP (ESMTP)45
File Transfer Protocol (FTP)45
REpresentational State Transfer (REST)46
Webdienste46
Merkmale46
Adressierbarkeit46
Repräsentationsvariabilität46
Zustandslosigkeit47
Skalierbarkeit47
Allgemeingültigkeit47
Erweiterbarkeit47
REST-Beispiel47
URI48
HTTP-Methoden für REST49
Multipurpose Internet Mail Extensions (MIME)50
JavaScript Object Notation (JSON)51
Die JSON-Formatdefinition51
Atom Syndication Format (ATOM)52
Grenzen von REST: GraphQL und OData53
Single Page Application (SPA)53
Asynchronous JavaScript and XML (AJAX)54
Responsive Web Design (RWD)55
Kapitel 2 - Hypertext Markup Language (HTML)57
Grundlagen HTML57
Geschichte57
XML – Grundlage für HTML58
Markup59
XML-Dokumente59
Wohlgeformtheit59
Validierung60
Verarbeitung60
Der Begriff »Markup«60
Leere Elemente61
Gültigkeit62
Richtigkeit62
Spezialfälle63
Seitenaufbau63
Document Object Model (DOM)64
Der Dokumenttyp (Doctype)64
Codierungen64
HTML5-Seitenstruktur65
Elemente der Seite68
Textelemente68
h1 … h669
p69
pre69
blockquote69
figure und figcaption69
hr70
ol und li70
ul und li70
dl, dt, dd70
div70
Fließtextauszeichnung70
Verweise71
Tabellen71
Multimedia und Grafiken72
Formulare72
Skripte73
Interaktive Elemente73
Allgemeine und universelle Attribute73
id74
class74
accesskey75
contenteditable75
contextmenu76
dir76
draggable76
dropzone77
hidden77
lang77
spellcheck77
style78
tabindex78
title78
Kapitel 3 - Cascading Style Sheets (CSS)79
Grundlagen79
Syntax80
Selektor81
Elemente (Tags)81
ID81
Klassen81
Attribute82
Logische Auswahl82
Weitere Selektoren82
Pseudo-Selektoren84
Das Box-Modell85
Bausteine der Box86
Zählweise87
Ausnahmen87
Das Box-Modell in CSS387
Das Flexbox-Modell87
Prinzipien87
Eigenschaft der Container89
Beachtung von Medien90
Syntax90
Umgang mit Einheiten92
Parameter93
Der Viewport97
Viewport einstellen97
Parameter für den Viewport99
Einheiten99
Absolute Einheiten100
Typografische Angaben100
Empfehlung101
Relative Einheiten101
Kapitel 4 - Bootstrap103
Einführung in Bootstrap103
Neuerungen in Bootstrap 4103
Globale Änderungen103
Rastersystem104
Tabellen104
Formulare104
Schaltflächen104
Klappmenüs104
Panels104
Sonstiges104
Installation104
CDN105
Bootstrap 4105
Repository für lokale Installation105
Struktur der CSS-Dateien106
Minimizer107
Seitenaufbau107
Browserunterstützung108
ARIA109
HTML5 – Das role-Attribut109
Optimierung110
Interaktive Oberflächen111
Hilfsklassen112
Rahmen112
Reboot112
Schriftarten112
Struktur der Seite113
Einführung113
Der HTML5-Doctype113
Einstellungen des Ansichtsbereichs113
Zoom abschalten113
Das Rastersystem114
Container114
Das Raster im Detail114
Gerätespezifische Definitionen115
Änderung zu Bootstrap 3116
Auto-Layout120
Das Flex-Raster123
Vorbereitung124
Gleichverteilte Spalten124
Horizontale Verteilungsoptionen125
Vertikale Verteilungsoptionen126
Sortieroptionen127
Typografie128
Überschriften129
Text und Textelemente130
Basisschrift130
Textelemente130
Elemente für Textblöcke131
Ausrichtung133
Blocksatz134
Transformationen134
Listen135
Tabellen137
Stile für Tabellen137
Spalten138
Lesbarkeit für Screenreader140
Responsive Tabellen142
Hilfsklassen146
Abstände kontrollieren146
Anzeigestatus erzwingen147
Formulare148
Struktur eines Formulars148
Einfache Formularelemente148
Eingabegruppen149
Einzeilige Formulare149
Label benutzen150
Formularelemente mit Bausteinen151
Größen152
Umgang mit Kontrollkästchen und Optionsfeldern153
Ergänzende Schaltflächen154
Horizontale Formulare157
Eingabeelemente158
Input-Elemente159
Select-Element161
Statische Texte im Formular162
Verhalten der Formularelemente163
Validierungsinformationen in Formularen164
Barrierefreiheit165
Formularelemente im Raster170
Anpassung der Feldhöhe171
Hilfetexte in Formularen172
Schaltflächen173
Semantische Schaltflächen174
Größe und Aussehen174
Zustände177
Weitere Bausteine178
Symbole178
Warum Symbolfonts?178
Alternativen178
Nutzung der Symbole179
Nutzung auf Schaltflächen180
Meldungen181
Häufige Symbole181
Responsive Bilder182
SVG und IE 8 bis 10182
Eingebettete Quellen183
Farben und Hintergründe183
Textfarbe183
Hintergrundfarbe184
Ausrichtung von Elementen im Fluss185
Zentrieren185
Umbruch: Clearfix185
Inhalte anzeigen und verstecken186
Komponenten186
Klappmenüs (dropdown)187
Ausrichtung des Menüs188
Dekorationselemente188
Werkzeugleisten (toolbar)190
Vertikale Ausrichtung192
Allgemeine Optionen192
Schaltfläche mit Menü (button group)193
Einfache Schaltfläche mit Menü193
Geteilte Schaltfläche mit Menü194
Größen von Menüschaltflächen194
Spezielle Menüvarianten195
Navigation (nav, navbar)196
Tabulatoren (tabs)196
Navigationsschaltflächen (pills)197
Universelle Einstellungen198
Navigationsleiste (navbar)200
Standardnavigationsleiste204
Pfadnavigation (breadcrumb)204
Seitenweises Blättern (pagination)205
Seitenanzeige205
Unbestimmte Seitenzahl206
Größe207
Kennzeichnungen (tag)207
Kennzeichnungsplaketten (tag-pills)208
Neu in Bootstrap 4208
Großbildleinwand (jumbotron)209
Seitenüberschriften (page header)210
Meldungen (alert)211
Fortschrittsbalken (progress)212
Medien (media)216
Ausrichtung216
Medienlisten216
Allgemeine Listen (list group)217
Plaketten in Listen217
Links in Listen218
Schaltflächen in Listen218
Karten (cards)221
Panels in Bootstrap 4221
Überschriften221
Fußzeilen222
Karten mit Tabellen223
Karten mit Listen224
Karten mit Bildern224
Karten im Raster225
Kartenstapel (card decks)226
Kartengruppen (card groups)227
Karten in Spalten (card columns)228
Semantische Farben230
Aktive Komponenten231
Einrichtung und Aktivierung231
jQuery UI?232
Die Programmierschnittstelle232
Konfliktvermeidung232
Ereignisse233
Übergänge (transition)233
Animationen233
Modale Dialoge (modals)234
Eigenschaften234
Größen235
Dialog im Raster236
Allgemeines zum Verhalten240
Optionen240
Benutzung241
Klappmenü (dropdown)242
Allgemeines zum Verhalten242
Optionen242
Scrollbar-Überwachung (scrollspy)243
Affix243
Benutzung244
Optionen244
Angeheftete Navigation (affix)245
Umschaltbare Tabulatoren (tab)245
Benutzung245
Optionen247
Tooltips (tooltip)247
Mehrzeilige Links248
Allgemeine Tipps248
Optionen249
Inhaltsüberlagerung (popover)250
Anwendung250
Optionen252
Meldungen (alert)253
Optionen254
Interaktive Schaltflächen (button)254
Umschalter254
Optionen255
Inhaltseinblendung (collapse)255
Anwendung255
Inhaltsgruppen (accordion)256
Optionen258
Bilderkreisel (carousel)259
Anwendung259
Optionen260
Teil B - Webserverprogrammierung mit ASP.NET263
Kapitel 5 - ASP.NET MVC265
Geschichte und Verbreitung von ASP.NET265
 Architektur von ASP.NET MVC266
Erste Schritte mit ASP.NET MVC267
ASP.NET-MVC-Projekt anlegen267
Projektaufbau269
Nuget-Pakete270
Modell anlegen271
Controller anlegen272
View anlegen274
Webanwendung testen279
Einträge editieren280
Vorschlagswerte über Drop-down-Listenfelder anbieten285
Controller288
Models entgegennehmen288
View auswählen290
Auf Ausnahmen reagieren291
URL-Mapping beeinflussen (Routing)291
Asynchrone Controller294
Vereinfachte Implementierung asynchroner Controller seit .NET 4.5295
Views296
Razor296
Razor-Helper299
Layoutseiten299
Partielle Views301
Vorlagen für Felder und Models303
Views für mobile Anwendungen306
Zwischen unterschiedlichen Ansichten wechseln307
Minification und Bundling308
Models309
Metadaten im Model festlegen309
HTML-Text übermitteln310
Validieren von Benutzereingaben310
Manuelles Validieren310
Deklaratives Validieren311
Globalisierung316
Sprach- und Ländereinstellungen festlegen316
Über Ressourcedateien mehrsprachige Inhalte bereitstellen318
Codierung festlegen319
Areas320
Filter322
Überblick323
Umsetzung323
Filter auf Controller und Action-Methoden anwenden325
Globale Filter326
Authentifizierungsfilter326
Kapitel 6 - ASP.NET Web API329
Einen einfachen HTTP-Service erstellen329
Parameter und Rückgabewerte330
HTTP-Services konfigurieren332
HTTP-Services mit Fiddler testen334
Mehr Kontrolle über HTTP-Nachrichten335
Antworten mit HttpResponseMessage beeinflussen335
Anfragen als HttpRequestMessage darstellen337
HttpRequestMessage und HttpResponseMessage am Beispiel Conditional Get338
Antworten über IHttpActionResult zurückgeben339
HTTP-Services über HttpClient konsumieren340
Routing343
Benutzerdefinierte Routen über die Konfiguration festlegen343
Attributbasiertes Routing344
Weiterführende Schritte mit der Web API347
Dynamische Parameter348
Tracing349
Request Batching350
Cross Origin Resource Sharing (CORS)352
Validieren353
Querschnittsfunktionen implementieren354
Message-Handler354
Einen Handler umsetzen354
Handler mit HttpClient verwenden355
Filter357
Überblick357
Filter umsetzen358
Filter als Attribute einsetzen359
Filter über FilterProvider bereitstellen360
Filter als globale Filter registrieren361
Schnittstellen für Filter361
Authentifizierungsfilter361
Filterüberschreibungen364
Benutzerdefinierte Formate unterstützen364
Formatter implementieren365
Formatter mit HttpClient verwenden367
Serialisierung beeinflussen368
JSON-Serializer konfigurieren368
XML-Serializer konfigurieren369
Eigenschaften von der Serialisierung ausschließen369
Zirkuläre Referenzen serialisieren370
Binary JSON (BSON)372
Web API und HTML-Formulare372
Einfache Formularfelder übermitteln372
Datei-Upload via HTML-Formular373
Fortschritt ermitteln375
Feingranulare Konfiguration377
Controllerbasierte Konfiguration377
Routenbasierte Konfiguration378
Kapitel 7 - ASP.NET SignalR379
Long-Polling379
Web-Sockets380
Überblick über ASP.NET SignalR381
PersistentConnection382
Erste Schritte mit SignalR und PersistentConnection382
Lifecycle-Methoden383
URL-Mapping für persistente Verbindungen383
Einfacher Client für eine persistente Verbindung384
Einfacher JavaScript-Client für eine persistente Verbindung385
Hubs387
Methoden und Callbacks mit SignalR und Hubs387
URL-Mapping für Hubs389
Lifecycle-Methoden389
Hubs konsumieren389
Hubs über JavaScript konsumieren391
Gruppen395
Pipeline-Module für Querschnittsfunktionen396
SignalR konfigurieren398
Cross Origin Resource Sharing (CORS)398
SignalR skalieren398
Überlegungen zum Skalieren von SignalR399
SignalR mit SQL Server skalieren400
Implementierung eines SignalR-Clients402
Das Skalierungsszenario testen403
Azure Service Bus und Redis als Alternative zu SQL Server404
Kapitel 8 - ASP.NET-Programmierschnittstellen405
Direkt mit HTTP interagieren405
HttpContext405
Server (HttpServerUtility)407
Request (HttpRequest)408
Response (HttpResponse)410
Zustandsverwaltung auf Sitzungsebene411
Überblick412
Weitere Optionen413
Programmieren mit dem Sitzungszustand414
URL-basierte Sitzungsverwaltung ohne Cookies414
Konfiguration des Sitzungszustands415
Speicherort der Sitzungstabelle wählen416
Komprimierung des Sitzungszustands417
Deaktivieren des Sitzungszustands417
Caching417
Überblick418
Pro und Contra der Zwischenspeicherung418
Zwischenspeicherung ganzer Seiten (Output-Caching)419
Zwischenspeicherungsprofile (Caching Profiles)421
Caching von Seitenteilen (Fragmentzwischenspeicherung)421
Programmatisches Caching422
Cacheinvalidierung423
Cacheinvalidierung durch die Datenbank424
Cache Invalidation bei Microsoft SQL Server 7.0 und 2000424
Cacheinvalidierung bei Microsoft SQL Server ab Version 2005425
Teil C - Webserverprogrammierung mit ASP.NET Core427
Kapitel 9 - Einführung in ASP.NET Core429
Klassisches ASP.NET oder ASP.NET Core?429
Einführung in die Core-Welt430
.NET Standard431
Windows Compatibility Pack für .NET Core436
Open Source439
Dokumentation439
Werkzeuge442
Kommandozeilenwerkzeug dotnet442
Editoren444
Erste Schritte mit ASP.NET Core (auf .NET Core)444
Installation444
Projekt anlegen445
Projektaufbau448
Die Klasse Program449
Klasse Startup und Middleware452
Referenzen/Pakete454
Übersetzen und Debugging457
Deployment460
ASP.NET Core auf dem klassischen .NET Framework463
Einsatzszenarien463
Anlegen von ASP.NET-Core-Projekten mit dem klassischen .NET Framework464
Projektaufbau464
Referenzen/Pakete466
Deployment467
In ASP.NET Core integrierte Webserver: Kestrel versus HTTP.sys (WebListener)469
Kestrel469
HTTP.sys470
Kapitel 10 - ASP.NET Core MVC und Razor Pages473
POCO-Controller474
Controller und View475
Tag Helper476
Wie funktionieren Tag Helper?476
Eingebaute Tag Helper477
Eigene Tag Helper478
Beispiel: Tag 479
Beispiel: Tag 480
Beispiel: Tag 482
Beispiel: Tag 482
View Components484
Razor Pages486
Von Webforms über MVC zu Razor Pages487
Razor Pages versus MVC488
Page Model als Code-Behind489
URL-Parameter490
Eingebaute Objekte492
Datenbindung493
Praxisbeispiel zu Razor Pages494
Drittanbieterkomponenten für ASP.NET Core502
Kapitel 11 - ASP.NET-Core-Klassenbibliotheken503
Dependency Injection in ASP.NET Core504
Implementierung eines Diensts505
Registrierung von Diensten506
Injektion in einen Konstruktor507
Manuelle Beschaffung507
Injektion in eine View508
Vordefinierte Dienste der ASP.NET-Core-Infrastruktur508
Konfiguration in ASP.NET Core509
Sitzungen in ASP.NET Core511
Cookies514
URL-Rewriting in ASP.NET Core514
Benutzerverwaltung und Authentifizierung517
Kapitel 12 - ASP.NET Core Web APIs521
Die Grundlagen von ASP.NET Core Web API521
Abfragen von Daten521
Arbeiten mit Statuscodes524
Anlegen, Aktualisieren und Löschen von Daten525
Nutzung von Sub-Routen für Teil-Ressourcen528
Nutzung weiterer Model-Binding-Funktionen529
Anbieten unterschiedlicher Repräsentationen von Ressourcen531
Nutzung des PATCH-Verbs mit JSON-Patch531
Cross Origin Resource Sharing533
Bereitstellung von OpenAPI-Beschreibungen über Swagger535
Starten von Hintergrundprozessen über IHostedService538
Integrationstests mithilfe des TestHosts539
Service-Kommunikation mit HttpClient540
Abfragen von Daten540
Versenden von Daten und Reaktion auf Statuscodes542
Arbeiten mit Headern und HttpRequestMessage543
Generieren von Clients für Swagger-Spezifikationen543
Ausblick auf Neuerungen durch ASP.NET Core 2.1544
Annotation [ApiController]544
ActionResult-Rückgabewerte545
Optimierte Input-Verarbeitung545
Unterstützung von Problemdetails für HTTP-APIs546
JSON-Patch-Erweiterungen547
Kapitel 13 - Microservices mit ASP.NET Core Web API und RabbitMQ549
Grundlagen von Microservices549
Mögliche Vorteile von Microservices551
Mögliche Nachteile von Microservices552
Modellierung von Microservices553
Integration und Kommunikation von Microservices554
Synchrone und asynchrone Kommunikation554
Messaging-basierte versus Request-Response-Kommunikation555
Gesteuerte (orchestriert) versus Event-getriebene Kommunikation (choreografiert)556
.NET-Core-Technologien zur Umsetzung von Service- Kommunikation557
Asynchrone Service-Kommunikation über RabbitMQ557
Das Producer-Consumer-Modell557
Das Publish-Subscribe-Modell562
Microservices-Fallstudie564
Umgebung und fachlicher Kontext565
Der HumanResourcesService566
Abfragen von Mitarbeiterdaten567
Einbinden des DbContexts568
Der ProjectsService568
Replikation der Kundendaten aus dem CRM569
Erzeugen von neuen Projekten570
Zuweisen eines Mitarbeiters zu einem Projekt572
Eingabe eines täglichen Reports über geleistete Stunden574
Abschluss eines Projekts576
Übersichtsdiagramm des ProjectsService577
Der ManagementDashboardService577
Aktualisieren der aktuellen Umsatzprognose578
Übersichtsdiagramm des ManagementDashboardService579
Der InvoicingService579
Verarbeitung einer Rechnung für ein abgeschlossenes Projekt579
Übersichtsdiagramm des InvoicingService583
Fazit584
Nützliche Patterns und Best-Practices im Bereich Microservices584
Resilienz-Patterns585
Der Retry-Mechanismus585
Timeouts und das Problem blockierter Threads587
Circuit-Breaker588
Transaktionalität und Datenkonsistenz589
Serviceübergreifender Code und serviceübergreifende Funktionen592
Nuget-Pakete592
Nutzung von Middleware592
Zentrale Services593
Fazit und weitere Literatur593
Kapitel 14 - ASP.NET Core SignalR595
Hub-Klassen595
Hub-Client mit .NET Core 2.1597
Hub-Client mit Angular598
Serverseitig initiierte Benachrichtigungen und Gruppen603
Teil D - Web-Client-Programmierung609
Kapitel 15 - JavaScript-Grundlagen611
Grundlagen der Sprache611
Sprachmerkmale und Entwurfsmuster612
Vergleich mit Programmiersprachen612
JavaScript-Syntax612
Einbetten in HTML613
Kommentare613
Literale614
Umlaute614
Numerische und boolesche Literale614
Sonstige Literale615
Operatoren615
Typen616
Automatische Typkonvertierung616
Number616
Berechnungen mit Math617
Weitere Funktionen619
Konstanten620
Zeichenkette (String)621
Vorlagenzeichenfolgen622
Die String-Methoden623
Nicht standardkonforme String-Methoden626
Boolean626
Objekte627
Das Objekt-Literal {}627
Spezielle Typen627
null versus undefined628
Symbole628
Arrays628
Einige Methoden für Arrays629
Spezialfunktionen statt Klassen629
Operatoren630
Operatoren für Objekte630
Spread-Operator631
Vergleichsoperatoren631
Anweisungen – Statements632
Kontrollstrukturen: if – else633
Kontrollstrukturen: switch – else – default633
Umgang mit break633
Kontrollstrukturen: Schleifen633
while633
do634
for634
foreach635
Schleifenkontrolle635
Verschachtelung von Schleifen636
Schleifen mit for..in637
Schleifen mit for..of637
Polyfill erforderlich638
Fehlerbehandlung638
Ausnahmen (Exceptions)638
Standardausnahmeobjekte639
Variablen und Scope640
Scope – der Sichtbarkeitsbereich640
Variablen mit let und const640
Das return-Schlüsselwort641
Objektorientierung641
Erstellen von Objekten641
Deklaration mit new641
Deklaration mit der Literalnotation642
JSON (JavaScript Object Notation)642
Klassen643
Der Konstruktor643
Klassische Konstruktor-Funktionen644
Der Konstruktor constructor646
Methoden und Eigenschaften646
Umgang mit Eigenschaften646
Private Variablen und Funktionen647
Privilegierte Funktionen648
Statische Mitglieder649
Vererbung649
Prototyping649
Objektabstammung650
Die Basismethoden651
Objektvererbung651
Vererbung mit extends652
Umgang mit prototype und __proto__653
Die Objektvererbung mittels __proto__-Prototype653
Exkurs Objekthierarchie653
Umgang mit this653
Bindungen655
Bindungen berücksichtigen656
Explizite Bindungen658
Ableiten von internen Typen659
Tipps zum Umgang mit objektorientierten Techniken659
Globale Standardfunktionen660
Timer-Funktionen660
Einsatzfälle660
Beispiele660
Prüffunktionen661
Konvertierungsfunktionen661
Module662
Entwurfsmuster662
Einfache Module663
Privater Funktions-Scope664
Öffentliche Schnittstellen665
Instanzen von Modul-Objekten666
Globale Objekte667
Erweiterbare Module667
Reihenfolgen sichern668
Namensräume668
Zusammenfassung669
Module669
Funktionen669
Pfeilfunktionen (Lambdas)669
Funktionsrumpf671
Rückgabe von Objekt-Literalen671
Zeilenumbruch671
Übersetzungsreihenfolge671
Verwendung von new672
Verwendung von yield672
Erweiterte Objektliterale672
Destrukturierung672
Umgang mit Argumenten673
Standardargumente673
Argument-Arrays673
Rest-Parameter674
Generatoren und Iteratoren674
Generatoren674
yield675
Iteratoren675
Iteratoren für Daten676
Asynchrone Programmierung677
Klassische asynchrone Programmierung677
Asynchrone Funktionen678
Continuation Passing Style (CPS)679
Fehlerbehandlung681
Promise684
Natur des Promise684
Syntax und API684
Promises erzeugen685
Gruppen686
Fehlerbehandlung687
Set und Map688
Set688
Map690
Schlüsselvergleiche690
Iteratoren691
WeakMap und WeakSet692
Reguläre Ausdrücke692
Einführung692
Kopieren oder Konstruieren?693
Und wie funktioniert das?693
Auflösungshilfen694
Literale694
Zeichenklassen695
Referenzen695
Metazeichen695
Anfang, Ende und Grenzen695
Ein beliebiges Zeichen696
Ohne Zeichen697
Zeichenklassen697
Einer aus vielen697
Negation698
Ziffern698
Datum und Zeit698
Zeichenketten699
Abkürzungen699
Wiederholungsoperatoren699
Allgemeine Wiederholungsoperatoren700
Auf einen Blick701
Referenzen701
Gruppierungen702
Einfache Gruppen702
Umschließende Zeichen702
Vorwärtsreferenzen703
Die JavaScript-Funktionen704
Das RegExp-Objekt704
Methoden704
Eigenschaften705
Dynamische Eigenschaften706
Literal-Schreibweise direkt nutzen706
Verarbeitungsoptionen707
Zeichenkettenfunktionen707
Übersicht707
Zusammenfassung708
Reflektions-API710
Einfache Methoden710
Reflect710
Erzeugerfunktionen711
Operatoren für Schlüsselwörter711
Dynamische Argumentlisten712
Funktionsaufrufe712
Proxy-Fallen712
Zusammenfassung der Reflect-Methoden713
Stellvertreter: Proxies714
Einführung714
Proxy-Fallen anwenden715
get715
set716
Schemaprüfung mit Proxies717
Entfernbare Proxies718
Übersicht719
Kapitel 16 - TypeScript721
Geschichte von TypeScript721
Open-Source-Projekt722
TypeScript-Compiler722
Übersetzung von TypeScript in JavaScript723
TypeScript Playground724
TypeScript in Visual Studio725
TypeScript-Kommandozeilencompiler tsc728
TypeScript in Visual Studio Code729
TypeScript in Gulp730
Datentypen732
Arrays und Tupel734
Klassen735
Generische Klassen737
Strukturelle Typäquivalenz (Duck Typing)738
Funktionen und Lambda-Ausdrücke738
Dekoratoren740
Module und Verweise741
TypeScript ohne externes Modulsystem (interne Module)741
Externe Module742
Re-Export744
Deklarationsdateien744
Einbindung von Deklarationsdateien (altes Verfahren)745
Import von Deklarationsdateien745
Deklarationsdateien und tsconfig.js745
Mixins746
Mixin-Konstruktortypen748
Deklaratives Mischen749
Module mischen750
Nicht mögliche Vermischungen753
Reflektion: Metadaten per Programmcode753
Die Metadaten-API für Reflektion754
Ermitteln von Typinformationen754
Ermitteln von Parameterinformationen755
Ermitteln von Rückgabeinformationen755
Asynchrone Programmierung755
Generatoren und Iteratoren756
Iteratoren756
Generatoren757
Asynchrone Iteration757
Asynchrone Generatoren758
Kapitel 17 - Angular759
Ziele und Architektur von Angular759
Browserunterstützung760
Veröffentlichungszyklus von Angular761
Dokumentation762
Beispielsammlung763
Komponenten765
Datenbindung und Pipes768
Syntaxübersichten770
Strukturelle Direktiven770
Datenbindungssyntax771
Angular-Pipes771
Module772
Formulare773
Routing776
Dienste und Dependency Injection778
Animationen779
Werkzeuge779
JiT vs. AOT780
Angular Universal782
Kapitel 18 - ASP.NET Blazor783
Silverlight wurde eingestellt783
Web Assembly783
Architektur von Blazor784
Erste Schritte mit ASP.NET Blazor785
Beispielprojekt786
Weitere Möglichkeiten789
Ausblick789
Teil E - Hosting von ASP.NET und ASP.NET Core791
Kapitel 19 - Internet Information Services (IIS)793
Versionsgeschichte793
Kernfunktionen des IIS794
Installation des IIS795
Modularisierung797
Skriptbasierte Installation798
Integration zwischen ASP.NET und IIS799
Test der Installation799
IIS Express800
IIS-Administration801
IIS-Manager802
Administration per Kommandozeile und Skript803
IIS-Websites (virtuelle Webserver)803
Websites erstellen804
Websites erstellen per Skript805
Wichtige Einstellungen für Websites807
Beschränken der möglichen Clients807
Authentifizierung808
Transport Layer Security (TLS)/Secure Socket Layer (SSL)809
Server für Nicht-HTTP-Protokolle811
Virtuelle Verzeichnisse im IIS811
IIS-Anwendungen813
Rahmenbedingungen einer IIS-Anwendung813
Anlegen einer IIS-Anwendung814
IIS-Anwendungspools815
Eigenschaften eines Anwendungspools815
Liste der Anwendungspools816
Zuordnung von Websites und IIS-Anwendungen zu Anwendungspools816
ASP.NET-Version817
Erweiterte Einstellungen für Anwendungspools818
Anwendungspoolidentität819
Wiederverwendung (Recycling)819
Leistungseinstellungen820
Zustandsüberwachung821
Besonderheiten für ASP.NET-Anwendungen821
IIS-Autostart821
IIS-Verarbeitungspipeline824
Kapitel 20 - Microsoft Azure827
Azure-Konzepte827
Anlegen einer Subscription828
Anlegen einer Ressource Group828
Anlegen eines App Service Plans829
Anlegen eines Azure App Service830
Anlegen eines Azure App Service mit der PowerShell833
Kapitel 21 - Verteilen von Webanwendungen aus Visual Studio heraus835
Web Deploy-Werkzeug835
Web Deploy in einen IIS-Webserver836
Web Deploy nach Azure838
Konfigurationstransformationen839
Erstellen der Transformationsdateien839
Syntax der Transformationsdateien839
Ergebnis der Transformation841
Continuous Integration und Continuous Delivery841
Kapitel 22 - Webanwendungen in Docker843
Docker auf Windows843
Installation der Docker-Unterstützung von Microsoft845
Installation von Docker for Windows847
Ein Image beschaffen848
Einen Container starten849
Ein Visual-Studio-Container-Projekt erstellen850
Debugging eines Containers851
Verwendung des Containers851
Images aus Containern erstellen855
.NET Core-Container855
Container in Windows Server 2016 hosten858
Images verbreiten859
Teil F - Fallbeispiel: MiracleList863
Kapitel 23 - Das Fallbeispiel »MiracleList«865
Das Szenario865
Links868
Kapitel 24 - Das MiracleList-Backend869
Architektur871
Entitätsklassen874
Entity Framework Core-Kontextklasse876
Lebensdauer der Kontextklasse in ASP.NET Core- Anwendungen877
Geschäftslogik878
Web API887
Kapitel 25 - MiracleList-Web-Client899
Technikeinsatz im Web-Client899
Angular-CLI900
Webserver starten902
Zusatzkomponenten903
Proxy für REST-Dienste904
Daten darstellen905
Navigation zu den Aufgaben907
Datumsanzeigen910
Zeilenumbrüche912
Aufgabenstatus ändern912
Aufgaben anlegen915
Suchfunktion916
Komponentenbildung917
Schritt 1: Routing-Modul919
Schritt 2: Kommunikationsdienst919
Schritt 3: Teilaufgabenliste in SubTaskList-Komponente920
Schritt 4: Auslagerung in TaskView922
Schritt 5: Aufgaben bearbeiten924
Schritt 6: Integration in AppComponent925
Datepicker926
Kontextmenü verwenden927
Nachfragen beim Löschen930
Animationen931
Sortieren der Aufgabenliste932
Benutzeranmeldung933
Hauptmenü935
Testen936
Auslieferung939
Kapitel 26 - MiracleList-Electron-Client941
Hybride Apps942
Architektur von Electron942
Electron-Projekt anlegen943
Kommunikation zwischen Main und Renderer952
Erweiterungen in der Webanwendung952
Start der Electron-Anwendung955
Debugging956
Deployment957
Kapitel 27 - MiracleList-Cordova-Client959
Architektur von Cordova960
Cordova-Projekt anlegen 961
Cordova-Anwendung starten963
Erweiterungen in der Webanwendung964
Cordova-APIs verwenden965
Plug-ins verwenden966
Responsive Web Design mit Bootstrap969
Index971

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

AUTOCAD Magazin

AUTOCAD Magazin

Die herstellerunabhängige Fachzeitschrift wendet sich an alle Anwender und Entscheider, die mit Softwarelösungen von Autodesk arbeiten. Das Magazin gibt praktische ...

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

F- 40

F- 40

Die Flugzeuge der Bundeswehr, Die F-40 Reihe behandelt das eingesetzte Fluggerät der Bundeswehr seit dem Aufbau von Luftwaffe, Heer und Marine. Jede Ausgabe befasst sich mit der genaue Entwicklungs- ...