А теперь рассказывают про Global Usings и Implicit Usings.
Первая фича позволяет унести все общие using в один большой файл, вторая — и вовсе убрать многие Using, они будут выводиться автоматически.
Первая фича позволяет унести все общие using в один большой файл, вторая — и вовсе убрать многие Using, они будут выводиться автоматически.
Итого, что показали в демо C# 10?
- Объявление namespace без скобок и лишней вложенности
- Global и implicit using
- Record structures, улучшения для структур и более широкий функционал with
- Вывод типов для лямбд
- Немного улучшений для интерполяции строк
Как и ожидалось — ничего ломающего мозг, мелкий сахар и упрощения. Пожалуй, оно и к лучшему, мощные концептуальные изменения сейчас только излишне усложнили бы язык
- Объявление namespace без скобок и лишней вложенности
- Global и implicit using
- Record structures, улучшения для структур и более широкий функционал with
- Вывод типов для лямбд
- Немного улучшений для интерполяции строк
Как и ожидалось — ничего ломающего мозг, мелкий сахар и упрощения. Пожалуй, оно и к лучшему, мощные концептуальные изменения сейчас только излишне усложнили бы язык
Про сам доклад пока нечего сказать, в основном показывают разнообразные компоненты Blazor. Их действительно немало и выглядят они удобно, но рассказывать не о чем.
А теперь рассказывают об интеграции с Angular и React — о ней, например, можно почитать в блоге Microsoft
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-rc-1/#generate-angular-and-react-components-using-blazor
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-rc-1/#generate-angular-and-react-components-using-blazor
Microsoft News
ASP.NET Core updates in .NET 6 Release Candidate 1
.NET 6 Release Candidate 1 is now available! Check out all the improvements in ASP.NET Core in this update.
Доклад про MAUI не взрывал мозг, но показал перспективный инструмент.
По ощущениям — сейчас частей функциональности еще не хватает, но простые приложения уже можно и разрабатывать, и запускать на разных платформах. В любом случае, до официального релиза в прод MAUI лучше не пихать.
Код напоминает смесь WPF с Xamarin. Из WPF переехал общий подход к разработке, из Xamarin фичи и компоненты. Словом, все привычное для .NET разработчиков, код выглядит самоочевидно.
Фичи для разработки с MAUI доступны в preview версии VS.
По ощущениям — сейчас частей функциональности еще не хватает, но простые приложения уже можно и разрабатывать, и запускать на разных платформах. В любом случае, до официального релиза в прод MAUI лучше не пихать.
Код напоминает смесь WPF с Xamarin. Из WPF переехал общий подход к разработке, из Xamarin фичи и компоненты. Словом, все привычное для .NET разработчиков, код выглядит самоочевидно.
Фичи для разработки с MAUI доступны в preview версии VS.
Но повторю еще раз — пока это достаточно сырой инструмент, не советую использовать его в чем-то серьезнее pet-проектов.
Даже ребята из Microsoft во время ответов на вопросы подчеркивают, что MAUI пока не готов к продакшену.
Даже ребята из Microsoft во время ответов на вопросы подчеркивают, что MAUI пока не готов к продакшену.
А в эфире технические неполадки — начался доклад про F# и к нему должен был подключиться (видимо, удаленно) Don Syme, создатель языка. Но что-то не подключается.
Тем не менее, доклад идет и нам показывают изменения, делающие язык дружелюбнее для новичка.
Тем не менее, доклад идет и нам показывают изменения, делающие язык дружелюбнее для новичка.
Что в итоге по демо нового F#
- Много упрощений, делающих язык дружелюбнее для новичка
- Перфомансные улучшения
- Нормальная отладка пайплайнов
- Всякие улучшения-упрощения для task
Улучшения вроде бы небольшие, но по факту, F# получил даже больший буст, чем C#. Очень радует, что язык развивается и становится проще для новых разработчиков — именно порог входа сейчас останавливает многих от изучения F#.
- Много упрощений, делающих язык дружелюбнее для новичка
- Перфомансные улучшения
- Нормальная отладка пайплайнов
- Всякие улучшения-упрощения для task
Улучшения вроде бы небольшие, но по факту, F# получил даже больший буст, чем C#. Очень радует, что язык развивается и становится проще для новых разработчиков — именно порог входа сейчас останавливает многих от изучения F#.
Кстати, Microsoft везде показывают Hot Reload в Visual Studio, но он поддерживается и в Rider
https://blog.jetbrains.com/dotnet/2021/10/25/hot-reload-for-net-6-in-rider-2021-3/
https://blog.jetbrains.com/dotnet/2021/10/25/hot-reload-for-net-6-in-rider-2021-3/
The JetBrains Blog
Hot Reload for .NET 6 in Rider 2021.3 | The .NET Tools Blog
With JetBrains Rider 2021.3, you can now take advantage of Hot Reload if you are targeting .NET 6! You can make targeted changes in the IDE and apply the changes directly against a running process.
А теперь рассказывают о поддержке разного «удаленного» тестирования — прогона тестов в приложениях, которые запущены в контейнерах, WSL или к которым ты подключаешься через SSH. Выглядит неплохо.
О, оказывается Microsoft портировали Playwright — классную библиотеку для end-to-end тестирования. Советую посмотреть и потестить.
https://github.com/microsoft/playwright-dotnet
https://github.com/microsoft/playwright-dotnet
GitHub
GitHub - microsoft/playwright-dotnet: .NET version of the Playwright testing and automation library.
.NET version of the Playwright testing and automation library. - microsoft/playwright-dotnet
В .NET добавили команду
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-format
dotnet format, которая автоматически форматирует код. Такая команда может пригодиться как часть пайплайна — например, чтобы автоматически приводить к некоторому стилю весь код, который коммитится в репозиторий.https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-format
Docs
dotnet format command - .NET CLI
The dotnet format command formats code to match EditorConfig settings for the current directory.
А еще на трансляции рассказывают о возможностях расширения автодополнения с помощью Roslyn. То есть вы можете написать специальный провайдер, который будет давать дополнительные опции для автодополнения. Вот статья с примером разработки такого провайдера
https://www.strathweb.com/2018/12/using-roslyn-c-completion-service-programmatically/
https://www.strathweb.com/2018/12/using-roslyn-c-completion-service-programmatically/
Тем временем — доклад о Minimal APIs. Поскольку эти API и впрямь довольно минималистичные, в докладе едва ли будет много новой информации. Зато я могу посоветовать вам статью на эту тему от Скотта Хансельмана — читается быстро и дает достаточное понимание, что такое Minimal APIs.
https://www.hanselman.com/blog/exploring-a-minimal-web-api-with-aspnet-core-6
https://www.hanselman.com/blog/exploring-a-minimal-web-api-with-aspnet-core-6
Hanselman
Exploring a minimal Web API with ASP.NET Core 6
I write about minimal Web APIs in 2016 and my goal has always been for 'dotnet ...