Привет, Харборожители!

С новым изданием «.NET 8: приложения и сервисы» вы сможете поднять свои навыки владения C# и .NET на новый уровень.

В книге описаны практические приемы использования различных технологий, включая Web API, gRPC, GraphQL и SignalR, что выделяет ее среди других источников. Она познакомит вас с новой унифицированной моделью Blazor Full Stack и расскажет, как использовать .NET MAUI для разработки мобильных и десктопных приложений.

В новом издании представлены последние достижения, включая бесшовную реализацию веб-сервисов со встроенной поддержкой Ahead-of-Time (AOT) ADO. NET SqlClient. Помимо других популярных библиотек, в книге рассматриваются Humanizer и Noda Time. Совершенно новая глава расскажет об архитектуре, кэшировании, организации очередей и приемах построения надежных фоновых сервисов.

Обретите глубокие знания и создайте многофункциональные и эффективные
приложения.

Вы научитесь:

  • узнавать, как хранить данные локально и в облаке и управлять ими с помощью SQL Server и Cosmos DB;

  • работать с такими технологиями, как gRPC и GraphQL;

  • научитесь использовать ADO.NET SqlClient для реализации веб-сервисов со встроенной поддержкой AOT;

  • видеть приемы использования Dapper для повышения производительности по сравнению с EF Core;

  • выяснять, как внедрять популярные сторонние библиотеки, такие как Serilog, FluentValidation, Humanizer и Noda Time;

  • исследовать новую унифицированную модель хостинга Blazor Full Stack.

Об авторе книги и научных редакторах

Марк Дж. Прайс (Mark J. Price) — сертифицированный специалист Microsoft по программам Programming in C# и Architecting Microsoft Azure Solutions, имеет более чем 20-летний опыт работы. С 1993 года Марк сдал свыше 80 экзаменов Microsoft по программированию и специализируется на подготовке к сдаче экзаменов других людей. С 2001 по 2003 год Марк занимался составлением официальных учебных программ для Microsoft в Редмонде, США. С коллегами он выпустил первые учебные курсы по C# еще в пору альфа-тестирования. В Microsoft Марк проводил «тренинг тренеров», готовя сертифицированных преподавателей компании к работе с C# и .NET. Большую часть своей карьеры Марк обучает студентов разного возраста — от 16-летних подростков до 70-летних пенсионеров, в большинстве своем профессиональных разработчиков. Имеет степень бакалавра компьютерных наук.

Трой Мартин — программист-самоучка, пишущий код больше десяти лет, причем последнее время в основном на C#. Глубоко мотивированный и увлеченный, он получил более 20 сертификатов по различным языкам программирования и движкам для разработки игр. Сейчас он занят разработкой своего первого независимого игрового проекта и стремится помочь единомышленникам достичь их собственных целей в программировании.

Киран Фут — программист-самоучка на C# с удивительным стремлением к изучению новых технологий и методов. Он постоянно отслеживает последние достижения в области C#, уделяя особое внимание веб-технологиям. Будучи ведущим разработчиком ПО в небольшой софтверной компании ConnX Business Solutions, расположенной в Великобритании, он помогает другим людям в приобретении новых навыков.

Структура книги

Введение

Глава 1 посвящена настройке среды разработки и концепциям использования приложений Visual Studio 2022, Visual Studio Code и JetBrains Rider. Вы также узнаете, как получить справочные сведения и связаться со мной (автором этой книги) в целях решения проблем или отправки отзыва для улучшения книги.

Данные

Глава 2 посвящена настройке SQL Server под Windows и в облаке Azure с помощью SQL Database. Затем вы создадите демонстрационную БД вымышленной организации Northwind. С помощью библиотек ADO.NET (Microsoft.Data.SqlClient) вы научитесь писать код низкоуровневого доступа для достижения максимальной производительности, а также упрощать разработку посредством Dappe— технологии преобразования объектов в данные.

Глава 3 рассказывает об использовании технологии преобразования объектов в данные более высокого уровня — Entity Framework Core (EF Core). Вы научитесь создавать библиотеки классов, определяющие модель EF Core, для работы с БД Northwind, созданной в главе 2. Эти библиотеки классов используются во многих последующих главах.

Глава 4 посвящена нативному облачному NoSQL-хранилищу данных Azure Cosmos DB. Вы узнаете, как считывать и записывать данные с помощью нативного API.

Библиотеки

В главе 5 рассказывается о повышении производительности, масштабируемости и продуктивности работы пользователей посредством одновременного выполнения нескольких действий с помощью потоков и задач.

В главе 6 рассматриваются вопросы решения таких распространенных практических задач, как форматирование текста и чисел с помощью инструмента Humanizer, обработка изображений в ImageSharp, логирование с библиотекой Serilog, преобразование объектов с помощью AutoMapper, генерация модульных тестов в FluentAssertions, проверка данных посредством FluentValidation и создание PDF документов в библиотеке QuestPDF.

В главе 7 рассказывается о способах решения таких популярных задач, как обработка дат и времени, работа с часовыми поясами, а также глобализация и локализация данных и пользовательского интерфейса приложения в рамках интернационализации. Помимо встроенных типов данных для работы с датами и временем, мы рассмотрим гораздо более совершенную стороннюю библиотеку Noda Time.

Сервисы

В главе 8 представлен наипростейший способ создания веб-сервисов на основе минимальных API в ASP.NET Core. Благодаря им отпадает необходимость в использовании классов-контроллеров. Вы узнаете, как сократить время запуска и количество требуемых ресурсов, используя инструментарий публикации Native AOT. Затем мы рассмотрим, как защитить и обезопасить веб-сервис, ограничивая количество запросов, а также используя технологии CORS, проверки подлинности и авторизации. Вы изучите способы тестирования веб-сервиса в новом HTTP- редакторе, встроенном в программу Visual Studio 2022, и с помощью расширения REST Client для Visual Studio Code.

В главе 9 речь пойдет о проектировании сервисов и добавлении в них средств повышения масштабируемости и надежности, таких как кэширование и очереди. Вы также научитесь справляться с
временными сбоями и решать длительные задачи с помощью фоновых сервисов.

Глава 10 знакомит с сервисом Azure Functions, настраиваемым для работы исключительно за счет ресурсов сервера. При инициации некоего действия, скажем отправки сообщения в очередь, загрузки
файла в хранилище или с указанной периодичностью запускается соответствующий наносервис.

В главе 11 рассматривается SignalR — технология для создания многопользоваельских сервисов, позволяющих рассылать сообщения всем или определенным клиентам в реальном времени, например
системам уведомлений и дашбордам с регулярно обновляемой информацией, в частности с котировками акций.

В главе 12 рассказывается о создании сервисов, обеспечивающих удобный единый канал агрегации данных из нескольких источников. Для реализации сервиса вы воспользуетесь платформой ChilliCream
GraphQL, содержащей сервер Hot Chocolate. Новое в этом издании книги — реализация функций пагинации, фильтрации, сортировки и подписки.

Глава 13 посвящена сборке эффективных gRPC-микросервисов. Вы узнаете о .proto-файлах для конфигурации сервисных контрактов и бинарном формате Protobuf в рамках сериализации сообщений. Путем транскодирования gRPC JSON вы реализуете поддержку gRPC-сервисов в браузерах. В этом изданиия описал приемы оптимизации запуска и уменьшения затрат памяти gRPC-сервиса с помощью инструментария публикации Native AOT, процесс работы с пользовательскими типами данных, в том числе десятичным значениями, а также способы реализации перехватчиков и обработчиков сбоев.

Приложения

Глава 14 посвящена созданию пользовательских веб-интерфейсов с помощью фреймворка MVC на платформе ASP.NET Core. Вы узнаете о синтаксисе Razor, тег-хелперах и фреймворке Bootstrap для быстрого прототипирования пользовательских интерфейсов.

В главе 15 вы займетесь разработкой компонентов пользовательского интерфейса с помощью нового унифицированного полностекового хостинга Blazor, пред- ставленного в .NET 8. Теперь допускается персональная настройка компонентов Blazor для выполнения приложения на сторонах клиента и сервера
одновременно. На случай, когда необходимо использовать такие объекты браузера, как локальное хранилище, вы узнаете о JS-взаимодействии.

Глава 16 рассматривает процессы разработки кросс-платформенных мобильных и классических приложений под системы Android, iOS, macOS и Windows. Вы познакомитесь с языком XAML, используемым для конфигурации графического пользовательского интерфейса приложения.

Резюме

В конце книги описываются способы получения дополнительной информации о разработке приложений и сервисов на C# и .NET, а также инструменты и навыки, необходимые каждому профессиональному разработчику .NET. В приложении приведены ответы на вопросы из разделов «Проверьте свои знания»
в конце каждой главы.

Структура книги

Введение

Глава 1 посвящена настройке среды разработки и концепциям использования приложений Visual Studio 2022, Visual Studio Code и JetBrains Rider. Вы также узнаете, как получить справочные сведения и связаться со мной (автором этой книги) в целях решения проблем или отправки отзыва для улучшения книги.

Данные

Глава 2 посвящена настройке SQL Server под Windows и в облаке Azure с помощью SQL Database. Затем вы создадите демонстрационную БД вымышленной организации Northwind. С помощью библиотек ADO.NET (Microsoft.Data.SqlClient) вы научитесь писать код низкоуровневого доступа для достижения максимальной производительности, а также упрощать разработку посредством Dapper — технологии преобразования объектов в данные.

Глава 3 рассказывает об использовании технологии преобразования объектов в данные более высокого уровня — Entity Framework Core (EF Core). Вы научитесь создавать библиотеки классов, определяющие модель EF Core, для работы с БД Northwind, созданной в главе 2. Эти библиотеки классов используются во многих последующих главах.

Глава 4 посвящена нативному облачному NoSQL-хранилищу данных Azure Cosmos DB. Вы узнаете, как считывать и записывать данные с помощью нативного API.

Библиотеки

В главе 5 рассказывается о повышении производительности, масштабируемости и продуктивности работы пользователей посредством одновременного выполнения нескольких действий с помощью потоков и задач.

В главе 6 рассматриваются вопросы решения таких распространенных практических задач, как форматирование текста и чисел с помощью инструмента Humanizer, обработка изображений в ImageSharp, логирование с библиотекой Serilog, преобразование объектов с помощью AutoMapper, генерация модульных тестов в FluentAssertions, проверка данных посредством FluentValidation и создание PDF-документов в библиотеке QuestPDF.

В главе 7 рассказывается о способах решения таких популярных задач, как обработка дат и времени, работа с часовыми поясами, а также глобализация и локализация данных и пользовательского интерфейса приложения в рамках интернационализации. Помимо встроенных типов данных для работы с датами и временем, мы рассмотрим гораздо более совершенную стороннюю библиотеку Noda Time.

Сервисы

В главе 8 представлен наипростейший способ создания веб-сервисов на основе минимальных API в ASP.NET Core. Благодаря им отпадает необходимость в использовании классов-контроллеров. Вы узнаете, как сократить время запуска и количество требуемых ресурсов, используя инструментарий публикации Native AOT. Затем мы рассмотрим, как защитить и обезопасить веб-сервис, ограничивая количество запросов, а также используя технологии CORS, проверки подлинности и авторизации. Вы изучите способы тестирования веб-сервиса в новом HTTP-редакторе, встроенном в программу Visual Studio 2022, и с помощью расширения REST Client для Visual Studio Code.

В главе 9 речь пойдет о проектировании сервисов и добавлении в них средств повышения масштабируемости и надежности, таких как кэширование и очереди. Вы также научитесь справляться с временными сбоями и решать длительные задачи с помощью фоновых сервисов.

Глава 10 знакомит с сервисом Azure Functions, настраиваемым для работы исключительно за счет ресурсов сервера. При инициации некоего действия, скажем отправки сообщения в очередь, загрузки файла в хранилище или с указанной периодичностью запускается соответствующий наносервис.

В главе 11 рассматривается SignalR — технология для создания многопользовательских сервисов, позволяющих рассылать сообщения всем или определенным клиентам в реальном времени, например системам уведомлений и дашбордам с регулярно обновляемой информацией, в частности с котировками акций.

В главе 12 рассказывается о создании сервисов, обеспечивающих удобный единый канал агрегации данных из нескольких источников. Для реализации сервиса вы воспользуетесь платформой ChilliCream GraphQL, содержащей сервер Hot Chocolate. Новое в этом издании книги — реализация функций пагинации, фильтрации, сортировки и подписки.

Глава 13 посвящена сборке эффективных gRPC-микросервисов. Вы узнаете о .proto-файлах для конфигурации сервисных контрактов и бинарном формате Protobuf в рамках сериализации сообщений. Путем транскодирования gRPC JSON вы реализуете поддержку gRPC-сервисов в браузерах. В этом издании я описал приемы оптимизации запуска и уменьшения затрат памяти gRPC-сервиса с помощью инструментария публикации Native AOT, процесс работы с пользовательскими типами данных, в том числе десятичными значениями, а также способы реализации перехватчиков и обработчиков сбоев.

Приложения

Глава 14 посвящена созданию пользовательских веб-интерфейсов с помощью фреймворка MVC на платформе ASP.NET Core. Вы узнаете о синтаксисе Razor, тег-хелперах и фреймворке Bootstrap для быстрого прототипирования пользовательских интерфейсов.

В главе 15 вы займетесь разработкой компонентов пользовательского интерфейса с помощью нового унифицированного полностекового хостинга Blazor, представленного в .NET 8. Теперь допускается персональная настройка компонентов Blazor для выполнения приложения на сторонах клиента и сервера одновременно. На случай, когда необходимо использовать такие объекты браузера, как локальное хранилище, вы узнаете о JS-взаимодействии.

Глава 16 рассматривает процессы разработки кросс-платформенных мобильных и классических приложений под системы Android, iOS, macOS и Windows. Вы познакомитесь с языком XAML, используемым для конфигурации графического пользовательского интерфейса приложения.

Резюме

В конце книги описываются способы получения дополнительной информации о разработке приложений и сервисов на C# и .NET, а также инструменты и навыки, необходимые каждому профессиональному разработчику .NET. В приложении приведены ответы на вопросы из разделов «Проверьте свои знания» в конце каждой главы.

Подробнее ознакомиться с книгой «.NET 8: приложения и сервисы. Практика создания проектов с использованием Blazor, .NET MAUI, gRPC, GraphQL. 2-е изд.» можно на нашем сайте.

» Оглавление
» Отрывок

По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25 % по купону — NET8

Комментарии (5)


  1. Mizantrop777
    24.07.2025 11:19

    Ui не поддерживает же aot? Единственное что нашел - avalonia


    1. NarkkoZ
      24.07.2025 11:19

      1. vrdev
        24.07.2025 11:19

        AOT для WebAssembly только


    1. maxcat
      24.07.2025 11:19

      UWP уже в 2к15 умел AOT, и чтобы сейчас dotnet 8 подружить с UWP придётся собрать dotnet под AOT

      Ну а MAUI должен иметь возможность AOT как минимум для iOS


  1. MamkinHacker
    24.07.2025 11:19

    Дороговато однако