.NET Digest #4
Добро пожаловать на четвёртый выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз набралось множество новостей, и команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!
Мы стараемся совершенствоваться, так что будем рады вашим комментариям и предложениям :)
Не стесняйтесь присылать нам интересные материалы с помощью формы обратной связи!
Вы могли заметить, что раньше между дайджестами новостей проходил ровно один месяц, а в этот раз прошло два. Почему так? Мы решили выпускать дайджест новостей реже, чтобы он был более информативным и не так приедался читателям.
Сегодня в дайджесте: .NET 9 RC 1 и 2, бесплатный JetBrains Rider, Performance Improvements in .NET 9 и множество интересных статей.
Главные новости
.NET 9 Release Candidate 1 и .NET 9 Release Candidate 2
Компания Microsoft представила две версии .NET 9. На этот раз это не preview, а release candidate. Следующим шагом будет полноценный релиз .NET. Ожидаем, что релиз произойдёт в дни .NET Conf 2024, то есть 12–14 ноября. Как обычно, были добавлены улучшения в SDK, библиотеки, ASP.NET Core, и.NET MAUI. Из интересного, добавили историю изменения workload-ов.
Также добавлю, что мы в PVS-Studio уже работаем над поддержкой .NET 9 и C# 13. Поддержка должна появиться в релизе PVS-Studio 7.34 в декабре. Следите за нашими блогами или подпишитесь на рассылку новостей, чтобы быть в курсе.
WebStorm and Rider Are Now Free for Non-Commercial Use
Rider и WebStorm теперь стали бесплатны для некоммерческого использования. JetBrains стремятся сделать свой продукт доступным для более широкой аудитории. Думаю, многие этого ждали. Теперь вы можете бесплатно использовать Rider для обучения, разработки проектов с открытым исходным кодом, а также для хобби.
Performance Improvements in .NET 9
Каждый год Стивен Тауб пишет просто ОГРОМНУЮ статью про улучшение производительности в новом .NET. Конечно же, этот год не стал исключением. Даже просто перечислить части .NET, где были внесены улучшения, тяжело. Так что предлагаю вам прочитать статью, чтобы быть в курсе изменений.
Статьи
Modernize your UWP app with preview UWP support for .NET 9 and Native AOT
Microsoft представили предварительную версию UWP для .NET 9, которая позволит модернизировать приложения с помощью новейшей версии .NET и Native AOT. Но при этом Microsoft напоминают, что это лишь способ использовать новые технологии, пока вы рассматриваете переход на более современные Windows App SDK и WinUI 3.
Join the .NET Smart Components ecosystem
Представлены .NET Smart Components — набор готовых компонентов пользовательского интерфейса для добавления функций на основе ИИ. Их можно применять в таких сценариях, как автозаполнение форм данными из буфера обмена, интеллектуальное завершение текста и семантический поиск.
Getting started with testing and .NET Aspire
В этой статье Аарон Пауэлл показывает на примерах, как начать тестирование своих распределённых приложений в .NET Aspire.
Easier localization with the new resource (.resx) manager
Microsoft обновили менеджер ресурсов в Visual Studio. Теперь будет удобнее управлять ресурсами при создании приложений с несколькими языками. Подробнее в статье про все нововведения.
Engineering the Scalable Vector Extension in .NET
В этой большой статье Кунал Патхак рассказывает о проделанной работе по добавлению Scalable Vector Extension (SVE). Это значительно улучшает производительность и позволяет разработчиками воспользоваться возможностями масштабируемой векторной обработки с помощью SVE .NET API.
What’s new in System.Text.Json in .NET 9
Чем ближе релиз .NET 9, тем больше выходит статей на тему нововведений в .NET, фреймворках и библиотеках. Конечно же, обновили и System.Text.Json. В этой статье подробно рассказывается про все улучшения и новшества в System.Text.Json.
Working with tar files in .NET 8
В этом материале Эндрю Лок описывает, как выполнять некоторые базовые операции с tar и как вместо этого использовать поддержку, встроенную в .NET.
Working with the result pattern
Эндрю Лок написал серию статей про работу с паттерном «Result» для управления потоком выполнения вместо создания исключений:
Replacing Exceptions-as-flow-control with the result pattern
Safety and simplicity with LINQ
Adding more extensions to Result
Is the result pattern worth it?
Обзор нововведений в C# 13
Совсем скоро выйдет новая версия языка C#, и PVS-Studio подготовили для вас обзор нововведений. В этой статье разбираются partial свойства и индексаторы, params коллекции, новый класс Lock, инициализация объекта по индексу «от конца» и многое другое.
Что нового в Unity 6? Обзор нововведений и ошибок в исходном коде
А вы заметили, что вышла релизная версия Unity 6? Мы вот да, и решили в статье сделать обзор улучшений и нововведений. И, кончено же, прошлись по исходному коду с помощью PVS-Studio в поисках ошибок в Open Source части движка.
Исходный код на прощание: разбор ошибок в проектах закрывшейся инди-студии
Достаточно редкое событие, когда закрывается игровая студия и публикует исходный код своих проектов. И это именно тот случай. В этой статье мы прошлись статическим анализатором по исходному коду инди-игры Starlight от студии StarlightLabsCo. Предупреждаю, что это было сделано скорее из интереса, чем для настоящего поиска ошибок, всё же это небольшая инди-игра.
Анализ кода WolvenKit: что нужно знать перед созданием модов для Cyberpunk 2077
В этой статье был проанализирован исходный код Open Source проекта WolvenKit. Это достаточно популярный инструмент для разработки модификаций для Cyberpunk 2077.
Новости
Going native: The future of the Bitwarden mobile app
Разработчики из Bitwarden сообщили, что решили отказаться от Xamarin и .NET MAUI. Теперь они будут использовать Swift и Kotlin для разработки нативных приложений под iOS и Android. В первую очередь отказ обусловлен тем, что приложение на Xamarin не ощущается нативным для пользователя.
Кстати, мы как-то проверяли исходный код Bitwarden, доступный на GitHub. Результаты проверки описаны в статье «Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden».
2024 Stack Overflow Developer Survey
Stack Overflow представили результаты своего ежегодного опроса. 65 тысяч разработчиков ответили на вопросы про написание кода, технологии, AI и работу. Думаю, вам будет интересно ознакомиться с результатами. Судя по результатам, C# сейчас на восьмой позиции «рейтинга».
Does anyone use .NET/C# in any mission critical software?
Интересное обсуждение на Reddit по использованию .NET для разработки критически важных приложений.
.NET Upgrade Assistant Now Supports Upgrading to Centralized Package Mangement
.NET Upgrade Assistant обновился, и эта статья как раз об этом. Основным нововведением стало добавление поддержки Central Package Management (CPM).
Support for SLNX Solution Files
В Rider 2024.3 EAP появилась начальная поддержка нового формата файла решения slnx. Он позволяет сделать файл решения более удобным для систем контроля версий и для создания вручную. Формат основан на XML. Учитывайте, что он находится ещё в предварительной версии.
Новые версии
PVS-Studio 7.33: критические ошибки, пользовательские аннотации в C#, поддержка SN-DBS и многое другое
Вышла новая версия PVS-Studio — 7.33. Для C# анализатора появился механизм пользовательских аннотаций. Это способ дать анализатору информацию о поведении методов, конструкторов, свойств. Пока можно задать информацию только для taint-анализа. Более подробно об этом можно прочитать в статье. В будущем мы планируем расширить возможности пользовательских C# аннотаций, чтобы их область применения не ограничивалась taint-анализом.
И, конечно же, появились новые диагностические правила для C#: V3204, V3205, V3206, V4006.
А запросить пробный ключ и попробовать последнюю версию анализатора можно с помощью этой страницы.
Rider 2024.3 Early Access Program Is Here!
Стартовала последняя в этом году программа раннего доступа для JetBrains Rider. В Rider 2024.3 EAP появилась поддержка горячей перезагрузки С++ для Live ++ и некоторые другие улучшения, связанные с форматированием кода.
ReSharper 2024.3 Starts its Early Access Program!
ReSharper 2024.3 EAP содержит в основном улучшения для форматирования кода, стиля наименования и немного улучшений со стороны поддержки C++.
Спасибо за прочтение, и ждём вас снова! Не стесняйтесь присылать нам свои новости!
Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Artem Rovenskii. .NET Digest #4.