Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

.NET дайджест #32: приложения на Blazor, Azure побеждает AWS, gRPC в .NET, ReSharper и Rider обновились

Январь ожидаемо оказался относительно тихим месяцем — никаких крупных релизов и громких анонсов не было замечено. Тем не менее, некоторые из весьма интересных проектов успели подготовить кое-что новое к началу года. Так, например, вышла новая версия Microsoft Orleans 3.1 RC1. (Для тех, кто не знает, Orleans — это кроссплатформенный фреймворк для создания распределенных приложений с использованием .NET, разработанный командой Microsoft Research). После долгого перерыва обновилась мажорная версия Autofac v5.0 (версия 4.0 была выпущена еще в августе 2016 года). А JetBrains подготовили обновления для Rider и ReSharper.

Интересно отметить, что по мнению Sergei Klebnikov из Forbes, Microsoft Azure выигрывает облачную войну против AWS. Это безусловно хорошая тенденция, так борьба вендоров за клиентов всегда выгодна именно клиентам. А подобная перестановка сил на облачном рынке безусловно подстегнет к всех участников к поиску новых способов привлечения клиентов.

Также в этом выпуске вы узнаете о нескольких весьма интересных событиях, которые можно будет как посетить, так и посмотреть онлайн. Среди этих событий я бы особо отметил конференцию, посвященную F#. Больше информации о предстоящих мероприятиях — в конце этого дайджеста.

.NET

Tracing .NET Core applications — после выхода .NET Core команда RedHat очень сильно заинтересовалась этой платформой и теперь регулярно готовит публикации на тему .NET разработки. В этой статье они расскажут о возможностях трейсинга в .NET Core.

MagicOnion — сетевой движок реального времени, такой же как SignalR или Socket.io. MagicOnion построен на базе gRPC и при этом не требует создания .proto файлов. Вышла третья версия библиотеки.

.NET Docker Cheat Sheet — шпаргалка по Docker для .NET разработчика: ссылки на все docker-образы для .NET Framework и .NET Core.

Building Custom Tools into .NET Core — .NET Core позволяет создавать и использовать расширения для командной строки. В статье показывается, как сделаеть такое расширение самостоятельно.

5 Reasons You Should Stop Using System.Drawing from ASP.NET — 5 причин, почему вы должны прекратить использовать System.Drawing в ASP.NET Core.

Event Sourcing with Orleans Journaled Grains — реализация CQRS архитектуры с использованием Microsoft Orleans.

Why ASP.NET Core is the best choice to build enterprise web applications — почему ASP.NET Core — лучший выбор для создания корпоративных веб-приложений, рассказывает Кеннет Фукизи, автор книги «Learn ASP.NET Core 3.0, Second edition».

The Dream of C# 9.0 — очередная порция новых фич, которые возможно будут включены в девятый релиз C#.

How To Deploy an ASP.NET Core Application with MySQL Server Using Nginx on Ubuntu 18.04 — DigitalOcean подвёл итоги года, определив самые популярные руководства на своём сайте. В список публикаций-победителей вошло руководство по развертыванию ASP.NET Core.

dahomey—technologies/Dahomey.Json — обратите внимание на эту библиотеку. Она добавляет функционал в новый System.Text.Json сериализатор, доводя его практически до уровня Newtonsoft.

Memory Leak C# — любите утечки памяти? Если нет, то прочтите руководство, которое поможет их избежать.

Flow of immutable messages with Akka.Net — если вы еще не работали с Akka.NET, стоит как минимум ознакомиться с возможностями этой библиотеки, а если знакомы, то эта статья может быть вам весьма интересна.

Exploring the new Assembly unloading feature in .NET Core 3.0 by building a simple plugin system running on ASP.NET Core Blazor — новая возможность выгрузки сборок в .NET Core 3.0 на примере создания простой системы плагинов, работающей на ASP.NET Core Blazor.

How to make internal members visible to other assemblies with the new CSPROJ format — иногда (например, для написания юнит-тестов) необходимо, чтобы какой-то из проектов имел доступ к internal классам другого проекта. Автор статьи предлагает ознакомиться с тем, как это можно сделать, используя возможности формата CSPROJ.

vanbukin/Uuids — попытка сделать генерацию UUID быстрее. Достойно внимания, но вот стоит ли использовать в реальных проектах — пока не ясно.

Announcing Experimental Mobile Blazor Bindings — экспериментальный проект по разработке мобильных приложений с использованием Blazor. Теперь разработчики смогут использовать программную модель Blazor и синтаксис Razor для определения компонентов пользовательского интерфейса и поведения приложения. Компоненты пользовательского интерфейса основаны на собственных элементах управления пользовательского интерфейса Xamarin.Forms.

.NET Core 3.1.1 — January 14, 2020 — вышло январское обновление .NET Core, которое включает ряд исправлений, связанных с безопасностью. А именно были закрыты такие уязвимости: CVE—2020—0602: ASP.NET Core Denial of Service Vulnerability, CVE—2020—0603: ASP.NET Core Remote Code Execution Vulnerability, CVE—2020—0605: .NET Core Remote Code Execution Vulnerability, CVE—2020—0606: .NET Core Remote Code Execution Vulnerability.

Entity Framework Best Practices — Should EFCore Be Your Data Access of Choice? — рекомендации по работе с Entity Framework.

Optimizing string.Count all the way from LINQ to hardware accelerated vectorized instructions — немного воскресного хардкора. Оптимизация метода String.Count(). От LINQ до аппаратно ускоренных векторизованных инструкций.

.NET Core on Red Hat platforms — RedHat опубликовали мануал по установке .NET на все их официальные дистрибутивы: Fedora, Red Hat Enterprise Linux (RHEL), CentOS и CentOS Stream. Правда почему-то в примере используется .NET Core 2.1, а не 3.1, который является актуальной LTS версией.

Getting Started with DynamoDB and .NET Core  —  How to Build a Leaderboard — простой пример работы с Amazon DynamoDB в .NET Core.

The Reunification of .NET 5 — уже в конце этого года запланирован релиз .NET 5. Безусловно, это будет следующая большая веха в истории .NET, после релиза .NET Core, ведь .NET 5 объединит в себе две ветви: .NET Core и .NET Framework. Что нас ждет в .NET? Точно в историю уйдут: ASP.NET Web Forms, WCF и WWF. Получат дальнейшее развитие: WPF and WinForms и Visual Basic. Подробнее — в публикации от Matthew MacDonald.

Autofac v5.0 — не так давно вышел в свет новый релиз Autofac под версией 5.0! Это первый мажорный релиз, который вышел спустя три года — Autofac 4.0 был выпущен в августе 2016.

How Blazor Is Going to Change Web Development — Blazor — технология, которая способна изменить привычный подход к веб—разработке.

UTF—8 BOM adventures in C# — приключения UTF-8 BOM в C#: как определить BOM и что с этим делать.

IDisposable: What Your Mother Never Told You About Resource Deallocation — лонгрид 2014 года, который однако не теряет своей актуальности и сегодня. В статье рассматриваются тонкости использования Idisposable.

.NET Core 3.0 Preview behaviour for ——output differs — проблема, с которой можете столкнуться вы, или ваши девопсы после обновления на .NET Core 3.0 и выше. Microsoft поменял логику обработки опции ——output. Теперь, если вы используете абсолютный путь, активной директорией будет считаться директория, из которой была запущена команда dotnet, а не директория, в которой находится csproj файл. Из—за этого могут перестать корректно работать CI/CD.

10 Visual Studio Tips & Tricks You Probably DON’T KNOW — некоторые из возможностей Visual Studio, о которых вы вероятно не догадывались.

Building Microservices with gRPC and .NET — из этого видео вы узнаете о том, как сделать систему на базе микросервисной архитектуры с использованием gRPC. Также вы узнаете о том, какие перспективы у gRPC в .NET и как эта технология будет развиваться дальше.

C# Futures: Covariant Return Types — предложение включить в следующую версию С# поддержку ковариантных типов возврата. Это может позволить переопределенному методу иметь другой (более высокий по иерархии наследования) тип, чем метод, который он переопределяет.

10 Performance—Improvement Tips for ASP.NET Core 3.0 Applications — десять советов, которые помогут сделать ваше ASP.NET Core приложение быстрее.

Writing network proxies for development purposes in C# — создание сетевого прокси на C#.

Xamarin

Cognitive Services in Xamarin Applications — использование Microsoft Cognitive Services в мобильных приложениях.

What’s New, Hot, & Awesome for Xamarin Developers! — презентация с митапа Seattle Mobile Developers.

Don’t mention the seam! Microsoft releases Surface Duo Android SDK, more on Windows 10X — Microsoft выпустили предварительную версию SDK для Surface Duo. Напомним, что Surface Duo — это новый смартфон с двумя экранами, который был представлен на Microsoft’s 2019 Surface Event.

How to implement data validation with Xamarin.Forms — подробное руководство по реализации валидации в Xamarin Forms.

Azure

How to Learn Microsoft Azure in 2020 — количество сервисов Azure увеличивается чуть ли не каждый день. В статье собраны и структурированы материалы, которые помогут в их изучении. Также есть информация по различные сертификации Azure.

Azure Container Service will retire on 31 January 2020 — поддержка службы контейнеров Azure будет прекращена 31 января 2020 года.

Integrate ASP.NET Core with Azure Key Vault — в этом видео будет показано, как интегрировать сервис хранилища ключей Azure с веб-приложением ASP.NET Core.

Microsoft Is Winning The ‘Cloud War’ Against Amazon: Report — похоже, что AWS все активнее сдаёт позиции и уступает Azure. По результатам исследования Goldman Sachs, именно Microsoft является самым популярным поставщиком облачных сервисов.

Azure is now certified for the ISO/IEC 27701 privacy standard — Azure теперь сертифицирован по стандарту конфиденциальности ISO / IEC 27701. Что это и зачем нужно? Принятие GDPR в Евросоюзе стало важным этапом в развитии требований в области

конфиденциальности и порядка соблюдения этих требований в глобальном масштабе. Международный стандарт ISO/IEC 27701 помогает организациям гарантировать соответствие нормативным требованиям. Этот стандарт определяет полный набор средств операционного управления, которые могут быть сопоставлены с различными нормативными требованиями, включая регламент GDPR.

How Azure Event Grid is different from logs, alerts, change feeds and webhooks — Антон Бойко во время поиска информации по абсолютно другой и не связанной теме, наткнулся на отличную статью про Event Grid. В статье описывается, чем Event Grid отличается от других, казалось бы, аналогичных сервисов или возможностей Azure. Статья не сильно большая, но она покрывает основные моменты на 5+.

Microsoft to launch new cloud datacenter region in Israel — Microsoft News Centre Europe — Microsoft запускает новый дата-центр в Израиле.

Machine Learning, Data science, Big Data, etc.

Tutorial: Detect objects using deep learning with ONNX and ML.NET — классификация изображений с использованием ONNX модели и ML.NET.

Microsoft Research 2019 reflection — a year of progress on technology’s toughest challenges — итоги года от команды Microsoft Research: релиз модели MT—DNN, релиз SEAL для .NET, множество награждений исследователей из Microsoft Research, участие в конференции ACM FAT в Атланте и многое другое.

События

F# Ukraine 2020 — 28 марта пройдёт первая в Украине конференция, посвящённая разработке на F#. Главный критерий отбора докладов — темы базируются на реальном опыте применения F#. Большинство докладов касаются не только F#, но и архитектуры (actor model, event sourcing, streaming).

Azure Hybrid Virtual Event — 31 марта состоится Azure Hybrid Virtual Event — бесплатное онлайн-мероприятие, на котором вы сможете узнать о последних инновациях в Azure Arc и Azure Stack, двух инновационных решениях гибридного облака от Microsoft.

Visual Studio for Mac: Refresh(); event — 24 февраля присоединяйтесь бесплатному виртуальному мероприятию, чтобы узнать, как сделать разработку мобильных приложений, веб-приложений и игр легкой и продуктивной на вашем Mac.

MS Stage — 21 начнется конференция, посвященная технологическому стеку Microsoft: C#, F#, .NET, ASP.NET, MS SQL Server, Internet information server, Microsoft Visual Studio, MS Azure, Cosmos DB и многое другое.


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


← Предыдущий выпуск: .NET Дайджест #31
Следующий выпуск: .NET Дайджест #33

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному5
LinkedIn



26 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Новость в тему про распределение долей клауд провайдеров
techcrunch.com/...​-battle-for-market-share

Также хотел бы поблагодарить автора за классную подборку новостей и полезных статей!)

Интересно отметить, что по мнению Sergei Klebnikov из Forbes, Microsoft Azure выигрывает облачную войну против AWS.

Key background: With cloud software proving to be a booming new trend in the tech space, that will lead to even more competition between big players, such as for the $10 billion Pentagon JEDI contract earlier this year, where Microsoft won out on the deal over Amazon. With Azure’s popularity and growing momentum in the cloud services space, Wedbush analysts Daniel Ives and Strecker Backe predict that Microsoft and its CEO Satya Nadella will „win the next stage of the cloud war” against Bezos and Amazon in 2020.

Там много политических и судебных разбирательств, в которых Amazon пока заблокировал этот контракт для MS и похоже, что засчитывать это как победу МS над AWS точно не стоит. А недавние security issues еще все больше усугубляют для MS.

На мой поверхностно-диванный взгляд у Майкрософт и правда очень хорошие перспективы.
До недавнего времени классические энтерпрайзы еще по инерции не пользовались клаудом. Сначала ему не доверяли, а потом как обычно любое решение подобного масштаба долго принимается и внедряется.
Только последние 2 года я вижу очень устойчивый тренд среди энтепрайз солюшенов на перевод существующих решений в облако. И большинство еще только в начале пути, и далеко не все компании.
А все эти компании они классические клиенты Майкрософт, и ажур рассматривают как бы по дефолту, поэтому тренд должен только нарастать.

Это то что я вижу в швеции, возможно в других странах дот.нет и майкрософт в целом не так популярен как тут.

Microsoft to launch new cloud datacenter region in Israel

не работают они по умолчанию с ms , даже когда у них windows и .net.
делают cloud agnostic решения, а дипоят туда, кто жирней скидку даст. В технологическом плане azure сливает aws тотально. Энтерпрайз доверяет больше Amazon.

Я лишь пишу по своему опыту, и как сказал, возможно за пределами Швеции картина выглядит по-другому. Но это то, что я видел и на примере компаний, в которых работал, и на примере клиентов этих компаний, и просто по просмотру всех дотнетовских позиций, коих тут довольно много, если есть вообще клауд в требованиях, то чисто «на глаз» примерно 80% Azure и 20% AWS.

Да, однозначно по другому — я говорю про США.

Мне кажется, в США вообще не так популярен .net, там джава заметно впереди для энтерпрайз решений.

вот только успех AWS обусловлен не тем, что там плохая поддержка .net стека или лучше сервисы для java.

Было бы интересно если бы ты расписал чем обусловлен успех и в чем технически ажур сливает амазону?

у aws кастомеры жирней;
у aws больше рыночная часть и прибыль;
у aws лучше поддержка oss решений с обширным комьюнити;
у AWS managed сервисы лучше при том что спектр сервисов ± одинаковый
l4, l7, Network security у AWS безопасней;
Cosmos vs Dynamo — последний по прайсингу гибче(партицирование более гибкое), при том что прайсинг вообще слабое место у такого рода PaaS решений;
AKS vs EKS — помню как в 2018 Kuber в Azure даже не умел диплоить multistage docker files, мегафейл для дотнета на тот момент с размером имеджей под SDK;
Lambda vs Functions — нагрузку Azure держит хуже;
я думаю этот список можно продолжать еще и продолжать;

А что на счет Digital Ocean? Слышал, что в AWS люди идут по интерции и DO предоставляет намного лучше сервис/цену.

что б захостить веб сайт несложний? может бить. не знаю — не сталкивался c Digital ocean. я почти уверен что PaaS решений, что есть у Amazon там нет, точно так же уверен, что и инфраструктри — виделенние линии, подсети, поддержка гибридной инфраструктури, корпоративние сервиси, уверен, что по возможностям кластеризации и скейлинга своих сервисов они тоже будут значительно уступать aws точно так же и с поддержкой девопс инструментария.

DO идеален для небольших бюджетных проектов. На данный момент наиболее доступное облако ($5/month). Недавно появилась поддержка K8S, hosted DB, есть load balancer и интеграция с LetsEncrypt. Но в целом список сервисов весьма ограничен.

Сейчас многие сервисы создают свои k8s операторы, так что разворачивать и менеджить ту же MongoDB, Elastic Stack, etc. в k8s довольно просто. Так что для многих задач без hosted сервисов можно смело обходиться. И бонусом идет cloud agnostic система.

у aws кастомеры жирней;
у aws больше рыночная часть и прибыль;

Это да, и это естественно же — они были первыми и они лидеры. Я писал именно об этом, что Ажур вышел позже, а их классические клиенты долго по инерции ничего в клауде не делали, но ситуация последние годы стала меняться — идет активная адаптация клаудов, поэтому мне и кажется, что если Ажур активно забирает часть маркета у Амазона, то тендеция будет нарастать еще больше.

Еще, в чем очень важное отличие Европы от США — это GDPR и наличие датацентров. По регуляциям или просто по внутренним стратегиям многие бизнесы обязаны хранить свои данные географически на территории своей страны. И вот думаю причиной почему в той же Швеции Azure популярнее AWS, потому что у амазона датацентр только недавно тут появился, кажется вообще в прошлом году только, а у Майкрософта уже давно.

не работают они по умолчанию с ms 

В трех комманиях из 5-ти, в которых я работал (и которые юзали облако) тоже по-умолчнию выбирали Azure, так что отрицать этот фактор не стоит. Только в текущей удалость некоторые сервисы перетянуть в AWS, потому что в Azure были какие-то косяки с тем, чтобы подружить наш VPN.

Могу подтвердить такую же тенденцию в Австрии. Большинство корпо на винде и разработка в .net . Много сениор разработчиков из экосистемы Майкрософт выходят раз в год, и то неохотно и когда прижмёт. Отсюда логичный вывод — облако только Азур, другие варианты почти не стоят т.к. просто никто не может/хочет вникать

www.theverge.com/...​ct-jedi-10-billion-paused
A judge has issued a temporary injunction against the Pentagon’s Joint Enterprise Defense Infrastructure (JEDI) cloud contract, preventing the contract from moving forward until a lawsuit from Amazon is resolved

Там вообще изначально Амазон выигрывал, но потом туда влез Трам, у которого проблемы с Jeff Bezos-ом, что в итоге с подачи Ларри Элисона привело к тому, что контракт выиграл MS, хотя ему изначально вообще ничего не светило.

Спасибо! Отличная подборка!

Большое спасибо за подборку ! Будет что почитать.

Коментар порушує правила спільноти і видалений модераторами.

Підписатись на коментарі