SlideShare a Scribd company logo
Тема доклада
Тема доклада
Тема доклада
KYIV 2019
.NET Core 3 and the future
of .NET platforms
.NET CONFERENCE #1 IN UKRAINE
Olia Gavrysh
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
About me
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
Olia Gavrysh
Program Manager
Microsoft, .NET team
twitter: @oliagavrysh
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Agenda
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
1. About .NET Core
2. What’s new in .NET Core 3.0
3. Future of .NET
Your platform for building anything
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
.NET
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core – How it started
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
2002 - .NET Framework 1.0
2016 - .NET Core 1.0
.NET LEVEL UP
.NET Core became popular
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
Just a few of our millions of .NET users…
dot.net/customers
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core Differentiators
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
 Light and fast
 Deployment flexibility
● side-by-side
● self-contained
● single .exe
● Trimmer
 SDK-based project files
 Fundamental runtime
improvements
 New language features
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Core 3.0
Released on 9/23
Desktop support for WPF and WinForms
Full-stack web development with C# and Razor
Significant performance improvements
New C# language features for productivity and less errors
https://dotnet.microsoft.com/download/dotnet-core/3.0
What’s new in .NET Core
KYIV 2019 .NET CONFERENCE #1 IN UKRAINE
C# 8
KYIV 2019 .NET CONFERENCE #1 IN UKRAINE
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
What’s new in C# 8
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
• Nullable reference types
• Recursive patterns
• Async enumerable
• Indices and Ranges
• Default interface members
• Target-typed new-expressions
• Switch expressions
• Using statements
• Static local functions
• Readonly members
• Null coalescing assignment
• Unmanaged constraint
• Interpolated verbatim strings
• …
Let’s talk about {null}
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Async Enumerable
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
Тема доклада
Тема доклада
Тема доклада
Default interface members
Тема доклада
Тема доклада
Тема доклада
Indices and Ranges
Index i1 = 3; // number 3 from beginning
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }
var slice = a[..i2]; // { 0, 1, 2, 3, 4, 5 }
Indices
Ranges
Тема доклада
Тема доклада
Тема доклада
Target-typed new and switch expressions
Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
What’s new in C# 8
.NET CONFERENCE #1 IN UKRAINE KYIV 2019
• Nullable reference types
• Recursive patterns
• Async enumerable
• Indices and Ranges
• Default interface members
• Target-typed new-expressions
• Switch expressions
• Using statements
• Static local functions
• Readonly members
• Null coalescing assignment
• Unmanaged constraint
• Interpolated verbatim strings
• …
Web Development
with Blazor
KYIV 2019 .NET CONFERENCE #1 IN UKRAINE
https://...
JS
Тема доклада
Тема доклада
Тема доклада
Blazor
• Build client-side web UI with .NET instead of JavaScript
• Write reusable web UI components with C# and Razor
• Share .NET code with both the client and the server
• Call into JavaScript libraries & browser APIs as needed
C#
.NET
How Blazor WebAssembly works
https://...
DOM
Razor Components
.NET
WebAssembly
Blazor on client or server
https://...
DOM
Razor Components
.NET
WebAssembly
https...
DOM
.NET Core
SignalR
Blazor WebAssembly Blazor Server
Razor Components
.NET
.NET Core 3.0May 2020
Blazor on client or server
Blazor WebAssembly Blazor Server
.NET Core 3.0May 2020
Тема доклада
Тема доклада
Тема доклада
Get started with Blazor
https://blazor.net
• Install .NET Core 3.0
• Install the Blazor WebAssembly template
• (Windows) Install Visual Studio 2019 16.3
• (Mac/Linux) Install Visual Studio Code with the C# extension
.NET LEVEL UP .NET CONFERENCE #1 IN UKRAINE KYIV 2019
Тема доклада
Тема доклада
Тема доклада
The “Awesome Blazor” community
https://aka.ms/awesomeblazor
• Free open-source components & JS interop libraries
• Samples, articles, videos, etc.
• Blazor community on Gitter: https://gitter.im/aspnet/blazor
Тема доклада
Тема доклада
Тема доклада
More about Blazor at .NETFest
Day 2: 11:25 Day 2: 13:20
Desktop
KYIV 2019 .NET CONFERENCE #1 IN UKRAINE
Deployment Flexibility
Side-by-side deployment, self-
contained EXEs
Install machine global or app local
framework
Windows 10
Access modern Windows 10
APIs from WPF and WinForms
Use native Windows 10
controls via XAML islands
Open Source
WPF and WinForms projects
also open source on GitHub
Develop together with open
source community
.NET Core 3.0 for Windows Desktop
Appcenter.ms
To port or not to port?
.NET CONFERENCE #1 IN UKRAINE KYIV 2019.NET LEVEL UP
Only
maintenance,
no active
development
Active
development,
new apps
Stay on
Framework
Try Core
Тема доклада
Тема доклада
Тема доклада
Porting tool
Try Convert
• https://github.com/dotnet/try-convert
• Will try to convert your old-style project file to the new SDK-style
and retarget your executables to .NET Core 3
Microservices
• gRPC
• Worker Service
• Web API’s + Identity
Machine Learning
• Model Builder
• TF integration
• DB loader
IoT
• Raspberry Pi
• Containers
• GPIO pins APIs
Xamarin
• Preview Hot Reload
& Hot Restart
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
Future of .NET Platforms
XAMARIN / MONO.NET FRAMEWORK .NET.NET CORE
.NET STANDARD
July 2019
.NET Core 3.0
RC
Sept 2019
.NET Core 3.0
Nov 2019
.NET Core 3.1
LTS
Nov 2020
.NET 5.0
Nov 2021
.NET 6.0
LTS
Nov 2022
.NET 7.0
Nov 2023
.NET 8.0
LTS
.NET 5
INFRASTRUCTURE
.NET STANDARD
.NET – A unified platform
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
WPF
Windows Forms
UWP
ASP.NET Xamarin UnityAzure ARM32
ARM64
ML.NET
.NET for
Apache Spark
Тема доклада
Тема доклада
Тема доклада
KYIV 2019
Thank you!
twitter: @oliagavrysh
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET

More Related Content

PPTX
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
PDF
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
PPTX
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...
PPTX
.Net framework
PPTX
Api Gateway - What's the use of an api gateway?
PPTX
Microservicios net arquitectura para aplicaciones net contenerizadas - net ...
PDF
Micro frontends with react and redux dev day
PDF
Bridging Microservices, APIs and Integration
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...
.Net framework
Api Gateway - What's the use of an api gateway?
Microservicios net arquitectura para aplicaciones net contenerizadas - net ...
Micro frontends with react and redux dev day
Bridging Microservices, APIs and Integration

What's hot (20)

PDF
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
PPTX
Software architecture in practice
PPTX
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
PPTX
Building Information Systems with MERN
PDF
Micro service pitfalls voxxed days istanbul 2015
PDF
Introducción al JAMStack - JS Ourense
PPTX
Developers’ mDay 2021: Robert Juhas, SimpleTask – Should I run my own blockc...
PPTX
Micro frontend architecture_presentation_ssoni
PDF
Serverless with Firebase - Launchpad Build Burgos
PPTX
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
PDF
The building blocks of the next web, from Customer Journey to UI Components. ...
PPTX
Microsoft Azure Cloud Services
PDF
Capacitor 2.0 Launch
PDF
Microservices - How Microservices Have Changed and Why They Matter
PDF
TIBCO BWCE and Netflix' Hystrix Circuit Breaker for Cloud Native Middleware M...
PPT
What Is Silverlight
PPT
What Is Silverlight
PDF
Angular2 a modern web platform
PDF
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
PPTX
JS digest. July 2017
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
Software architecture in practice
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
Building Information Systems with MERN
Micro service pitfalls voxxed days istanbul 2015
Introducción al JAMStack - JS Ourense
Developers’ mDay 2021: Robert Juhas, SimpleTask – Should I run my own blockc...
Micro frontend architecture_presentation_ssoni
Serverless with Firebase - Launchpad Build Burgos
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
The building blocks of the next web, from Customer Journey to UI Components. ...
Microsoft Azure Cloud Services
Capacitor 2.0 Launch
Microservices - How Microservices Have Changed and Why They Matter
TIBCO BWCE and Netflix' Hystrix Circuit Breaker for Cloud Native Middleware M...
What Is Silverlight
What Is Silverlight
Angular2 a modern web platform
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
JS digest. July 2017
Ad

Similar to .NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET (20)

PPTX
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
PPTX
Net fest final presentation
PPTX
.NET Fest 2019. Alexandre Malavasi. The future of Web: what Microsoft Blazor ...
PPTX
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
PPTX
.NET Fest 2019. Андрей Антиликаторов. Проектирование и разработка Big Data ре...
PPTX
Overview of .Net Framework
PPTX
.Net: Introduction, trends and future
PPTX
.NET Fest 2019. Dan Patrascu-Baba. Microservices from the trenches. When buzz...
PDF
Dot NET Core Interview Questions PDF By ScholarHat
PPTX
ASP.NET Core: The best of the new bits
PDF
Portable Code Compiler
PPTX
What's new in Visual Studio for Mac for .NET Developers
PPTX
Introduction to ASP.NET 5
PDF
Asp.net Web Development.pdf
PPTX
NET app modernization and Microsoft Azure.pptx
PDF
NET Microservices Architecture for Containerized NET Applications Cesar De La...
PPTX
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
PDF
C 7 and NET Core Modern Cross Platform Development 2nd Edition Mark J. Price
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
PPTX
C#: Past, Present and Future
.NET Fest 2018. Оля Гавриш. Что нового в .NET Core 3.0
Net fest final presentation
.NET Fest 2019. Alexandre Malavasi. The future of Web: what Microsoft Blazor ...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Андрей Антиликаторов. Проектирование и разработка Big Data ре...
Overview of .Net Framework
.Net: Introduction, trends and future
.NET Fest 2019. Dan Patrascu-Baba. Microservices from the trenches. When buzz...
Dot NET Core Interview Questions PDF By ScholarHat
ASP.NET Core: The best of the new bits
Portable Code Compiler
What's new in Visual Studio for Mac for .NET Developers
Introduction to ASP.NET 5
Asp.net Web Development.pdf
NET app modernization and Microsoft Azure.pptx
NET Microservices Architecture for Containerized NET Applications Cesar De La...
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
C 7 and NET Core Modern Cross Platform Development 2nd Edition Mark J. Price
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
C#: Past, Present and Future
Ad

More from NETFest (20)

PDF
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
PPTX
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
PPTX
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
PPTX
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
PPTX
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
PPTX
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
PPTX
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
PPTX
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
PPTX
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
PPTX
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
PPTX
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
PPTX
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
PDF
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
PDF
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
PPTX
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
PDF
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
PDF
.NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith...
PPTX
.NET Fest 2019. Kevin Dockx. Uncovering Swagger/OpenAPI
PPTX
.NET Fest 2019. Kevin Dockx. OpenID Connect In Depth
PPTX
.NET Fest 2019. Irina Scurtu. Forget about HTTP
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. 6 Lessons I Learned on My Journey from Monolith...
.NET Fest 2019. Kevin Dockx. Uncovering Swagger/OpenAPI
.NET Fest 2019. Kevin Dockx. OpenID Connect In Depth
.NET Fest 2019. Irina Scurtu. Forget about HTTP

Recently uploaded (20)

PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
RMMM.pdf make it easy to upload and study
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Sports Quiz easy sports quiz sports quiz
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharma ospi slides which help in ospi learning
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Lesson notes of climatology university.
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
RMMM.pdf make it easy to upload and study
O5-L3 Freight Transport Ops (International) V1.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Sports Quiz easy sports quiz sports quiz
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Computing-Curriculum for Schools in Ghana
Microbial diseases, their pathogenesis and prophylaxis
STATICS OF THE RIGID BODIES Hibbelers.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
102 student loan defaulters named and shamed – Is someone you know on the list?
Anesthesia in Laparoscopic Surgery in India
Pharma ospi slides which help in ospi learning
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Final Presentation General Medicine 03-08-2024.pptx
Lesson notes of climatology university.

.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET

Editor's Notes

  • #8: <PublishSingleFile>true</PublishSingleFile> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <PublishTrimmed>true</PublishTrimmed> (Фреймворк установлен на более 2 билионов компьютеров)
  • #9: <LangVersion>8.0</LangVersion> <Nullable>enable</Nullable>
  • #16: <LangVersion>8.0</LangVersion> <Nullable>enable</Nullable>
  • #26: Blazor is in large part possible thanks to relatively new open web standard called Web Assembly. WA is a bite code for the web. The idea is that if you can compile your code into WA. It can now run in any browser on any platform at near native speed. And we’ve been working for a while now on getting .NET run great on WA. We are building a .NET runtime in WA.
  • #28: This is how Blazor WA App works. The browser provides core WA support, on top of that we’ve built .NET WA runtime. Then you build your Razor components that could compile into the normal .NET assemblies. They are downloaded with the runtime into the browser and then executed directly in the browser. The browser then sends all it’s UI events to your .NET core, your components run, they render the UI, and Blazor does all the hard work to figure out what exactly changed in the UI. The difference then sent back to the DOM and updated very-very efficiently. The cool thing about Blazor is that you can host it in many different ways. We’ve just talked about running your app on WA. But alternatively you can also run your Blazor app and host them on the server. Using the same components. The way Blozor Server App works is your components run on the server, the browser sets up a real-time signalR connection with the server and that’s what it uses to handle and send all the UI events that the user is creating. When a button click occurs, it get’s sent to the server. The corresponding component runs just like it did on a Blazor WA app. Component render. Blazor does all the hard work of calculating the diff. It serialized that diff back to the browser so it can be applied to the DOM. In Core 3 – support for Server and Blazor WA will be shipped in May next year.
  • #29: How do you pick between Blazor Server App and Blazor WA App.
  • #33: I’d like to invite Mads up on stage to show off C# 8.0.
  • #35: We know we have millions of Windows developers using .NET. So .NET Core has added support for Windows Forms and WPF. This allows you to take advantage of the innovation happening in .NET Core, while still using the UI frameworks you know and love.
  • #36: And to make deploying, testing and collecting telemetry easy, we’re announcing today the release of .NET Core 3.0 Windows Apps support in App Center.
  • #39: We’ve added a ton of features to ASP.NET Core in version 3.0 on order to make building resilient microservices easier.
  • #42: 2019 – Introduce .NET 5 – Windows, Mac, Linux, Android, IOS all run .NET Core’s runtime Same BCL used on all platforms, same runtime used on all platforms Native code compilation on all platforms, by merging .NET Native and Mono AOT JIT and AOT Runtime .NET 5 is the next major version of the .NET Platform that brings technologies from .NET Framework, .NET Core and & Mono runtimes and frameworks together into one .NET platform. .NET 5 will have one Base Class Library (BCL) that will contain APIs for building any type of application. All .NET workloads are supported with application frameworks including cross-platform web development with ASP.NET, iOS and Android mobile development with Xamarin, Windows Desktop, and cross-platform IoT.  .NET 5 will have both Just-in-Time (JIT) and Ahead-of-Time (AOT) compilation models for the multiple compute and device scenarios it must support. JIT has better performance for server and desktop workloads as well as development environments. AOT has better startup, a small footprint, and is required for mobile and IoT devices.  .NET 5 will also have one unified toolchain supported by new SDK project types, will have a flexible deployment model (Side-by-Side and self-contained EXEs) and continue .NET Core's superior performance for server & cloud workloads.