.NET дайджест #36: C# 9.0, .NET 5, Apple M1, Space X for Azure
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Предыдущий месяц принес много весьма интересных новостей. Учитывая важность всех произошедших событий, я решил сделать небольшую паузу прежде, чем выпустить новую версию дайджеста. (Тут стоит отметить, что дело не только в том, что я хотел более взвешено подойти к материалу, который войдет в дайджест, но и в том, что для меня самого последние пару месяцев выдались довольно напряженными.)
Конечно, самое главное событие осени — это релиз .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 в телеграме. Все технические публикации ДОУ читайте здесь.
35 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів