.NET Core в современных
проектах
Андрей Губский
За что все любят .NET Core и
как это произошло?
.NET Core –
быстрая
платформа
http://benchmarksgame.alioth.debian.org/u64q/csharp.html
.NET Core – быстрая платформа
Экспансия и
ассимиляция
Платформы
Инструментарий
Windows Linux Mac OS X
Разработка
на любой
платформе
ReSharper
Дружелюбная
консоль
 new
 restore
 build
 publish
 run
 test
 …
dotnet
.NET Core
в облаках
IaaS PaaS Сайт
Инструменты
для
разработчико
в
Azure + + azure.microsoft.
com
Azure SDK and
Tools
AWS + + aws.amazon.com AWS SDK for .NET
Digital
Ocean + - digitalocean.com -
Google Cloud + + cloud.google.com
.NET ON GOOGLE
CLOUD PLATFORM
IBM Bluemix + +
ibm.com/cloud-
computing/bluemi
x
IBM Developer
Extension for
VS Code
Open Shift + - openshift.com via Click2Cloud
https://dou.ua/lenta/articles/net-core-in-da-cloud
Все крутые штуки сейчас
стартуют на .NET Core
Криптоэффе
ктивность
.NET Core
Подводные
камни
 Свичнуться можно только в одну сторону
 Билд-тулы msbuild => dotnet publish
 Nuget-пакеты – еще многие предстоит
перевести
 Не все проекты можно перевести на .NET
Core
От чего
придется
отказаться
WebForms
Windows Forms
WCF
WPF
Значит ли это, что мне
придется и дальше
использовать классическую
версию .NET для
существующих проектов?
Какое место
занимает
.NET Core?
.NET Standard
и плавная
миграция
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0
.NET Framework (with
.NET Core 1.x SDK)
4.5 4.5 4.5.1 4.6 4.6.1 4.6.2
.NET Framework (with
.NET Core 2.0 SDK)
4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1
Mono 4.6 4.6 4.6 4.6 4.6 4.6 4.6 5.4
Xamarin.iOS 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.14
Xamarin.Mac 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.8
Xamarin.Android 7.0 7.0 7.0 7.0 7.0 7.0 7.0 8.0
Universal Windows
Platform
10.0 10.0 10.0 10.0 10.0 10.0.16299 10.0.16299 10.0.16299
Windows 8.0 8.0 8.1
Windows Phone 8.1 8.1 8.1
Windows Phone Silverlight 8.0
https://docs.microsoft.com/en-us/dotnet/standard/net-standard
Не нужно сильно
расстраиваться
Windows Compatibility Pack for .NET Core
https://blogs.msdn.microsoft.com/dotnet/2017/11/16/ann
ouncing-the-windows-compatibility-pack-for-net-core/
Как постепенно перейти на
.NET Core
.NET Portability
Analyzer
.NET Core
только для
стартапов и
новых
проектов?
Основываясь на том, что мы видели, сервисы могут развиваться быстрее,
быстрее работать и лучше масштабироваться, если они написаны с
использованием .NET Core с C#.
Джереми Гауди: главный архитектор GoDaddy
Смогли перенести на на Linux (переехали частично в DigitalOcean) сервисы для кодирования видео.
Увеличили скорость работы и уменьшили себестоимость платформы.
Наш опыт
Torf TV
VI
https://github.com/dncuug
• Serilog - структурное логирование
• X.PagedList - основные опреации с пейджинацией
• Polly - library that allows developers to express policies such as Retry, Circuit Breaker, Timeout
• XUnit
• Scaffolder - кросплатформенный аналог ASP.NET Dynamic Data
Как готовить .NET Core
Что мы
выиграли
 Деньги – стоимость серверов меньше
 Время – увеличилась скорость
развертывания инфраструктуры
 Быстродействие — скорость работы
кода гораздо выше.
Для кого
.NET Core?
 .NET разработчики которым хочется
легкий и удобный инструмент
 Жители мира *nix, которые хотят
работать с красивым удобным и
логичным языком
.NET Core
Ukrainian
User Group
@DNCUUG
dot-net.in.ua
bit.ly/fb-dncuug
Спасибо за
внимание!
Вопросы?

.NET core в современных проектах, Андрей Губский