Что там в .NET?
523 subscribers
37 photos
79 links
Рассказываем, что происходит в мире .NET.

С вопросами можно пинать @nevoroman
Download Telegram
Если что, трансляция конференции умерла и возвращаться пока не желает. Удивительно, в первый день ничего подобного не было, а тут с самого начала куча технических проблем.
Возможно, трансляцию остановились диверсанты-фронтендеры, боящиеся за свое положение на рынке труда.
Трансляция восстановилась, но теперь там не слишком интересный доклад о еще-одном-очень-простом-способе-запихать-приложение-в-Azure
Следующее демо показывало, что .NET умеет делать сегодня в плане машинного обучения. Выводы примерно такие:

- 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 в основном показывают, как просто и красиво все работает.
Еще один доклад об Azure, на этот раз рассказывают об Azure Communication Services — наборе сервисов, позволяющих коммуницировать с пользователем разными способами. Звонки, видео, чаты и даже смски.

Ничего особо интересного от демо не ожидаю, так что просто скину страничку с информацией о сервисах.

https://azure.microsoft.com/en-us/services/communication-services/
А теперь нам рассказывают о том, как разрабатывать приложения для Microsoft Teams.

Судя по расписанию, ближайший доклад, относящийся к обновкам из .NET 6, будет аж в час ночи.
Любопытная фича VS Code — возможность создавать блокноты (эдакие markdown-файлы с возможностью запускать код), совмещающие в себе несколько языков.

Так, например, можно наглядно сравнивать реализацию концепций в разных языках
Мотивирующий слайд от Microsoft на тему «бросай OData, переходи на GraphQL»
Еще одно изменение .NET 6, которое можно было пропустить в анонсах — небольшое улучшение поддержки OpenTelemetry.

https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-system-diagnostics-propagators
И куда более значительное изменение в рамках той же поддержки это новое API System.Diagnostics.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/
И очередная пачка перфомансных улучшений, на этот раз для gRPC.
И еще пара важных фич. Раз — ретрай.
И два — балансировка на клиенте.
А еще добавили поддержку HTTP/3 в gRPC. Пока в превью, впрочем.
Тем временем, Microsoft делают уже второй доклад, тесно связанный с Dapr.

Одно из двух: или они решили купить Dapr, или наконец-то начали пиарить инструменты, которые делают не Microsoft.

Очень хочется надеяться на второе. Пересказывать особенно нечего, так что просто посоветую пару хороших докладов про Dapr. Это действительно классная платформа для работы с микросервисами, советую присмотреться к ней повнимательнее.

Alex Thissen — Dapr for building distributed .NET Core applications

Edwin van Wijk, Sander Molenkamp — Advanced Dapr
Ах да, и в качестве преимущества Dapr они приводят «вы можете писать на куче других языков»

Ну то есть Microsoft рекламируют инструмент, сделанный не ими, за счет возможности писать на языках, которые делают не они.
И на этом сегодняшние сессии от Microsoft закончились.

Каких-то особенно интересных выводов нет, все же новой информации мы получили немного.

Самым интересным было демо Blazor WebAssembly — хорошее, практичное, показывающее кучу новой функциональности и рост производительности. Хочется верить, что в проде все будет работать также красиво.

Остальное — приятные мелочи вроде улучшений для observability и gRPC. И, конечно, очень радует релиз dotnet monitor — он должен сильно упростить сбор метрик и отладку приложений под Linux и Mac.
Кстати, то самое впечатляющее демо Blazor WebAssebly уже доступно в записи. Рекомендую к просмотру, очень классная демонстрация возможностей wasm.

https://www.youtube.com/watch?v=kesUNeBZ1Os
Нашел классную статью из блога StackOverflow — рассказывают, как актуализировать принципы SOLID к современной разработки.

Выглядит очень актуально в современном .NET, советую почитать.

https://stackoverflow.blog/2021/11/01/why-solid-principles-are-still-the-foundation-for-modern-software-architecture/