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

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

Приложение 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++;  }}

Примечания

Ссылки

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