Итак, первый день подошел к концу! Какие выводы мы можем сделать?
Все ключевые инструменты заметно ускорились.
Улучшения перфоманса на уровне .NET 5, когда среднее приложение ускорилось на 30-35 процентов. Точнее можно будет сказать когда разработчики начнут мигрировать приложения на .NET 6.
Много улучшений практически для всех API.
Основной фокус — упрощения API и уменьшение бойлерплейта. Тоже приятно, делает .NET более дружелюбным для новичков.
Изменения в C# скорее косметические.
Однако они хорошо работают на одну из основных целей — упрощение кода и уменьшение бойлерплейта.
Кажется, Blazor (и даже его WebAssembly версия) готов к аккуратному втаскиванию в прод.
Но анонсы в этом плане не лучший источник — посмотрим на отзывы разработчиков в ближайшие месяцы. Так или иначе — много хороших компонентов, переиспользуемость, пофикшенные баги и улучшенная производительность вселяют надежду.
MAUI выглядит перспективно, но требует улучшений.
Я бы прогнозировал, что к .NET 7 он будет примерно на том же уровне, на котором сейчас находится Blazor.
Hot Reload — приятная мелочь.
В каких-то местах он не поддерживается, иногда требует перекомпиляции. Приятная фича, которая сделает разработку чуть более гладкой.
В общем, изменения в .NET 6 прям радуют. Очень много приятных мелочей и уверенное движение в сторону перфоманса/универсальности/простоты.
Все ключевые инструменты заметно ускорились.
Улучшения перфоманса на уровне .NET 5, когда среднее приложение ускорилось на 30-35 процентов. Точнее можно будет сказать когда разработчики начнут мигрировать приложения на .NET 6.
Много улучшений практически для всех API.
Основной фокус — упрощения API и уменьшение бойлерплейта. Тоже приятно, делает .NET более дружелюбным для новичков.
Изменения в C# скорее косметические.
Однако они хорошо работают на одну из основных целей — упрощение кода и уменьшение бойлерплейта.
Кажется, Blazor (и даже его WebAssembly версия) готов к аккуратному втаскиванию в прод.
Но анонсы в этом плане не лучший источник — посмотрим на отзывы разработчиков в ближайшие месяцы. Так или иначе — много хороших компонентов, переиспользуемость, пофикшенные баги и улучшенная производительность вселяют надежду.
MAUI выглядит перспективно, но требует улучшений.
Я бы прогнозировал, что к .NET 7 он будет примерно на том же уровне, на котором сейчас находится Blazor.
Hot Reload — приятная мелочь.
В каких-то местах он не поддерживается, иногда требует перекомпиляции. Приятная фича, которая сделает разработку чуть более гладкой.
В общем, изменения в .NET 6 прям радуют. Очень много приятных мелочей и уверенное движение в сторону перфоманса/универсальности/простоты.
Кстати о .NET 6, команда Rider пишет, что их IDE полностью готова ко всем обновкам!
Но пока только в EAP версии
https://twitter.com/dotnetfdn/status/1458172538538823685?s=21
Но пока только в EAP версии
https://twitter.com/dotnetfdn/status/1458172538538823685?s=21
Twitter
.NET Foundation
JetBrains Rider team is .NET 6 ready! With Rider 2021.3, you can take advantage of .NET 6 SDK support, Hot Reload, C# 10 upcoming features, and more! It's currently available in the free pre-release build: hubs.li/H0-QJH40 @JetBrainsRider #dotnet #dotnetconf
И начинается второй день .NET Conf! Первый доклад будет рассказывать о том, что нового .NET 6 принес в Blazor WebAssembly.
Посмотрим, что там интересного.
Посмотрим, что там интересного.
Фича, которую я совсем пропустил в анонсах: в Blazor WebAssembly добавили возможность компилировать сторонние зависимости в WebAssembly.
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-rc-2/#native-dependencies-support-for-blazor-webassembly-apps
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-rc-2/#native-dependencies-support-for-blazor-webassembly-apps
.NET Blog
ASP.NET Core updates in .NET 6 Release Candidate 2
.NET 6 Release Candidate 2 is now available! Check out all the improvements in ASP.NET Core in this update.
А на демо, например, запустили SQLite в браузере через WASM. Издевательство, но красивое.
А теперь с тем же Native Dependencies впихнули на фронт библиотеку на Rust.
Если это все реально будет также работать в суровом энтерпрайзе, то продано, Javascript официально мертв.
Если это все реально будет также работать в суровом энтерпрайзе, то продано, Javascript официально мертв.
Демо просто убийственно хорошее получилось. Реализовали много полезного функционала, упихали все это в удобный-понятный грид, подключили кучу зависимостей, а потом впихнули это все в приложения на React и, блин, WPF — без какой угодно дополнительной работы. И это все классно работает вместе!
Приложение ни разу не лагало и не зависало, зато завис стрим — как раз на демо с впихиванием функциональности в WPF. Но в общем-то и ладно, мне новый Blazor уже продали.
Приложение ни разу не лагало и не зависало, зато завис стрим — как раз на демо с впихиванием функциональности в WPF. Но в общем-то и ладно, мне новый Blazor уже продали.
Если что, трансляция конференции умерла и возвращаться пока не желает. Удивительно, в первый день ничего подобного не было, а тут с самого начала куча технических проблем.
Возможно, трансляцию остановились диверсанты-фронтендеры, боящиеся за свое положение на рынке труда.
Трансляция восстановилась, но теперь там не слишком интересный доклад о еще-одном-очень-простом-способе-запихать-приложение-в-Azure
Следующее демо показывало, что .NET умеет делать сегодня в плане машинного обучения. Выводы примерно такие:
- API выглядит привычнее и понятнее для .NET разработчиков, чем API других ML инструментов;
- Есть кое-какой тулинг упрощающий работу с данными;
- Одно из основных преимуществ ML.NET — простота доведения модели до продакшена.
Поясню последний пункт. Обучение модели и ее использование в продакшене это разные процессы. Настолько разные, что как правило обучают модель на условном Python, а потом используют в каком-нибудь другом коде — на .NET, Java и чем угодно еще. И это несколько усложняет процесс деплоя моделей, особенно если они постоянно обновляются. Поскольку ML.NET это часть .NET — задача заметно упрощается.
Однако из этого дема все еще непонятны перспективы машинного обучения на .NET. Основной критерий, по которому выбираются ML инструменты, это набор и качество реализации алгоритмов. О качестве по этому демо выводов сделать не получится (тут нужно отдельное большое сравнение с другими фреймворками), количество алгоритмов пока сильно отстает от передовых библиотек.
В общем, будем посмотреть.
- API выглядит привычнее и понятнее для .NET разработчиков, чем API других ML инструментов;
- Есть кое-какой тулинг упрощающий работу с данными;
- Одно из основных преимуществ ML.NET — простота доведения модели до продакшена.
Поясню последний пункт. Обучение модели и ее использование в продакшене это разные процессы. Настолько разные, что как правило обучают модель на условном Python, а потом используют в каком-нибудь другом коде — на .NET, Java и чем угодно еще. И это несколько усложняет процесс деплоя моделей, особенно если они постоянно обновляются. Поскольку ML.NET это часть .NET — задача заметно упрощается.
Однако из этого дема все еще непонятны перспективы машинного обучения на .NET. Основной критерий, по которому выбираются ML инструменты, это набор и качество реализации алгоритмов. О качестве по этому демо выводов сделать не получится (тут нужно отдельное большое сравнение с другими фреймворками), количество алгоритмов пока сильно отстает от передовых библиотек.
В общем, будем посмотреть.
Вкратце о прошедшем докладе: Azure Static Web Apps теперь поддерживает Blazor (в том числе WebAssembly), почитать о том, как это работает, можно вот тут:
https://docs.microsoft.com/ru-ru/azure/static-web-apps/deploy-blazor
Чего-то еще особенного не расскажу — доклады про Azure в основном показывают, как просто и красиво все работает.
https://docs.microsoft.com/ru-ru/azure/static-web-apps/deploy-blazor
Чего-то еще особенного не расскажу — доклады про Azure в основном показывают, как просто и красиво все работает.
Docs
Руководство по созданию статического веб-приложения с помощью Blazor в службе 'Статические веб-приложений Azure'
Сведения о том, как создать веб-сайт в службе "Статические веб-приложения Azure" с помощью Blazor.
Еще один доклад об Azure, на этот раз рассказывают об Azure Communication Services — наборе сервисов, позволяющих коммуницировать с пользователем разными способами. Звонки, видео, чаты и даже смски.
Ничего особо интересного от демо не ожидаю, так что просто скину страничку с информацией о сервисах.
https://azure.microsoft.com/en-us/services/communication-services/
Ничего особо интересного от демо не ожидаю, так что просто скину страничку с информацией о сервисах.
https://azure.microsoft.com/en-us/services/communication-services/
Microsoft
Azure Communication Services – Communication APIs | Microsoft Azure
Build engaging communication services and experiences with communication APIs, SMS APIs, and video APIs and technology as used by Microsoft Teams.
Еще одно изменение .NET 6, которое можно было пропустить в анонсах — небольшое улучшение поддержки OpenTelemetry.
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-system-diagnostics-propagators
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-system-diagnostics-propagators
Microsoft News
Announcing .NET 6 Preview 7
.NET 6 Preview 7 is now available.
И куда более значительное изменение в рамках той же поддержки это новое API System.Diagnostics.Metrics
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-5/#libraries-support-for-opentelemetry-metrics
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-5/#libraries-support-for-opentelemetry-metrics
О, dotnet-monitor наконец-то официально зарелизили!
Это такой инструмент (выпущенный года полтора назад, но в экспериментальном состоянии), нужный для сбора всяких артефактов из приложения. Логов, дампов и прочего.
https://devblogs.microsoft.com/dotnet/announcing-dotnet-monitor-in-net-6/
Это такой инструмент (выпущенный года полтора назад, но в экспериментальном состоянии), нужный для сбора всяких артефактов из приложения. Логов, дампов и прочего.
https://devblogs.microsoft.com/dotnet/announcing-dotnet-monitor-in-net-6/
Microsoft News
Announcing dotnet monitor in .NET 6
Announcing the first release of dotnet monitor, a diagnostics tool for .NET applications. This is the first supported release as a part of .NET 6.