.NET Дайджест #41: двадцатилетний юбилей платформы!

Monday, 14 February 2022

В выпуске: WPF Best Practices, .NET 6 vs .NET 5: up to 40% speedup, F# Show, .NET 7 Breaking Changes, Q#, Windows Forms in .NET 6.0, Windows App SDK v1.0, Plans for EF Core 7, Grafana dashboard for NBomber, .NET 6 Networking Improvements, Git features to Visual Studio 2022.

«Быстрее, выше, сильнее» — именно этим олимпийским девизом, который появился еще в 1894 году, платформу .NET можно охарактеризовать сегодня. Каждый релиз — это не просто смена цифры и незаметные изменения где-то внутри, это качественно новые возможности для разработчиков. Прошедший несколько месяцев назад релиз шестой версии .NET только подтверждает это. А благодаря тому, что Microsoft сделала процесс разработки максимально прозрачным, почти обо всех нововведениях было известно еще задолго до того, как состоялся релиз.

Чтобы разработчики могли эффективно использовать все эти новшества платформы много работы было проведено и над Visual Studio — флагманской IDE от Microsoft. Общая длительность трансляции Visual Studio 2022 Launch Event составляет более шести часов! Количество изменений, которые реализовала команда продукта — просто поражает. Ближайший (да пока и единственный достойный) конкурент Microsoft на этом поле тоже порадовал нас новыми возможностями — Rider заслуженно завоевал любовь.NET-разработчиков, в особенности тех, кто мигрировал на .NET с других платформ и ранее уже был знаком с семейство IDE от JetBrains.

На протяжении всей истории платформы .NET ее развитие всегда шло так быстро и активно, что мы и не заметили, как пролетело двадцать лет с момента релиза первой версии. Да, в этом году платформа .NET празднует свой юбилей! Символично, что попадает он на 14 февраля — день всех влюбленных, в связи чем был запущен флешмоб, согласно правилам которого, под тэгом #dotNETLovesMe участники делятся своими историями, связанными с платформой. Так что, если у вас есть интересная история о работе с .NET, которая, по вашему мнению, может вдохновить новое поколение разработчиков — обязательно поделитесь ею в социальных сетях! Вспомнить основные вехи развития .NET вы можете на сайте Ukrainian .NET Developer Community, и там же поучаствовать во флешмобе. Украсить свой рассказ вы можете уникальным изображением талисмана сообщества — конструктор на специальном сайте позволяет самостоятельно подобрать внешний вид талисмана.

А пока что давайте вспомним некоторые из событий, которые имели место в истории платформы:

  • 2002 — Выпуск .NET и Visual Studio .NET;
  • 2005 — Рождение языка F#;
  • 2008 — Исходный код ASP.NET MVC опубликован на CodePlex;
  • 2014 —Microsoft начинает открывать исходный код .NET, в этом же году основана .NET Foundation.
  • 2016 — Microsoft выпускает первую версию .NET Core — начало большой экспансии .NET за пределы Windows!
  • 2021 — выпуск шестой версии платформы .NET!
  • 2022 — to be continued!

.NET

C# Records — The good, bad & ugly — Взгляд на recod изнутри: декомпиляция в plain C#;

TeamCity C# script runner — Использование скриптов на C# в TeamCity;

Immutable C# — иммутабельность в C# и возможности record;

Making Sense of Common C# Compiler Errors — разбор основных ошибок компилятора C#;

.NET Collections — IEnumerable, IQueryable, ICollection — рекомендации по выбору типа коллекции: IEnumerable, IQueryable, или ICollection;

Announcing .NET 6 — The Fastest .NET Yet — ушла в релиз шестая версия платформы .NET, это LTS релиз, а значит, что уже стоит запланировать перевод на эту версию ваших текущих проектов;

Dissecting Interpolated Strings Improvements in C# 10 — статья от Сергея Теплякова про новые возможности C# 10;

Announcing YARP 1.0 Release — YARP, это reverse proxy, написанный на C#. YARP можно добавить в свой проект, просто установив соответствующие NuGet-пакет;

8 Ways You can Cause Memory Leaks in .NET — Michael’s Coding Spot — 8 причин возникновения утечек памяти в .NET;

New Blazor WebAssembly capabilities in .NET 6 — видео про новые фичи в Blazor WebAssembly в .NET 6;

Write and debug code by using Hot Reload — Visual Studio (Windows) — как вы помните, отмена и последующий возврат возможности Hot Reload наделал много шума в сообществе. Сегодня предлагаем разобраться с тем, как Hot Reload работает в Visual Studio;

What’s new in Windows Forms in .NET 6.0 — несмотря на то, что Microsoft активно развивает WPF и MAUI, Windows Forms не ушел в историю. В статье вы узнаете, что нового появилось Windows Forms с выходом .NET 6;

GIFs in Console Output Using ImageSharp and Spectre.Console — прочитав эту статью вы будете знать, как можно отрисовать GIF в консоли. Зачем? Ну это уже тема отдельной статьи;

.NET 6 vs .NET 5: up to 40% speedup! — сравнение производительности .NET 5 и .NET 6;

Infer# v1.2: Interprocedural Memory Safety Analysis For C# — Infer#, это инструмент для межпроцедурного статического анализа для C# ;

Monitoring a .NET application using OpenTelemetry — использование OpenTelemetry для мониторинга состояния .NET приложения;

How C# 10.0 and .NET 6.0 improve ArgumentExceptions — новые возможности при работе с исключениями в C# 10;

Exploring .NET Core 6 — подборка из одиннадцати публикаций, которые посвящены нововведениям .NET 6;

Windows App SDK (’Project Reunion’) Hits Version 1.0 — Project Reunion это единая платформа для разработки под Windows, позволяющая объединить Win32 API и UWP API. Project Reunion позволяет конвертировать существующие классические Win32-приложения в UWP-приложения с минимальными усилиями. С появлением этой платформы разработки появилась возможность отделить API старых десктопных приложений и UWP-приложений от кода самой ОС, объединив их в единый Reunion SDK;

Liskov Substitution Principle in C# — принцип подстановки Лисков на C#;

Prime your flux capacitor: SQL Server temporal tables in EF Core 6.0 — анонс поддержки темпоральных таблиц SQL Server в EF Core 6.0 (темпоральные таблицы обычно используются когда требуется отслеживание журнала изменений данных);

Upgrading a .NET 5 «Startup-based» app to .NET 6: Exploring .NET Core 6 — Part 12 — продолжение цикла статей про новые возможности .NET 6 — перенос .NET 5 startup-based приложения на .NET 6;

What’s New in C# 10: New Possibilities for Validation and Logging Methods — что C# 10 нам готовит;

GitHub — PragmaticFlow/NBomber.Grafana: Grafana dashboard for NBomber — NBomber получил новую панель для Grafana;

GraphQL: как сделать бэкенд приложения экономнее и быстрее — работа с GraphQL в .NET;

How not to read a string from an UTF-8 stream — нельзя так просто взять и прочитать строку;

WPF Best Practices 2021 — подборка рекомендаций для тех, кто разрабатывает проекты на WPF;

What’s new for gRPC in .NET 6 — поддержка gRPC в .NET 6;

Don’t Do That, Do This: The .NET 6 Edition — несколько рекомендаций по работе с проектами на .NET 6;

.NET 6 Networking Improvements — улучшения по работе с HTTP (и не только) в .NET 6;

Как правильно делать http-запросы в .NET Core приложениях — ещё раз о том, как правильно делать HTTP запросы;

Announcing the Plan for EF7 — планы по реализации EF Core 7;

Исследуем .NET 6. Часть 3. Рассматриваем код WebApplicationBuilder — продолжение цикла статей про .NET 6, в этой статье рассматривается реализация WebApplicationBuilder;

Реализуем .NET сервис на gRPC. Тонкости, о которых нужно знать — Максим Усатенко, .NET-разработчик, рассказывает о создании gRPC-сервиса на ASP.NET Core, а также о трудностях и нюансах, с которыми ему пришлось столкнуться во время реализации;

F# Show #0 — Vlad Zarytovskii @ Microsoft, Backpressure patterns, Sharding the Shards with Akkio

Parallel.ForEachAsync Deep Dive — асинхронная версия Parallel.ForEach;

Building a Webpack alternative in F# — создание альтернативы WebPack на F#;

CQRS is simpler than you think with .NET 6 and C# 10 — пример реалзации CQRS на C# 10 и .NET 6;

How to use Redis in a .Net solution — работа с Redis в .NET;

Microsoft .NET History — инфографика с историей развития платформы #NET;

Errors and suspicious code fragments in .NET 6 sources — очень подозрительные участки кода в .NET 6;

Using DateOnly and TimeOnly in .NET 6 — использование DateOnly и TimeOnly в .NET 6;

Introducing new Git features to Visual Studio 2022 — новые возможности Visual Studio 2022;

.NET, что с тобой происходило в 2021? — итоги года платформы .NET;

Refactoring with C# 10 — посмотрите, как C# 10 позволяет сделать код лаконичнее и понятнее;

6 не самых широко известных фич C#/.NET — секретные фичи C# (sarcasm);

State of the Windows Forms Designer for .NET Applications — в Microsoft практически завершили адаптацию Windows Forms Designer для .NET и теперь он ничем не уступает версии, которая была разработана для .NET Framework;

C#: разбираем бинари — немного о том, как работает обфускация кода в .NET;

Optimizing CPU-Bound and Memory-Bound .NET Applications — одиннадцать советов по оптимизации .NET приложения;

Performance improvements in ASP.NET Core 6 — Brennan Conroy, Software Engineer из Microsoft, в своем блоге рассказывает об улучшениях в ASP.NET 6, которые позволили сделать эту версию еще более производительной;

Proposed .NET 7 Breaking Changes — планируемые изменения в .NET 7, которые могут нарушить обратную совместимость;

Introducing Minimal Real-Time API for .NET — DotNetify, это бесплатный проект с открытым исходным кодом, который позволяет создавать потрясающие веб-приложения работающие в режиме реального времени;

System.Text.Json features in .NET 6 — семь функций System.Text.Json в .NET 6;

Azure

Serverless .NET 6 with Azure Functions — Azure Functions позволяют писать бессерверные функции в .NET Framework, .NET Core, а теперь и в .NET 6;

A Microsoft Azure supercomputer is now the 10th most powerful in the world — суперкомпьютер Microsoft Azure входит в десятку самых мощных систем в мире. У Microsoft Azure пять самых мощных суперкомпьютеров в списке TOP500. Система Microsoft Azure под названием Voyager-EUS2 сейчас занимает десятое место среди самых мощных суперкомпьютеров в мире;

Analyzing COVID Medical Papers with Azure Machine Learning and Text Analytics for Health — анализ медицинских документов, связанных с COVID, с помощью машинного сервисов Azure Machine Learning и Text Analytics for health;

Advancing safe deployment with AIOps—introducing Gandalf — Gandalf, это система непрерывного мониторинга для безопасного развертывания. Кодовое имя системы было вдохновлено главным героем из «Властелина колец», который принимает разумные решения о развертывании на основе собранных сигналов. Gandalf влохдит в пакет решений Gandalf AIOps. В свою очередь AIOps (расшифровывается как Artificial Intelligence for IT Operations) представляет собой искусственный интеллект для управления инфраструктурой. AIOps автоматизирует обработку данных и принятие решений с помощью машинного обучения и аналитики больших данных, которые приходят с различных элементов ИТ-инфраструктуры в режиме реального времени;

Grafana Labs and Microsoft partner to deliver new first party Microsoft Azure service — Grafana Labs и Microsoft работают над созданием нового сервиса для Microsoft Azure;

What is Azure Load Testing? — Microsoft запустили предварительную версию сервиса Azure Load Testing;

Cloud Native или новые веяния в разработке приложений на MS Azure с примерами — Виктор Карабедянц про новые веяния в разработке приложений на MS Azure;

What is the hype around Azure OpenAI Services? — почему возник такой большой ажиотаж вокруг служб Azure OpenAI Services?;

Microsoft named a Leader in 2021 Gartner® Magic Quadrant for Cloud DBMS Platforms — согласно Gartner Magic Quadrant 2021, компания Microsoft была названа лидером года среди платформ облачных СУБД;

Data science

4 года Q# — как быстро летит время, языку Q# уже 4 года;

Представляем Q# Formatter — средство форматирования Q# исправляет несколько устаревших синтаксисов и обновляет их до поддерживаемых синтаксисов;

Xamarin

Present and Future of Xamarin Community Toolkit: Q&A with Gerald Versluis — будущее Xamarin Toolkit;

Secure Mobile Apps with the Microsoft Identity Platform [eng] / Christos Matskas —создание безопасного мобильного приложения с помощью платформы Microsoft Identity Platform;

Salary statistics Xamarin on Djinni — интересная разбивка статистики по зарплатам Xamarin-разработчиков;

Announcing .NET MAUI Preview 11 — вышла одиннадцатая предварительная версия .NET MAUI ;

Послесловие

Чтобы не пропустить ничего интересного до выхода следующего выпуска — следите за новостями про
.NET
, Azure и Xamarin в Telegram. Все главные публикации ДОУ читайте здесь. А теперь еще можно читать новости прямо в Slack: devdigest.today/join.


Перейти к материалу