Blazor für ASP.NET Web Forms-EntwicklerBlazor for ASP.NET Web Forms Developers

Wichtig

VORSCHAUEDITIONPREVIEW EDITION

Dieser Artikel stellt frühe Inhalte aus einem Buch bereit, das zurzeit in Bearbeitung ist.This article provides early content from a book that is currently under construction. Wenn Sie Feedback übermitteln möchten, senden Sie dieses an https://aka.ms/ebookfeedback.If you have any feedback, submit it at https://aka.ms/ebookfeedback.

Screenshot: Covers des E-Books „Serverless Apps“ (Serverlose Apps)

DOWNLOAD verfügbar unter: https://aka.ms/blazor-ebookDOWNLOAD available at: https://aka.ms/blazor-ebook

VERÖFFENTLICHT VONPUBLISHED BY

Microsoft Developer Division, .NET- und Visual Studio-ProduktteamsMicrosoft Developer Division, .NET, and Visual Studio product teams

Eine Abteilung der Microsoft CorporationA division of Microsoft Corporation

One Microsoft WayOne Microsoft Way

Redmond, Washington 98052-6399Redmond, Washington 98052-6399

Copyright © 2019 Microsoft CorporationCopyright © 2019 by Microsoft Corporation

Alle Rechte vorbehalten.All rights reserved. Die Inhalte dieses Buchs dürfen in keiner Form und für keinen Zweck ohne die schriftliche Genehmigung des Herausgebers reproduziert oder übertragen werden.No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.

Dieses Buch wird unverändert bereitgestellt und drückt die Ansichten und Meinungen des Autors aus.This book is provided "as-is" and expresses the author's views and opinions. Die Ansichten, Meinungen und Informationen, die in diesem Buch zum Ausdruck gebracht werden, einschließlich URLs und anderer Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden.The views, opinions and information expressed in this book, including URL and other Internet website references, may change without notice.

Einige der hier dargestellten Beispiele dienen nur zu Illustrationszwecken und sind fiktiv.Some examples depicted herein are provided for illustration only and are fictitious. Keinerlei Zuordnung oder Verbindung zu realen Gegebenheiten ist beabsichtigt oder sollte gefolgert werden.No real association or connection is intended or should be inferred.

Microsoft und die auf der Webseite „Marken“ unter https://www.microsoft.com aufgelisteten Marken sind Marken der Microsoft-Unternehmensgruppe.Microsoft and the trademarks listed at https://www.microsoft.com on the "Trademarks" webpage are trademarks of the Microsoft group of companies.

Mac und macOS sind Marken von Apple Inc.Mac and macOS are trademarks of Apple Inc.

Alle anderen Marken und Logos sind Eigentum der jeweiligen Besitzer.All other marks and logos are property of their respective owners.

Autoren:Authors:

Daniel Roth , Principal Program Manager, Microsoft Corp.Daniel Roth, Principal Program Manager, Microsoft Corp.

Jeff Fritz , Senior Program Manager, Microsoft Corp.Jeff Fritz, Senior Program Manager, Microsoft Corp.

Taylor Southwick , Senior Software Engineer, Microsoft Corp.Taylor Southwick, Senior Software Engineer, Microsoft Corp.

Scott Addie , Senior Content Developer, Microsoft Corp.Scott Addie, Senior Content Developer, Microsoft Corp.

EinführungIntroduction

.NET unterstützt schon seit langem die Entwicklung von Web-Apps mithilfe von ASP.NET, einen umfassenden Satz von Frameworks und Tools zum Erstellen von Web-Apps jeder Art..NET has long supported web app development through ASP.NET, a comprehensive set of frameworks and tools for building any kind of web app. ASP.NET kann auf eine eigene Erbfolge von Web-Frameworks und Technologien zurückblicken, an deren Anfang die klassischen Active Server Pages (ASP) stehen.ASP.NET has its own lineage of web frameworks and technologies starting all the way back with classic Active Server Pages (ASP). Frameworks wie ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web Pages und in jüngerer Zeit ASP.NET Core bieten einen produktiven und leistungsstarken Weg zum Erstellen von auf dem Server gerenderten Web-Apps, bei denen die Inhalte der Benutzeroberfläche als Reaktion auf HTTP-Anforderungen dynamisch auf dem Server generiert werden.Frameworks like ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web Pages, and more recently ASP.NET Core, provide a productive and powerful way to build server-rendered web apps, where UI content is dynamically generated on the server in response to HTTP requests. Jedes ASP.NET-Framework richtet sich an eine andere Zielgruppe und steht für eine andere Philosophie bei der Web-App-Erstellung.Each ASP.NET framework caters to a different audience and app building philosophy. ASP.NET Web Forms wurde mit der ursprünglichen Version von .NET Framework geliefert und ermöglichte die Webentwicklung auf der Grundlage vieler Muster, die Desktopentwicklern vertraut sind, wie etwa wiederverwendbare Steuerelemente der Benutzeroberfläche mit einfachem Ereignishandling.ASP.NET Web Forms shipped with the original release of the .NET Framework and enabled web development using many of the patterns familiar to desktop developers, like reusable UI controls with simple event handling. Allerdings bot keins der ASP.NET-Angebote eine Möglichkeit zum Ausführen von Code im Browser des Benutzers.However, none of the ASP.NET offerings provide a way to run code that executed in the user's browser. Dazu sind das Schreiben von JavaScript-Code und die Verwendung eines der vielen JavaScript-Frameworks und -Tools erforderlich, die sich im Lauf der Jahre wechselnder Beliebtheit erfreut haben: jQuery, Knockout, Angular, React usw.To do that requires writing JavaScript and using any of the many JavaScript frameworks and tools that have phased in and out of popularity over the years: jQuery, Knockout, Angular, React, and so on.

Blazor ist ein neues Framework, mit dem sich die Grenzen des Möglichen beim Erstellen von Web-Apps mit .NET verschieben.Blazor is a new web framework that changes what is possible when building web apps with .NET. Blazor ist ein clientseitiges Framework für Webbenutzeroberflächen, das auf C# anstelle von JavaScript basiert.Blazor is a client-side web UI framework based on C# instead of JavaScript. Mit Blazor können Sie Ihre clientseitige Logik und die Komponenten der Benutzeroberfläche in C# schreiben, sie in normale .NET-Assemblys kompilieren und sie dann mithilfe eines neuen offenen Webstandards namens WebAssembly direkt im Browser ausführen.With Blazor you can write your client-side logic and UI components in C#, compile them into normal .NET assemblies, and then run them directly in the browser using a new open web standard called WebAssembly. Alternativ kann Blazor Ihre .NET-Benutzeroberflächenkomponenten auf dem Server ausführen und alle Interaktionen mit der Benutzeroberfläche flüssig über eine Echtzeitverbindung mit dem Browser verarbeiten.Or alternatively, Blazor can run your .NET UI components on the server and handle all UI interactions fluidly over a real-time connection with the browser. In Kombination mit auf dem Server ausgeführtem .NET ermöglicht Blazor die vollständige Webentwicklung mit .NET.When paired with .NET running on the server, Blazor enables full-stack web development with .NET. Zwar hat Blazor viele Gemeinsamkeiten mit ASP.NET Web Forms, etwa ein wiederverwendbares Komponentenmodell und ein einfaches Verfahren zum Verarbeiten von Benutzerereignissen, es baut aber außerdem auf den Grundlagen von .NET Core auf, um eine moderne und leistungsstarke Benutzeroberfläche zur Webentwicklung zur Verfügung zu stellen.While Blazor shares many commonalities with ASP.NET Web Forms, like having a reusable component model and a simple way to handle user events, it also builds on the foundations of .NET Core to provide a modern and high performance web development experience.

Dieses Buch macht ASP.NET Web Forms-Entwickler auf vertraute und komfortable Weise mit Blazor bekannt.This book introduces ASP.NET Web Forms developers to Blazor in a way that is familiar and convenient. Es stellt Blazor-Konzepte parallel mit analogen Konzepten in ASP.NET Web Forms vor und erläutert zugleich neue Konzepte, die möglicherweise weniger vertraut sind.It introduces Blazor concepts in parallel with analogous concepts in ASP.NET Web Forms while also explaining new concepts that may be less familiar. Es behandelt eine große Bandbreite von Themen und Anliegen, einschließlich Komponentenerstellung, Routing, Layout, Konfiguration und Sicherheit.It covers a broad range of topics and concerns including component authoring, routing, layout, configuration, and security. Und obwohl die Inhalte dieses Buchs sich hauptsächlich auf die Förderung von Neuentwicklung beziehen, werden auch Richtlinien und Strategien für das Migrieren vorhandener ASP.NET Web Forms zu Blazor behandelt, für den Fall, dass Sie eine vorhandene App modernisieren möchten.And while the content of this book is primarily for enabling new development, it also covers guidelines and strategies for migrating existing ASP.NET Web Forms to Blazor for when you want to modernize an existing app.

Zielgruppe dieses BuchsWho should use the book

Dieses Buch richtet sich an ASP.NET Web Forms-Entwickler, die nach einer Einführung in Blazor suchen, die auf ihren vorhandenen Kenntnissen und Qualifikationen aufbaut.This book is for ASP.NET Web Forms developers looking for an introduction to Blazor that relates to their existing knowledge and skills. Dieses Buch kann beim schnellen Einstieg in ein neues Blazor-basiertes Projekt oder beim Festlegen einer Roadmap zum Modernisieren einer vorhandenen ASP.NET Web Forms-Anwendung helfen.This book can help with quickly getting started on a new Blazor-based project or to help chart a roadmap for modernizing an existing ASP.NET Web Forms application.

So verwenden Sie dieses BuchHow to use the book

Der erste Teil des Buchs befasst sich damit, was Blazor ist, und vergleicht es mit der Web-App-Entwicklung mit ASP.NET Web Forms.The first part of this book covers what Blazor is and compares it to web app development with ASP.NET Web Forms. Anschließend behandelt das Buch Kapitel für Kapitel eine Reihe von Blazor-Themen und setzt jedes Blazor-Konzept zu dem entsprechenden Konzept in ASP.NET Web Forms in Beziehung oder erläutert gründlich die vollständig neuen Konzepte.The book then covers a variety of Blazor topics, chapter by chapter, and relates each Blazor concept to the corresponding concept in ASP.NET Web Forms, or explains fully any completely new concepts. Das Buch verweist außerdem regelmäßig auf eine vollständige Beispiel-App, die sowohl in ASP.NET Web Forms als auch in Blazor implementiert wurde, um Blazor-Features zu veranschaulichen und eine Fallstudie für das Migrieren von ASP.NET Web Forms zu Blazor zu bieten.The book also refers regularly to a complete sample app implemented in both ASP.NET Web Forms and Blazor to demonstrate Blazor features and to provide a case study for migrating from ASP.NET Web Forms to Blazor. Sie finden beide Implementierungen der Beispiel-App (ASP.NET Web Forms- und Blazor-Version) auf GitHub.You can find both implementations of the sample app (ASP.NET Web Forms and Blazor versions) on GitHub.

Was in diesem Buch nicht behandelt wirdWhat this book doesn't cover

Dieses Buch ist eine Einführung in Blazor, kein umfassendes Migrationshandbuch.This book is an introduction to Blazor, not a comprehensive migration guide. Es bietet zwar Anleitung, wie man sich dem Migrieren eines Projekts von ASP.NET Web Forms zu Blazor nähern kann, es behandelt aber nicht jede Nuance und jedes Detail.While it does include guidance on how to approach migrating a project from ASP.NET Web Forms to Blazor, it does not attempt to cover every nuance and detail. Einen allgemeineren Leitfaden zum Migrieren von ASP.NET zu ASP.NET Core finden Sie im Migrationsleitfaden in der ASP.NET Core-Dokumentation.For more general guidance on migrating from ASP.NET to ASP.NET Core, refer to the migration guidance in the ASP.NET Core documentation.

Zusätzliche RessourcenAdditional resources

Die offizielle Blazor-Homepage und -Dokumentation finden Sie unter https://blazor.net.You can find the official Blazor home page and documentation at https://blazor.net.

Senden Sie uns Ihr FeedbackSend your feedback

Dieses Buch und die dazugehörigen Beispiele werden ständig weiterentwickelt, deshalb freuen wir uns über Ihr Feedback.This book and related samples are constantly evolving, so your feedback is welcomed! Wenn Sie Anmerkungen zur Verbesserung dieses Buchs haben, nutzen Sie den Feedbackabschnitt, der unten auf jeder Seite zu finden ist und über den GitHub-Issues erstellt werden.If you have comments about how this book can be improved, use the feedback section at the bottom of any page built on GitHub issues.