Aspnetcore: План развития Blazor для .NET 5

Созданный на 5 мая 2020  ·  38Комментарии  ·  Источник: dotnet/aspnetcore

В этом выпуске будут перечислены важные результаты, которые команда Blazor рассматривает для выпуска ASP.NET Core 5.0. Хотя мы надеемся решить все эти проблемы, остается еще много неизвестного, и по мере нашего продвижения все будет меняться. Обратите внимание, что это основные области инвестиций, и параллельно будет проводиться работа по внесению множества мелких исправлений и улучшений, включая вклад сообщества.

Превью 7

  • [x] [Переместить Blazor в .NET 5] (https://github.com/dotnet/aspnetcore/issues/20519)

Превью 8

  • [x] [Изоляция CSS] (https://github.com/dotnet/aspnetcore/issues/10170)
  • [x] [Поддержка IAsyncDisposable] (https://github.com/dotnet/aspnetcore/issues/9960)
  • [x] [Ленивая загрузка областей приложения] (https://github.com/dotnet/aspnetcore/issues/5465)
  • [x] [Добавить поддержку фокуса в BrowserRenderer] (https://github.com/dotnet/aspnetcore/issues/17472)
  • [x] [Защищенное хранилище браузера] (https://github.com/dotnet/aspnetcore/issues/18755)

RC1

  • [x] [Оптимизация производительности Blazor] (https://github.com/dotnet/aspnetcore/issues/22432)
  • [x] [Виртуализация] (https://github.com/dotnet/aspnetcore/issues/23092)
  • [x] [Как загружать файлы в приложение Blazor] (https://github.com/dotnet/aspnetcore/issues/12205)
  • [x] [Изоляция JS и JSObjectReference] (https://github.com/dotnet/aspnetcore/issues/23560)
  • [x] [Предварительная отрисовка Blazor WebAssembly] (https://github.com/dotnet/aspnetcore/issues/24098)

    Возможные сокращения

  • [] [Перетащите и отпустите] (https://github.com/dotnet/aspnetcore/issues/18754)

  • [] [Добавить поддержку инструментов для требуемых параметров компонентов] (https://github.com/dotnet/aspnetcore/issues/25055)

  • [] [Повышение производительности сборки для Blazor] (https://github.com/dotnet/aspnetcore/issues/22566)
  • [] [Обязательные параметры для компонентов Blazor (проверка времени выполнения)] (https://github.com/dotnet/aspnetcore/issues/11815)
  • [] [Разрешить ограничения универсального типа] (https://github.com/dotnet/aspnetcore/issues/8433)
  • [] [Компиляция AoT] (https://github.com/dotnet/aspnetcore/issues/5466)
  • [] [Поддержка SVG в Blazor] (https://github.com/dotnet/aspnetcore/issues/18271)
  • [] [Поддержка нескольких обработчиков событий для одного и того же события в одном элементе] (https://github.com/dotnet/aspnetcore/issues/14365)
  • [] [Ограничить иерархию родительских и дочерних компонентов в Blazor] (https://github.com/dotnet/aspnetcore/issues/12302)
  • [] [Добавить возможность передавать @typeparam дочерним компонентам] (https://github.com/dotnet/aspnetcore/issues/7268)
Done area-blazor roadmap

Самый полезный комментарий

@ pjmlp Ваша критика небезосновательна, но давай ... Blazor (и WebAssembly в целом) - самая удивительная, захватывающая и потрясающая разработка в области веб-технологий - по крайней мере за 20 лет! Рот, Сандерсон и друзья заслуживают нашей похвалы за то, что снова сделали веб-разработку увлекательной.

А чтобы волшебным образом улучшить наши возможности трудоустройства, не узнавая ничего нового ... задумайтесь об этом на секунду!

И подумайте о наших коллегах по .NET, которые никогда не делали SPA (angular / react / vue) - банда aspnet просто взмахнула волшебной палочкой и превратила их из «backend-разработчиков» в «fullstack devs». Просто так ... магия.


BTW: Очень рад, что планируется изоляция css. Но, пожалуйста (!), Добавьте также изоляцию js . Компоненты пользовательского интерфейса, которые полагаются на библиотеки js (например, Bootstrap), должны иметь возможность объявлять / использовать css И js внутри компонента - в противном случае проект станет трудно поддерживать.

Все 38 Комментарий

Ссылка на Required parameters to blazor components указывает на неправильную проблему. Я думаю так должно быть
https://github.com/dotnet/aspnetcore/issues/11815 ?

@JvanderStad Спасибо, что указали на это! Должен быть исправлен сейчас.

Будет ли Blazor (на стороне сервера) доступен в будущих реализациях Mono не только для среды выполнения ядра сети? Например, было бы здорово запустить Blazor (и другие приложения AspNetCore) на других архитектурах ЦП, где поддерживается моно.

Вперед, команда! Отличная работа, надеюсь, со временем все станет еще лучше!

Будет ли Blazor (на стороне сервера) доступен в будущих реализациях Mono не только для среды выполнения ядра сети?

@EntityFX У нас нет никаких планов по поддержке Blazor Server, кроме .NET Core. Blazor Server основан на ASP.NET Core, который является частью .NET Core. Если есть архитектуры, в которых вы хотели бы видеть поддержку .NET Core, сообщите им об этом, открыв проблему в репозитории https://github.com/dotnet/runtime/issues .

Будет ли обратная совместимость с QBasic? 🤪

Поехали, Blazor 5.0! 🚀

RIPjs

Будут ли какие-либо улучшения в управлении пользователями? Кажется немного обременительным создавать и перенаправлять пользователей на страницы .cshtml, чтобы обрабатывать вход / выход пользователей и создание пользователей. Было бы здорово, если бы всем этим можно было управлять только в компонентах Blazor.

@KrazyTako У нас не запланирована немедленная работа по управлению пользователями, но мы делаем все возможное, чтобы расставить приоритеты на основе отзывов пользователей и сообщества, поэтому, пожалуйста, сообщайте о любых отзывах, которые у вас есть в этой области, и мы их рассмотрим.

Я большой поклонник Blazor WASM и недавно реализовал корпоративное приложение с Blazor. Огромная функциональность в компонентах, полное использование кода C # и .Net, отличный опыт! Однако после загрузки приложения с данными у меня возникают некоторые проблемы, в основном с производительностью; что я сейчас сомневаюсь, продолжать или ждать повышения производительности в следующих версиях:

  1. В сложных объектах изменение текущей строки сетки данных займет почти 5 секунд для повторной привязки элементов управления формы к новой строке! (Я использовал шаблон INotifyPropertyChanged в своих сущностях), но реализация Angular делает это мгновенно.
  2. Все сторонние компоненты сетки данных (по крайней мере, те, которые я тестировал), почему-то незрелые и медленные в некоторых функциях и очень медленные в загрузке данных и редактировании в ячейках, что является важной особенностью корпоративных приложений; если вы щелкнете по ячейке, потребуется примерно 3-4 секунды, чтобы текстовое поле появилось и подготовилось к вводу пользователем (Telerik, Syncfusion, ...).
  3. В конце концов, я сделал тест, сравнив скорость для Wasm Blazor и Angular для выполнения простой функции, имеющей серию вычислений (в основном увеличение значения переменной с привязкой к форме в некоторых циклах). Для Blazor Wasm это заняло 2000 мс, а для Angular - всего 25 мс! И это был трагический результат. Более чем в 80 раз медленнее! (Все тесты повторены с использованием последней официальной версии Blazor Webassembly)

Я слышал, что с функцией AoT мы получим прирост производительности всего в 5 раз, и даже с учетом накладных расходов, связанных с увеличением размера приложения.

Так что, пожалуйста, помогите и скажите, могут ли у нас быть хорошие новости в следующих версиях .Net 5 или 6 по этим вопросам?
Спасибо

_Не по теме_

Будет ли обратная совместимость с QBasic? 🤪

Поехали, Blazor 5.0! 🚀

RIPjs

Вы можете отправить запрос на включение https://github.com/microsoft/GW-BASIC

@Sherweeen Мы работаем над различными улучшениями производительности среды выполнения для Blazor WebAssembly в .NET 5. В настоящее время Blazor WebAssembly работает в среде выполнения на основе интерпретатора, которая имеет известные ограничения производительности, над которыми мы работаем. Мы также работаем с различными поставщиками компонентов, чтобы помочь повысить эффективность их реализации компонентов.

@ danroth27
Ожидаем включения поддержки директивы 5607

В настоящее время большая часть пользователей, которые планируют внедрить веб-сборку Blazor, переведены из оригинальной WinForm, WPF или React, angular, разработчиков Vue, и многие из разработанных продуктов являются корпоративными приложениями. Если набор мультитенантных механизмов управления пользователями, регистрации, входа в систему и других механизмов управления безопасностью может быть "из коробки", это значительно ускорит применение blazor webaeembly.

@ 199621616 Вы имеете в виду что-то вроде Azure B2C?

https://docs.microsoft.com/en-us/azure/active-directory-b2c/overview

@stephenstroud

Хотя мне удалось выполнить аутентификацию Azure для моего приложения wasm, он не включен в шаблон wasm, как для сервера Blazor, возможно, это то, что упоминается, чтобы упростить настройку для нового проекта?

@PylotLight Шаблон Blazor WebAssembly поддерживает использование Azure AD или Azure AD B2C , но в настоящее время параметры доступны только из командной строки, а не из VS. VS должен включить эти параметры в будущем обновлении.

@PylotLight Вы можете увидеть некоторую информацию об этом в выпуске № 21671. Текущий процесс реализации чего-то вроде Azure AD B2C в веб-сборке Blazor представляет собой довольно сложный процесс, поэтому мы надеемся, что упомянутые обновления улучшат этот процесс.

@lzinga , @ danroth27 Спасибо за информацию, но меня это не беспокоит: P
Я только пытался объяснить, о чем спрашивал чувак выше. Конечно, было бы здорово увидеть эту функциональность, включенную в стандартные шаблоны, хотя =].

@ danroth27 Хотя я понимаю причины принятия решения о дорожной карте, пожалуйста, примите во внимание, что после Silverlight, XNA, UWP (с собственным .NET Flavor), EF6, WCF, .NET Native, C ++ / CX vs C ++ / WinRT и многих других Что касается других ошибок, Microsoft сжегла любовь разработчиков, и это влияет на решения, которые мы советуем нашим клиентам относительно внедрения технологий.

@ pjmlp Ваша критика небезосновательна, но давай ... Blazor (и WebAssembly в целом) - самая удивительная, захватывающая и потрясающая разработка в области веб-технологий - по крайней мере за 20 лет! Рот, Сандерсон и друзья заслуживают нашей похвалы за то, что снова сделали веб-разработку увлекательной.

А чтобы волшебным образом улучшить наши возможности трудоустройства, не узнавая ничего нового ... задумайтесь об этом на секунду!

И подумайте о наших коллегах по .NET, которые никогда не делали SPA (angular / react / vue) - банда aspnet просто взмахнула волшебной палочкой и превратила их из «backend-разработчиков» в «fullstack devs». Просто так ... магия.


BTW: Очень рад, что планируется изоляция css. Но, пожалуйста (!), Добавьте также изоляцию js . Компоненты пользовательского интерфейса, которые полагаются на библиотеки js (например, Bootstrap), должны иметь возможность объявлять / использовать css И js внутри компонента - в противном случае проект станет трудно поддерживать.

@ lonix1 Я упомянул, что понимаю причины этого изменения.

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

Благодаря тому, как произошел переход .NET Core 1.0 => .NET Core 2.0, я получил проект для клиента, который решил перенести некоторые критически важные службы из .NET в Java и развернуть их в Linux.

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

Так что убейте мессенджера, если хотите, но это не изменит восприятие в некоторых кругах.

тис ржавчины очень быстрый
https://jetli.github.io/rust-yew-realworld-example-app/#/

Blazor работает слишком медленно! слишком медленно ! слишком медленно !
Блазуру нужна производительность !!!

@pjmlp Думаю, вам поможет, если вы проясните, о каком именно решении вы говорите. (Может быть, отложить AOT?)

@chucker Все решения, которые сжигают разработчиков, которые используют технологию на основе .NET, с момента появления UWP, за которым последовала перезагрузка .NET Core.

Для разработчиков-полиглотов .NET - не единственная технология, к которой мы стремимся, это просто еще один вариант среди многих, поэтому, если руководство Microsoft решит отодвинуть элементы дорожной карты, такие как компиляция AOT, в неопределенное будущее, нам нужно переоценить наш бизнес. решения соответственно, на случай, если поддержка AOT никогда не придет, WebAssembly никогда не придет, несмотря на потрясающую работу, проделанную Дэниелом и его командой.

Похоже, WebAssembly AOT отложен до выпуска 6.0 (ноябрь 2021 г.).
https://github.com/dotnet/runtime/issues/38367#issuecomment -651117373

@Sherweeen, мы

Является ли серверная часть Blazor частью .Net 5 и обновляется ли она?

Является ли серверная часть Blazor частью .Net 5 и обновляется ли она?

@ mg1357 , да, это часть .NET 5 и получает все обновления компонентной модели.

В одном из недавних стендапов сообщества стажер продемонстрировал некоторые возможности виртуализации, которые, как мы надеемся, будут реализованы в кандидате asp.net core 5.0 RC. Так ли это до сих пор? Есть ли проблема, которую можно отследить для этой функции?

Привет, я видел, что # 23560 был закрыт, означает ли это, что мы получаем изоляцию JS, или это то, что не будет покрыто?

ПД: Я не вижу этого в дорожной карте, поэтому спрашиваю

@barahonajm - я думаю, можно с уверенностью сказать, что он был завершен и Done отметка 5.0.0-rc1 ;)

@barahonajm Ага , изоляция JS с помощью модулей ES6 будет доступна в следующем выпуске .NET 5 RC1: tada :.

Есть новости о WASM AOT?

Есть ли план развития .NET 6? Если есть, дайте ссылку

@ ivanivanyuk1993 Еще нет. Мы все еще дорабатываем .NET 5 и только начинаем планирование .NET 6.

Где я могу сегодня посмотреть документы по:

  • Изоляция CSS
  • Защищенное хранилище браузера

@VictorioBerra Официальная документация все еще находится в стадии разработки, но вы можете прочитать об этих новых функциях здесь: https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview- 8 /

Была ли эта страница полезной?
0 / 5 - 0 рейтинги