Blazor

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Blazor
Logo for Blazor web framework
Тип Фреймворк
Автор Microsoft
Разработчик .NET Foundation [1]
Операционная система Linux, macOS, Windows
Первый выпуск 2018; 3 года назад (2018)
Лицензия лицензия Apache
Сайт dotnet.microsoft.com/apps/aspnet/web-apps/blazor

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 работает, его устаревшая версия, т.е. Microsoft Edge Legacy и Internet Explorer 11 удаляются при использовании Blazor.[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 (July 31, 2018). Дата обращения: 22 октября 2018. Архивировано 22 октября 2018 года.
  2. Tomassetti. Blazor: .NET in the Browser (September 4, 2018). Дата обращения: 22 октября 2018. Архивировано 22 октября 2018 года.
  3. Stropek. Learn Blazor (September 2018). Дата обращения: 22 октября 2018. Архивировано 22 октября 2018 года.
  4. James. Blazor .NET In The Browser (February 12, 2018). Дата обращения: 23 октября 2018.
  5. Web Development - C# in the Browser with Blazor. MSDN Magazine (September 2018). Дата обращения: 22 октября 2018. Архивировано 22 октября 2018 года.
  6. Get started building .NET web apps that run in the browser with Blazor. ASP.NET Blog (March 22, 2018). Дата обращения: 22 октября 2018.
  7. guardrex. Call JavaScript functions from .NET methods in ASP.NET Core Blazor (англ.). docs.microsoft.com. Дата обращения: 11 ноября 2020.
  8. Roth. Blazor Server in .NET Core 3.0 scenarios and performance. ASP.NET Blog. Microsoft (10 October 2019).
  9. Blazor WebAssembly 3.2.0 now available | ASP.NET Blog
  10. [Discussion Updated Blazor browser support for .NET 5 · Issue #26475 · dotnet/aspnetcore] (англ.). GitHub. Дата обращения: 11 ноября 2020.