Publications / .NET дайджест #36: C# 9.0, .NET 5, Apple M1, Space X for Azure

DOU

DOU.ua is a leading Ukrainian web portal dedicated to IT and software development. It offers a comprehensive blend of industry news, expert articles, job listings, and vibrant forums, serving as an essential resource for IT professionals and tech enthusiasts in Ukraine and beyond.


Monday, 30 November 2020

Предыдущий месяц принес много весьма интересных новостей. Учитывая важность всех произошедших событий, я решил сделать небольшую паузу прежде, чем выпустить новую версию дайджеста. (Тут стоит отметить, что дело не только в том, что я хотел более взвешено подойти к материалу, который войдет в дайджест, но и в том, что для меня самого последние пару месяцев выдались довольно напряженными.)

Конечно, самое главное событие осени — это релиз .NET 5. Безусловно, это великое событие в истории платформы, которое завершает развитие ветки .NET Framework, а ветка .NET Core теперь становится основной. Microsoft убрала «Core» из названия платформы и изменила версию сразу на пятую. Более не будет двух веток, а будет единый и неделимый .NET. Стоит отдать должное компании Microsoft, которая смогла очень изящно и практически незаметно для разработчиков полностью переписать огромную платформу, сохранив совместимость с большинством существующих API.

Вместе с .NET 5 стала доступна и новая версия C# 9.0. Среди особо интересных возможностей: генераторы исходного кода, записи — новый тип класса (тип класса звучит довольно неоднозначно, но лучшего термин не смог подобрать), который поддерживает иммутабельность и инструкции верхнего уровня, которые позволяют значительно упростить код для небольших приложений и сервисов.

На релиз .NET уже успели отреагировать другие крупные игроки ІТ: Amazon выпустила новую версию AWS Toolkit for Visual Studio с поддержкой .NET 5, Oracle уже подготовила свою библиотеку ODP.NET к новой версии платформы, а RedHat заявила о том, что RHEL 7, RHEL 8 и OpenShift Container Platform полностью поддерживают .NET 5.

Помимо Microsoft, отметилась громким релизом компания Apple, которая выпустила новые модели MacBook на своем собственном процессоре. Я решил провести небольшое расследование и узнать, есть ли шанс у новых устройств от Apple получить поддержку .NET?

Несмотря на то, что релиз .NET 5 — это очень важное и интересное событие, не будем обходить вниманием Azure. Недавно в Microsoft заявили о партнерстве со Space X. Совместными усилиями компаний сеть облачных вычислений Azure будет подключена к растущему спутниковому интернет-сервису Starlink. На сегодня SpaceX запустила более 800 спутников Starlink — небольшую часть от общего количества, необходимого для глобального покрытия, но этого достаточно, чтобы начать предоставлять услуги в некоторых регионах, в том числе на северо-западе США.

Далее предлагаю более подробно ознакомиться с материалом, который попал в мое поле зрения и который может оказаться интересным (и очень надеюсь, что и полезным) для вас.

.NET

Microsoft told, ’We’re not happy’ by GitHub contributors to open-source .NET Core WPF — Microsoft заявила, что недовольна тем, как обстоят дела с .NET Core WPF. Команда Microsoft .NET Core признает, что ей необходимо лучше поддерживать участников своих проектов с открытым исходным кодом.

F# Ukraine Interview Session #1 with Vagif Abilov — интервью с Вагифом, российско-норвежским разработчиком, работающим в норвежской компании Miles. У него около трех десятилетий опыта программирования, в настоящее время он занимается созданием систем на F# и C#. Вагиф часто выступает на конференциях по программному обеспечению и участвует в некоторых проектах с открытым исходным кодом.

Introducing F# 5 — введение в F# 5.0.

Using Redis as a .NET Core Data Store — использование Redis в проектах на .NET Core.

Architecting .NET Desktop and Mobile applications — в этом руководстве представлены несколько архитектурных шаблонов, которые можно использовать для реализации общих сценариев в настольных и мобильных приложениях .NET.

Tim Deschryver — поиск утечек памяти в C#.

Understanding Disposables In .NET Dependency Injection — некоторые нюансы работы с классами, которые реализуют интерфейс IDisposable при настройке внедрения зависимостей в ASP.NET Core.

6 Best Practices to Keep a .NET Application’s Memory Healthy — шесть советов о том, как сохранить память.

Generating Code in C# — пример использования Source Generators.

Microservices with event sourcing using .NET Core — Event sourcing в .NET Core, с примерами на GitHub.

Enabling and using C# 9 features on older and «unsupported» runtimes — использование возможностей C# 9 на «неподдерживаемых» рантаймах.

Martin Björkström — Migrating WCF to gRPC — The protobuf-net way — миграция с WCF на gRPC.

Developing a Lightweight TUI Music Player in C# using Terminal.Gui (Part One) — как написать свой консольный медиаплеер на C#.

Algorithms and Data Structures in C# — сайт, посвященный изучению и имплементации алгоритмов и структур данных на языке C#.

Use ASP.NET With Turbolinks 5 — прокачайте свой ASP.NET веб-сайт с помощью TurboLinks!

Introducing DotNet.SystemCollections.Analyzers — библиотека DotNet.SystemCollections.Analyzers, которая дает возможность разработчикам принимать более эффективные решения с помощью набора микрооптимизаций.

When does Blazor decide to render your UI? — статья будет полезна для тех, кто работает с Blazor. Автор рассказывает о том, как устроен рендеринг UI в Blazor.

Use System.IO.Pipelines and System.Threading.Channels APIs to Boost Performance — увеличение производительности с использованием возможностей System.IO.Pipelines и System.Threading.Channels.

По мотивам youtube-dl — как написать загрузчик музыки на C#.

Защита .NET-кода от реверс-инженеринга с помощью ConfuserEx 0.6.0 — хорошему программисту обфускатор не нужен — он сразу пишет обфусцированный код. Но все же, если вы пока не дошли до такого уровня мастерства написания кода, то эта статья для вас.

Ленивая инициализация в C# — про то, чем хороша отложенная инициализация и как ее реализовать.

Представляем .NET Live TV — ежедневные лайв-стримы для разработчиков — то, о чем вы всегда мечтали, произошло! Вам больше не нужна подписка на Netflix, вы можете выкинуть ваш телевизор и отключить спутник. Ведь теперь есть .NET TV!

Отлаживайте ваши приложения .NET Core в WSL 2 с Visual Studio — преимущества отладки .NET Core проектов с использованием WSL 2.0 и Visual Studio.

.NET в целом: обзор от Скотта Хансельмана — обзор .NET от Скотта Хансельмана — одного из самых значимых специалистов в мире .NET.

mj1856/TimeZoneConverter — вышла новая версия TimeZoneConverter. Это библиотека для быстрого преобразования между часовыми поясами IANA, Windows и Rails. TimeZoneConverter.Posix также добавляет поддержку часовых поясов POSIX, которые полезны при работе с IoT.

KorzhCom/EasyData — вышел EasyData 1.1! EasyData — это библиотека с открытым кодом для проектов на ASP.NET Core + Entity Framework Core, которая позволяет получить полную CRUD-функциональность лишь за несколько строк кода. EasyData использует декларативный подход: все формы и диалоги генерируются автоматически при выполнении с помощью информации из вашего DbContext.

What’s new in C# 9.0 — тезисно про нововведения в C# 9.0.

New Features in Visual Studio 2019 v16.8 Preview 3.1 — новые возможности Visual Studio 2019.

The future of .NET Standard — релиз .NET 5 произойдет уже очень скоро. Помимо изменений в самом .NET, нас ждут изменения, связанные с .NET Standard.

Game Development with .NET — знаете и умеете .NET, давно хотели заняться гейм-девелопментом, но считали, что столь серьезная платформа не рассчитана на создание игр? Ребята из Microsoft готовы показать вам, что это не так.

gRPC performance improvements in .NET 5 — в .NET 5 нас ждет ряд улучшений при работе с gRPC.

Announcing ASP.NET Core in .NET 5 — ASP.NET в .NET 5.

Reactive Programming: Hot Vs. Cold Observables — шаблон «наблюдатель» лежит в основе реактивного программирования. Наблюдаемые объекты бывают двух видов: горячие и холодные. В этой статье объясняется, как определить разницу между ними. Основное внимание уделяется горячим объектам. Приведенные здесь концепции относятся ко всем языкам, поддерживающим реактивное программирование.

ILogger and Null Object Pattern — применение Null Object паттерна при логировании.

C#9 records: immutable classes — record — это давно ожидаемая возможность, которую теперь предлагает C# 9! Тип record предназначен для удобного создания неизменяемых структур.

Test-driving C# Source Generators — пример реального использования Source Generators.

Moving away from Visual Studio to JetBrains Rider — миграция с Visual Studio на Rider.

Astonishing Performance of .NET 5 — .NET 5 стал гораздо производительнее.

Azure

Azure + Spring Boot = Serverless — Q&A with Julien Dubois — особенности работы Java и Spring Boot в облаке Azure.

New for Blazor: Azure Static Web Apps Support — в Azure Static Web Apps появится поддержка Blazor.

Ignite 2020: New serverless and analytics capabilities announced — новые возможности Cosmos DB.

Azure and Application Development news with Julia White and Frank Shaw — новости Azure и разработки приложений с Джулией Уайт и Фрэнком Шоу.

Collect and Automate Diagnostic Actions with Azure App Services — диагностика Azure App Services.

Microsoft построит в Украине два дата-центра — очень крутая новость: в Украине будет построено два новых дата-центра Microsoft.

How to add and secure a custom domain on your App Service web app — в этом видео вы узнаете о том, как привязать доменное имя к веб-приложению, и о том, как защитить свой домен с помощью управляемого сертификата службы приложений.

Обучающие вебинары по Microsoft Azure с субтитрами на русском в ноябре — подборка отличных обучающих материалов.

.NET 5 now available in App Service — NET 5 теперь поддерживается Azure App Services.

Статические веб-приложения Azure с .NET и Blazor — сегодня в статических веб-приложениях Azure реализована первоклассная поддержка Blazor WebAssembly и .NET Functions в ознакомительной версии во всех регионах ее действия. Это было одним из ключевых запросов пользователей с момента объявления о выпуске статических веб-приложений на конференции Build. Вы можете разрабатывать и развертывать клиентские и бессерверные API-интерфейсы, созданные полностью на языке .NET.

Xamarin

Build Xamarin.iOS apps using iOS 14 and Xcode 12 — iOS 14 уже ушла в релиз, поэтому стоит посмотреть, что предлагает Xamarin для лучше интеграции ваших приложений с новой версией мобильной ОС от Apple.

Replicating User Profile UI — на этой неделе к Джеймсу присоединяется Леомарис Рейес, MVP Microsoft, который шаг за шагом проведет нас через создание красивого пользовательского интерфейса с помощью Xamarin.Forms.

Xamarin.Forms 5 Is Here! — новый релиз Xamarin.Forms 5.0! В него вошли последние релизы Brushes, CarouselView, Drag & Drop, RadioButton, Shapes и многое другое.

Xamarin.Forms 5: Beautiful and Fast Apps with Less Code — Xamarin.Forms 5 получил ряд новых возможностей, которые упрощают разработку быстрых, красивых и кроссплатформенных приложений.

Recapping Xamarin Highlights from .NET Conf 2020 — главные ананасы по Xamarin с недавно прошедшей .NET Conf 2020.

Data Science

ML.NET September Updates — новый выпуск ML.NET содержит множество улучшений, включающих возможность обучения моделей обнаружения объектов с помощью Azure ML и Model Builder. Теперь вы можете локально обучать модели классификации изображений с помощью интерфейса командной строки ML.NET.

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

Послесловие

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


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


Read publication