Blazor

Перейти к навигацииПерейти к поиску
Blazor
Логотип программы Blazor
ТипФреймворк
АвторMicrosoft
Разработчики.NET Foundation [1]
Операционные системы Linux, macOS, Windows
Языки интерфейсаанглийский
Первый выпуск2018; 6 лет назад (2018)
Лицензиялицензия Apache
Сайтblazor.net

Blazor — бесплатная веб-платформа с открытым исходным кодом, позволяющая разработчикам создавать веб-приложения с использованием C# и HTML[1][2][3][4][5][6]. Разрабатывается корпорацией Microsoft.

Приложение Blazor может взаимодействовать с JavaScript (причем оба они работают на стороне клиента), например, вызывать (повторно использовать) функции JavaScript из .NET методов[7].

Обзор

Анонсировано пять различных редакций приложений Blazor.

  • Blazor Server: эти приложения размещаются на ASP.NET Core в ASP.NET Razor. Удаленные клиенты действуют как тонкие клиенты, а это означает, что основная нагрузка обработки ложится на сервер. Веб-браузер клиента загружает небольшую страницу и обновляет свой пользовательский интерфейс через соединение SignalR. Blazor Server был выпущен как часть .NET Core 3[8].
  • Blazor WebAssembly: одностраничные приложения, которые перед запуском загружаются в веб-браузер клиента. Размер загрузки больше, чем для Blazor Server, зависит от приложения, а обработка полностью выполняется на клиентском оборудовании. Однако этот тип приложений отличается быстрым временем отклика. Как следует из названия, этот клиентский фреймворк написан на WebAssembly, а не на JavaScript (хотя их можно использовать вместе). Blazor WebAssembly 3.2.0 был выпущен 19 мая 2020 года[9].

Microsoft планирует выпустить выпуски Blazor PWA и Blazor Hybrid. Первый поддерживает прогрессивные веб-приложения (PWA). Последний представляет собой платформенный фреймворк, но по-прежнему отображает пользовательский интерфейс с использованием веб-технологий (например, HTML и CSS). Третий, Blazor Native — платформенный фреймворк, который визуализирует собственный пользовательский интерфейс платформы, также рассматривался, но еще не достиг стадии планирования.

Поддержка

Начиная с версии 5.0 Blazor прекращает поддержку некоторых устаревших веб-браузеров, таких как Microsoft Edge Legacy и Internet Explorer 11[10].

Пример кода

В следующем примере показано, как реализовать простой счетчик, который можно увеличивать нажатием кнопки:

<h1>Blazor code example</h1>
<p>count: @count</p>
<button class="btn btn-primary" @onclick="IncCount">Click to increment</button>

@code {
  private int count = 0;

  private void IncCount()
  {
    count++;
  }
}

Примечания

  1. Strahl. Web Assembly and Blazor: Re-assembling the Web (31 июля 2018). Дата обращения: 22 октября 2018. Архивировано 22 октября 2018 года.
  2. Blazor: .NET in the Browser (англ.). Strumenta (4 сентября 2018). Дата обращения: 13 января 2022. Архивировано 22 октября 2018 года.
  3. Blazor University – Learn the new .NET SPA framework from Microsoft (англ.). Дата обращения: 13 января 2022. Архивировано 13 января 2022 года.
  4. James. Blazor .NET In The Browser (12 февраля 2018). Дата обращения: 23 октября 2018. Архивировано 23 октября 2018 года.
  5. kexugit. Web Development - C# in the Browser with Blazor (англ.). docs.microsoft.com. Дата обращения: 13 января 2022. Архивировано 22 октября 2018 года.
  6. Get started building .NET web apps that run in the browser with Blazor (англ.). .NET Blog (22 марта 2018). Дата обращения: 13 января 2022. Архивировано 13 января 2022 года.
  7. guardrex. Вызов функций JavaScript из методов .NET в ASP.NET Core Blazor (рус.). docs.microsoft.com. Дата обращения: 13 января 2022.
  8. Roth. Blazor Server in .NET Core 3.0 scenarios and performance. ASP.NET Blog. Microsoft (10 октября 2019). Дата обращения: 13 января 2022. Архивировано 13 января 2022 года.
  9. Blazor WebAssembly 3.2.0 now available (англ.). .NET Blog (19 мая 2020). Дата обращения: 13 января 2022. Архивировано 13 января 2022 года.
  10. (Discussion) Updated Blazor browser support for .NET 5 · Issue #26475 · dotnet/aspnetcore (англ.). GitHub. Дата обращения: 11 ноября 2020.

Ссылки

blazor.net — официальный сайт Blazor