Leanpub Header

Skip to main content

ASP.NET Core Blazor 3.0/3.1: Blazor Server und Blazor Webassembly

Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio

Blazor ist die Hoffnung für alle JavaScript-Hasser: Nach dem Ende von Silverlight können .NET-Entwickler nun wieder moderne Single-Page-Web-Applications (SPA) mit .NET und C# entwickeln. 

The author is letting you choose the price you pay for this book!

Pick Your Price...
PDF
381
Pages
About

About

About the Book

Dies ist die Version 1.4 des Buchs, die am 01.02.2020 im Umfang von 214 Seiten erschienen ist und sowohl Blazor Server als auch Blazor Webassembly in .NET Core 3.0 RTM und .NET Core 3.1 RTM behandelt.

Blazor ist die Hoffnung für alle JavaScript-Hasser: Nach dem Ende von Silverlight können .NET-Entwickler nun wieder moderne Single-Page-Web-Applications (SPA) mit .NET und C# entwickeln.

 

Dieses Top-aktuelle Fachbuch (Stand .NET Core-/ASP.NET Core-Versionen 3.0 und 3.1) unterstützt Sie nicht nur beim Einstieg in Blazor, sondern geht auch in vielen technischen Details weit über die spärliche Produktdokumentation hinaus.

 

Dabei werden beide Formen von Blazor gegenübergestellt: Blazor Server und Blazor Webassembly. Das Buch thematisiert ausführlich den Unterschied zwischen beiden Architekturen einschließlich Vor- und Nachteilen.

 

Danach behandelt das Buch alle wichtigen Programmieraufgaben für moderne Webanwendungen: Projektaufbau, Komponenten, Routing, Code-Behind, Ereignisse, Razor-Syntax, Zustandsverwaltung, Komponentenverschachtelung, Formulare/Eingabemasken, Klassenbibliotheken und Razor Class Libraries, Debugging, Dependency Injection (DI), Zugriff auf REST-Dienste, Interoperabilität mit JavaScript, Authentifizierung und Benutzerverwaltung.

 

Im Buch wird das praxisnahe Fallbeispiel "MiracleList" behandelt, das es in zwei Implementierungen sowohl für Blazor Server als auch Blazor Webassembly gibt.

Share this book

Price

Pick Your Price...

Minimum price

$19.99

$24.99

You pay

$24.99

Author earns

$19.99
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Author

Dr. Holger Schwichtenberg

Dr. Holger Schwichtenberg - alias der "DOTNET-DOKTOR" - ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 54 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Seine persönlichen Tätigkeitsschwerpunkte sind Webanwendungen, verteilte Systeme, systemnahe Programmierung und Datenbankzugriffe. Er programmiert leidenschaftlich in C# und JavaScript/TypeScript sowie PowerShell.

Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 95 Fachbücher für O’Reilly, Addison-Wesley, Microsoft Press, Apress und dem Hanser-Verlag gehört er zu den bekanntesten Softwareentwicklungsexperten in Deutschland. Er schreibt regelmäßig für die iX, die dotnetpro, windows developer und heise.de. Dadurch hat in seiner Karriere bereits über 1600 Fachartikel veröffentlicht. Von Microsoft wird er für sein .NET-Fachwissen seit nunmehr 22 Jahren kontinuierlich als Microsoft Most Valuable Professional (MVP) ausgezeichnet.

 

Sein Weblog finden Sie unter https://www.dotnet-doktor.de. Bei X folgen Sie ihm unter @DOTNETDOKTOR.

Contents

Table of Contents

1 Inhaltsverzeichnis 4 2 Vorwort 9 3 Über den Autor 11 4 Über dieses Buch 12 4.1 Versionsgeschichte dieses Buchs 12 4.2 Bezugsquelle für Aktualisierungen 14 4.3 Geplante Kapitel 14 4.4 Programmiersprache in diesem Buch 15 4.5 Notwendige Vorkenntnisse 15 5 Programmcodebeispiel zum Download 17 5.1 Webadresse für Downloads 17 5.2 Übersicht über die Beispiele 17 5.3 Qualitätssicherung der Programmcodebeispiele 18 6 Was ist ASP.NET Core Blazor? 19 6.1 Blazor-Arten 19 6.2 Geschichte von Blazor 20 6.3 Support für Blazor 21 6.4 Blazor Server 22 6.4.1 Rendering und Interaktion bei Blazor Server 23 6.4.2 Netzwerkverkehr bei Blazor Server 23 6.4.3 Ressourcenbedarf und Skalierbarkeit 24 6.4.4 Vor- und Nachteile von Blazor Server 25 6.5 Blazor Webassembly 26 6.6 Einsatzreife 28 6.7 Browserunterstützung 28 6.8 Blazor im Vergleich anderen Spielarten von ASP.NET Core 29 6.9 Blazor im Vergleich zu anderen Webframeworks 31 7 Projektaufbau 33 7.1 Aufbau eines Blazor Server-Projekts 34 7.1.1 Ordner und Dateien 34 7.1.2 Start-Code 35 7.1.3 Struktur des Seitenaufbaus 37 7.2 Aufbau eines Blazor Webassembly-Projekts 38 7.2.1 Start-Code im Client-Projekt 41 7.2.2 Start-Code im Server-Projekt 41 8 Komponentendateien 44 8.1 Einsatz von Razor Components 44 8.2 Namen für Komponenten 44 8.3 Ein-Datei-Komponenten 44 8.4 Komponenten mit Code-Behind-Datei 44 8.4.1 Code-Behind-Dateien auf Basis von Vererbung 45 8.4.2 Code-Behind-Dateien auf Basis von partiellen Klassen 47 8.5 Layoutseiten (Masterpages) 50 9 Routing und Navigation 52 9.1 Routendefinitionen 52 9.2 Routen mit Parametern 53 9.3 Navigation 54 9.4 Fallunterscheidung bei Mehrfachrouten 55 10 Razor-Syntax 56 11 Ereignisse 60 11.1 Komponentenlebenszyklusereignisse 60 11.2 Reaktion auf HTML-Ereignisse 61 11.3 Eigene Parameter bei HTML-Ereignissen 62 11.4 Standardparameter 62 12 Komponenteneinbettung 65 12.1 Einbetten von Razor Components 65 12.2 Parameter für eingebettete Razor Components 65 13 Zustandsverwaltung 67 13.1 Komponentenzustand 67 13.2 Testanwendung: Counter 67 13.3 Verlust des Zustandes 68 13.4 Bewahrung des Zustandes 70 13.5 Sitzungszustand 70 13.6 Generischer Sitzungszustand 71 13.7 Local Storage im Webbrowser 74 13.8 Persistierung in Datenbanken oder anderen persistenten Speichern auf dem Server 76 14 Formulare/Eingabemasken 78 14.1 Formulare auf Basis von Razor Components 78 14.1.1 Verfügbare Razor Components 78 14.1.2 Komponente 78 14.1.3 Eingabekomponenten 80 14.1.4 Datenannotationen 80 14.1.5 Validierungskomponenten in Blazor 82 14.1.6 Eigene Validierungsannotationen 82 14.1.7 Beispiel 83 14.2 Formulare auf Basis von HTML-Tags 88 15 Klassenbibliotheken und Razor Class Libraries (RCL) 92 15.1 .NET Standard 92 15.2 Referenzierbarkeit 94 15.3 Anlegen der Klassenbibliotheken 94 15.4 Einsatzgebiete der verschiedenen Klassenbibliotheksarten 96 15.5 Razor Class Libraries (RCL) 96 16 Debugging 98 17 Dependency Injection (DI) 99 17.1 Microsoft.Extensions.DependencyInjection 99 17.2 Implementierung eines Dienstes 99 17.3 Registrierung von Diensten 100 17.4 Injektion in einen Konstruktor 101 17.5 Automatisch registrierte Dienste 101 17.6 Manuelle Beschaffung 102 17.7 Injektion in eine Razor Components 102 17.8 Injezierung in Properties mit [Inject] 102 18 Zugriff auf REST-Dienste (WebAPIs) 104 18.1 WebAPI-Server 104 18.2 WebAPI-Client 106 19 Interoperabilität mit JavaScript 108 20 Serversystem- und Browserinformationen 111 20.1 HttpContext 111 20.2 Allgemeine Systeminformationen 112 21 Authentifizierung und Benutzerverwaltung 117 21.1 Verwenden von ASP.NET Identity in Blazor Server 117 21.1.1 Aktivieren der Authentifizierung in Blazor Server 117 21.1.2 Individuelle Benutzerkontenverwaltung 118 21.1.3 Anpassung der Benutzerverwaltungsseiten 120 21.2 Eigene Authentifizierungsprovider 124 21.2.1 AuthenticationStateProvider für Debugging-Zwecke 124 21.2.2 AuthenticationStateProvider in MiracleList 124 21.2.3 Nutzung des AuthenticationStateProvider 129 21.3 Zugriff auf den angemeldeten Benutzer 129 21.4 Autorisierung 130 21.4.1 Autorisierung von Komponenten 130 21.4.2 Inhalte für angemeldete Benutzer 130 21.5 Weitere Anpassung von ASP.NET Identity 130 22 Installation von Blazor-Anwendungen 131 22.1 Installation auf Azure-Dienste 131 22.2 Installationsvoraussetzungen für eigene Windows-Webserver (IIS) 131 22.3 Installation auf einem eigenen Windows-Webserver (IIS) 133 23 Fallbeispiel: MiracleList 136 23.1 Szenario 136 23.2 Links 137 23.3 Das MiracleList-Backend 137 23.3.1 Architektur 140 23.3.2 Entitätsklassen 143 23.3.3 Entity Framework Core-Kontextklasse 145 23.3.4 Lebensdauer der Kontextklasse in ASP.NET Core-Anwendungen 146 23.3.5 Geschäftslogik 147 23.3.6 Web API 155 23.4 MiracleList-Frontend mit Blazor Server 164 23.4.1 Projektaufbau 165 23.4.2 Anmeldeansicht (Login.razor) 166 23.4.3 Hauptansicht (Index.razor) 169 23.4.4 Bearbeitungsformular (TaskEdit.razor) 174 23.5 MiracleList-Frontend mit Blazor Webassembly 176 23.5.1 Projektaufbau 176 23.5.2 Anmeldeansicht (Login.razor) 178 23.5.3 Hauptansicht (Index.razor) 181 23.5.4 Bearbeitungsformular (TaskEdit.razor) 185 24 Umstieg von ASP.NET Webforms zu ASP.NET Core Blazor 189 24.1 Migrationspfade und Herausforderungen 189 24.2 Grundsätzliche Vorgehensweise bei der Migration 191 24.3 Umstieg von Webforms auf Blazor an einem Beispiel 192 24.4 Umstellung der Benutzerschnittstellenbeschreibung 198 24.5 Umstellung der Benutzerschnittstellensteuerung 199 25 Mobile Apps mit Mobile Blazor Bindings 201 25.1 Architektur der Mobile Blazor Bindings 201 25.2 Projekt anlegen 202 25.3 Aufbau der Projektvorlage 203 25.4 Verfügbare Steuerelemente 204 26 Quellen im Internet 206 27 Stichwortverzeichnis (Index) 207

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub