Microsoft corporate blog
.NET
ASP
C#
April 29

Blazor перешел из стадии эксперимента в Preview

Original author: Daniel Roth
Translation
С этим новым релизом мы рады сообщить, что Blazor теперь в стадии превью! Blazor больше не является экспериментальным, и мы обязуемся предоставлять его в качестве поддерживаемого фреймворка веб-интерфейса, включая поддержку запуска на стороне клиента в браузере на WebAssembly.

Чуть более года назад мы запустили экспериментальный проект Blazor с целью создания клиентского фреймворка веб-интерфейса на основе .NET и WebAssembly. В то время Blazor был нечто чуть-большим, чем прототип, и было много открытых вопросов о жизнеспособности запуска .NET в браузере. С тех пор мы выпустили девять экспериментальных релизов Blazor, посвященных различным проблемам, включая компонентную модель, привязку данных, обработку событий, маршрутизацию, макеты, размер приложения, модели хостинга, отладку и инструменты. Сейчас мы находимся в точке, когда мы думаем, что Blazor готов сделать свой следующий шаг.
image

Упрощение именования и управления версиями


Ранее в одних случаях мы использовали терминологию Razor Components, а в других Blazor. Это сбивало с толку, поэтому, следуя многочисленным отзывам сообщества, мы решили отказаться от имени ASP.NET Core Razor Components и вместо этого вернуться к названию Server-side Blazor.

Это подчеркивает, что Blazor является моделью одного клиентского приложения с несколькими моделями хостинга:

  • Server-side Blazor – работающий на сервере через SignalR
  • Client-side Blazor – работающий на стороне клиента на WebAssembly

… но в любом случае, это все та же самая модель программирования. Одни и те же компоненты Blazor могут быть размещены в обеих средах.

Также, поскольку Blazor теперь является частью .NET Core, версии пакетов Blazor на стороне клиента теперь соответствуют версиям .NET Core 3.0. Например, номер версии всех превью-пакетов, которые мы отправляем сегодня — 3.0.0-preview4-19216-03. Мы больше не используем отдельные 0.x номера версий для работающих на стороне клиента пакетов Blazor.

Что и когда будет поставляться


  • Server-side Blazor будет поставляться как часть .NET Core 3.0. Об этом уже было объявлено в прошлом октябре.
  • Client-side Blazor не будет поставляться как часть первоначального выпуска .NET Core 3.0, но сейчас мы объявляем, что она будет поставляться как часть будущего выпуска .NET Core (и, следовательно, больше не является “экспериментом”).

С каждым превью-выпуском .NET Core 3.0 мы будем продолжать поставлять превью-выпуски как серверной, так и клиентской версии Blazor.

Сегодняшний превью-релиз


Новые фичи в этой превью-версии:

  • Обновлены шаблоны для использования расширения файла .razor
  • _Imports.razor
  • Компоненты Scope с using
  • Новый шаблон элемента компонента
  • Новые иконки Blazor
  • Поддержка Blazor в Visual Studio Code

Ознакомьтесь с анонсом ASP.NET Core 3.0 Preview 4 для получения подробной информации об этих улучшениях. Смотрите также примечания к выпуску Blazor для получения дополнительной информации об этой превью-версии.

Получите превью-версию Blazor


Чтобы начать работу с превью-версией Blazor, установите следующее:

  1. .NET Core 3.0 Preview 4 SDK (3.0.100-preview4-011223)
  2. Шаблоны Blazor через командную строку:

    dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03
  3. Visual Studio 2019 Preview с ASP.NET и выбранной рабочей нагрузкой веб-разработки, а также последнее расширение Blazor из Visual Studio Marketplace или Visual Studio Code с последней версией расширения C# (теперь с поддержкой Blazor!).

Вы можете найти инструкции о начале работы, документацию и учебные материалы для Blazor на нашей новой домашней странице Blazor — blazor.net.

image

Обновление до превью-версии Blazor


Чтобы обновить существующие приложения Blazor до preview, сначала убедитесь, что установлены необходимые компоненты, перечисленные выше, а затем выполните следующие шаги:

  • Обновите все ссылки пакетов Microsoft.AspNetCore.Blazor.* на 3.0.0-preview4-19216-03.
  • Удалите все ссылки на пакеты на Microsoft.AspNetCore.Components.Server.
  • Удалите все DotNetCliToolReference в Microsoft.AspNetCore.Blazor.Cli замените их ссылкой на пакет Microsoft.AspNetCore.Blazor.DevServer.
  • В клиентских проектах Blazor удалите свойства image и image.
  • В клиентских проектах Blazor добавьте свойство image.
  • Переименуйте все _ViewImports.cshtml файлы в _Imports.razor.
  • Переименуйте все оставшиеся файлы .cshtml в .razor.
  • Переименуйте components.webassembly.js в blazor.webassembly.js
  • Удалите любое использование пространства имен Microsoft.AspNetCore.Components.Services и при необходимости замените его на Microsoft.AspNetCore.Components.
  • Обновите проекты сервера для использования маршрутизации endpoint:

    // Замените это:
    app.UseMvc(routes =>
    {
        routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
    });
    
    // Этим:
    app.UseRouting();
    
    app.UseEndpoints(routes =>
    {
        routes.MapDefaultControllerRoute();
    });
  • Запустите dotnet clean в решении, чтобы очистить старые декларации Razor.

Страницей сообщества Blazor теперь является Awesome Blazor


В рамках обновления сайта Blazor мы решили удалить страницу сообщества Blazor и вместо этого направить людей на управляемый сообществом сайт Awesome Blazor. Спасибо тебе, Адриен Торрис (Adrien Torris) за ведение этого действительно потрясающего списка ресурсов Blazor!

Изучите превью Blazor-UI от Telerik, DevExpress и Syncfusion


Blazor развивается и с помощью активного и поддерживающего сообщества, которое добавило все возможные примеры приложений, компонентов и библиотек в экосистему Blazor. Недавно популярные поставщики компонентов, такие как Telerik, DevExpress и Syncfusion, присоединились к нам и представили превью-компоненты Blazor UI. Мы рекомендуем вам попробовать эти варианты Blazor UI и сообщить им, что вы думаете.

Дайте фидбэк


Мы надеемся, что вам понравится этот превью-выпуск Blazor. Как и в предыдущих выпусках, ваши отзывы очень важны. Если у вас возникли проблемы или вопросы во время апробации Blazor, вы можете написать на GitHub. Вы также можете обратиться к нам и сообществу Blazor на Gitter, если вы застряли или хотите поделиться тем, как у вас работает Blazor. После того, как вы протестируете Blazor в течение некоторого времени, пожалуйста, сообщите нам, что вы думаете, приняв участие в нашем опросе. Нажмите на ссылку опроса, показанную на домашней странице приложения, при запуске одного из шаблонов проекта Blazor:



Спасибо, что попробовали Blazor!
+20
7.3k 27
Comments 25