Blazor для разработчиков ASP.NET Web Forms
Можно загрузить по ссылке: https://aka.ms/blazor-ebook
Редакция 6.0 — обновлено для соответствия .NET 6
Обновления книги и сведения о вкладе сообщества см. в журнале изменений.
ИЗДАТЕЛЬ
Подразделение Microsoft Developer Division, команды разработки .NET и Visual Studio
Подразделение корпорации Майкрософт
One Microsoft Way
Redmond, Washington 98052-6399
© Корпорация Майкрософт (Microsoft Corporation), 2022 г.
Все права защищены. Запрещается полное или частичное воспроизведение или передача настоящей книги в любом виде или любыми средствами без письменного разрешения издателя.
Эта книга предоставляется на условиях "как есть" и выражает взгляды и мнения автора. Взгляды, мнения и сведения, содержащиеся в этой книге, включая URL-адреса и другие ссылки на веб-сайты, могут изменяться без уведомления.
Некоторые приведенные в книге примеры служат только для иллюстрации и являются вымышленными. Все совпадения с реальными наименованиями, людьми и любыми другими предметами являются непреднамеренными и случайными.
Microsoft и товарные знаки, перечисленные на странице "Товарные знаки" на сайте https://www.microsoft.com, являются товарными знаками группы компаний Майкрософт.
Mac и macOS являются товарными знаками Apple Inc.
Все другие наименования и логотипы являются собственностью своих законных владельцев.
Авторы:
Дениэл Рот (Daniel Roth) , главный руководитель программ в корпорации Майкрософт.
Дефф Фриц (Jeff Fritz) , главный руководитель программ в корпорации Майкрософт.
Тейлор Саусвик (Taylor Southwick) , старший инженер по программному обеспечению в корпорации Майкрософт.
Скотт Эдди (Scott Addie) , старший разработчик содержимого в корпорации Майкрософт.
Стив "@ardalis" Смит, архитектор программного обеспечения и тренер, NimblePros.com
Вступление
.NET уже давно поддерживает разработку веб-приложений через ASP.NET — комплексный набор платформ и средств для создания любых типов приложений. ASP.NET имеет собственную линейку веб-платформ и технологий, начиная с классического ASP. Такие платформы, как ASP.NET Web Forms, ASP.NET MVC, веб-страницы ASP.NET и более поздняя ASP.NET Core, предоставляют эффективный и функциональный способ создания веб-приложений, подготавливаемых к просмотру на сервере, в которых содержимое пользовательского интерфейса динамически формируется на сервере в ответ на HTTP-запросы. Каждая платформа ASP.NET ориентирована на определенную аудиторию и подход к созданию приложений. ASP.NET Web Forms поставляется с исходным выпуском .NET Framework и поддержкой веб-разработки с использованием множества шаблонов, знакомых разработчикам классических приложений, таких как многократно используемые элементы управления пользовательского интерфейса с простой обработкой событий. Однако ни одно из предложений ASP.NET не предоставляет способа для выполнения кода, выполняемого в браузере пользователя. Для этого требуется написать код JavaScript и использовать любые из множества платформ и средств JavaScript, которые набирали и теряли популярность в течение многих лет: jQuery, Knockout, Angular, React и т. д.
Blazor — это новая веб-платформа, которая расширяет возможности создания веб-приложений с помощью .NET. Blazor представляет собой клиентскую платформу веб-интерфейса, основанную на C#, а не на JavaScript. С помощью Blazor вы можете писать собственную клиентскую логику и компоненты пользовательского интерфейса на C#, компилировать их в обычные сборки .NET, а затем запускать их непосредственно в браузере с помощью нового открытого веб-стандарта WebAssembly. Кроме того, Blazor позволяет запускать интерфейсные компоненты .NET на сервере и гибко управлять всеми взаимодействиями с интерфейсом через подключение к браузеру в режиме реального времени. При использовании со средой .NET, работающей на сервере, Blazor позволяет разрабатывать на .NET веб-приложения для всего стека. Хотя платформа Blazor имеет много общего с ASP.NET Web Forms, например многократно используемую модель компонентов и простую обработку пользовательских событий, она также использует основы .NET для создания современной и высокопроизводительной среды веб-разработки.
Эта книга знакомит разработчиков ASP.NET Web Forms с Blazor в привычном и удобном для них формате. Понятия Blazor вводятся здесь в сравнении с аналогичными понятиями из ASP.NET Web Forms, и дается пояснение новых понятий, которые могут оказаться менее знакомыми. Книга охватывает обширный спектр вопросов и проблем, включая создание компонентов, маршрутизацию, макеты, настройку и безопасность. И хотя она в первую очередь помогает делать новые разработки, в ней также приведены рекомендации и стратегии по модернизации и переносу на Blazor уже существующих приложений на базе ASP.NET Web Forms.
Для кого предназначена эта книга
Книга предназначена для разработчиков ASP.NET Web Forms, желающих познакомиться с Blazor в контексте имеющихся у них знаний и навыков. Она поможет быстро приступить к работе над новым Blazor-проектом или составить план модернизации существующего приложения на основе ASP.NET Web Forms.
Как пользоваться книгой
В первой части книги приведено описание платформы Blazor и сравнение разработки на этой платформе с разработкой веб-приложений на базе ASP.NET Web Forms. Затем в отдельных главах книги описываются различные аспекты Blazor, причем каждое понятие Blazor соотносится с аналогичным понятием в ASP.NET Web Forms либо дается полное пояснение для принципиально новых концепций. Книга также регулярно ссылается на образец полноценного приложения, реализованного как на базе ASP.NET Web Forms, так и на платформе Blazor, чтобы продемонстрировать функции Blazor и представить пример миграции на Blazor с ASP.NET Web Forms. Обе реализации образца приложения (версии для ASP.NET Web Forms и Blazor) можно найти на GitHub.
Темы, которые выходят за рамки этой книги
Эта книга представляет собой введение в Blazor, а не исчерпывающее руководство по миграции. Хотя она содержит рекомендации по миграции проекта с ASP.NET Web Forms на Blazor, она не стремится описывать все нюансы и детали. Общие рекомендации по переходу с ASP.NET на ASP.NET Core см. в руководстве по миграции в документации по ASP.NET Core.
Дополнительные ресурсы
Официальную домашнюю страницу Blazor и документацию по этой платформе можно найти по адресу https://blazor.net.
Отправить отзыв
Эта книга и примеры постоянно дополняются, поэтому мы ждем ваших отзывов. Если у вас есть комментарии о том, как можно улучшить эту книгу, используйте раздел отзывов в нижней части любой страницы, созданный на основе проблем GitHub.