SlideShare uma empresa Scribd logo
1 de 28
.NET Standard
What is it all about?
.NET MeetUp in Prague, CZ (2017/7/19)
Karel Zikmund ( @ziki_cz)
.NET platforms today
.NET reusing code – yesterday
• Portable Class Libraries (PCLs)
• No systematic approach to versioning
• Computed intersection profiles
• Each PCLs is targeting a specific set of
platforms
• Not compatible with newer platforms
• Hard to understand compatibility relationships
Platform 3Platform 1
Platform 2
Intersection
Profiles
.NET reusing code – tomorrow
.NET Standard
What is .NET Standard?
• .NET Standard is a specification
• A set of APIs that all .NET platforms have to implement
• .NET Standard versions: 1.0, 1.1, …, 1.6, 2.0*
• .NET platforms also version:
• .NET Framework:
• 1.0, 1.1, 2.0, 3.0, 3.5
• 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7
• .NET Core: 1.0, 1.1, 2.0*
• Newer .NET platforms implement newer .NET Standard versions
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core
.NET Framework
Mono
Xamarin.iOS
Xamarin.Android
.NET Native (UWP)
Windows Phone
Windows Phone Silverlight
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core 1.0
.NET Framework 4.5
Mono 4.6
Xamarin.iOS 10.0
Xamarin.Android 7.0
.NET Native (UWP) 10.0
Windows Phone 8.1
Windows Phone Silverlight 8.0
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core 1.0 1.0
.NET Framework 4.5 4.6
Mono 4.6 4.6
Xamarin.iOS 10.0 10.0
Xamarin.Android 7.0 7.0
.NET Native (UWP) 10.0 10.0
Windows Phone 8.1
Windows Phone Silverlight 8.0
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.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
Mono
Xamarin.iOS
Xamarin.Android
.NET Native (UWP)
Windows Phone
Windows Phone Silverlight
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.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 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1
Mono
Xamarin.iOS
Xamarin.Android
.NET Native (UWP)
Windows Phone
Windows Phone Silverlight
Support matrix
https://github.com/dotnet/standard/blob/master/docs/versions.md
.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 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 vNext
Xamarin.iOS 10.0 10.0 10.0 10.0 10.0 10.0 10.0 vNext
Xamarin.Android 7.0 7.0 7.0 7.0 7.0 7.0 7.0 vNext
.NET Native (UWP) 10.0 10.0 10.0 10.0 10.0 vNext vNext vNext
Windows Phone 8.1 8.1 8.1
Windows Phone Silverlight 8.0
Remember HTML and HTML5?
http://www.webdevout.net/browser-support
HTML version 2.0 3.2 4.0 5 5.1 Notes
Internet Explorer
Chrome
Firefox
Safari
Opera
Edge
Remember HTML and HTML5?
http://www.webdevout.net/browser-support
HTML version 2.0 3.2 4.0 5 5.1 Notes
Internet Explorer 10 IE11 also supports HTML5
Chrome 30 Latest Chrome 58 also supports
HTML5
Firefox 30 Latest Firefox 53 also supports
HTML5
Safari 8.0 Latest Safari 10.2 also supports
HTML5
Opera 12.10 Latest Opera 45 also supports HTML5
Edge 12 Edge 12-15 all support latest HTML5
Remember HTML and HTML5?
http://www.webdevout.net/browser-support
HTML version 2.0 3.2 4.0 5 5.1 Notes
Internet Explorer ? ? 6 10 Future? IE11 also supports HTML5
IE9 supports parts of HTML5
IE7 & IE8 also support HTML 4.0
Chrome
Firefox
Safari
Opera
Edge
Remember HTML and HTML5?
http://www.webdevout.net/browser-support
HTML version 2.0 3.2 4.0 5 5.1 Notes
Internet Explorer ? ? 6 10 Future? IE11 also supports HTML5
IE9 supports parts of HTML5
IE7 & IE8 also support HTML 4.0
Chrome ? ? ? 30 Future? Latest Chrome 58 also supports
HTML5
Firefox ? ? 2 30 Future? Latest Firefox 53 also supports
HTML5
Safari ? ? ? 8.0 Future? Latest Safari 10.2 also supports
HTML5
Opera ? ? 9 12.10 Future? Latest Opera 45 also supports HTML5
Edge 12 12 12 12 Future? Edge 12-15 all support latest HTML5
.NET Standard 2.0
Has much bigger API surface
• Extended to cover intersection between .NET
Framework and Xamarin
• .NET Core 2.0 implements .NET Standard 2.0 (makes it
bigger)
~70%
+20K
Can reference .NET Framework libraries
• Compat shim allows referencing existing .NET
Framework code – without recompilation
• Limited to libs that use APIs that are available for .NET
Standard
2.0
1.3
1.1
Versioning of .NET Standard
Additive APIs
• Higher versions have all APIs from
previous versions.
1.0
Version # of APIs Growth %
1.0 7,949
1.1 10,239 +29%
1.2 10.285 +0%
1.3 13,122 +28%
1.4 13,140 +0%
1.5 13,355 +2%
1.6 13,501 +1%
2.0 32,638 +142%
Which .NET Standard?
• Supporting lower version of NS = more platforms support it
• Supporting higher version of NS = more APIs you can use
• Advice for Libraries:
• Target lowest version of .NET Standard you can get away with
• Advice for Applications:
• Don’t target .NET Standard, it is for libraries
• For cross-platform use .NET Core (server/console apps) or Xamarin (UI apps)
Which .NET Standard?
• .NET Portability Analyzer
https://github.com/Microsoft/dotnet-apiport
• Check APIs used by your project
• Check APIs used by your binaries
• Command line / VS extension
• Outputs: HTML, XLSX, Json
• Demo …
Which .NET Standard? https://apisof.net
.NET platforms – recap
• .NET Framework 4.6.1 – implements NS2.0
• Windows only, machine-wide install (highly compatible)
• Scenarios: All, incl. server, client/UI (WPF, WinForms), etc.
• Xamarin – will implement NS2.0 very soon
• Scenarios: UI apps for cross-platform (iOS, Android, UWP)
• .NET Native 2.0 (UWP 6.0) – will implement NS2.0 (Q4 2017)
• Scenarios: UWP (UI) apps only (Win10)
• .NET Core 2.0 – will implement NS2.0 very soon (Q3 2017)
• Cross-platform (Windows, Linux, OS X)
• Scenarios: Server and console apps (no client/UI apps)
.NET Core
https://www.microsoft.com/net/core/platform - 6 key values
Cross-platform
You can create .NET Core apps that run on Windows, Linux and macOS.
Unified
Leverage the unified .NET Standard library to target all platforms with the same code and use
the same languages and tools to reuse your skills.
Fast
High performance server runtime for Windows Server and Linux makes .NET a top performing
web framework on TechEmpower benchmarks. That means applications provide better response
times and require less compute power.
• Performance Improvements in .NET Core
• Performance Improvements in RyuJIT in .NET Core and .NET Framework
.NET Core (cont.)
https://www.microsoft.com/net/core/platform
Modern
Multiple language support with C#, VB, F# and modern constructs like generics, Language
Integrated Query (LINQ), async support and more.
Open Source
Runtime, libraries, compiler, languages and tools are all open source on GitHub where
contributions are accepted, tested and fully supported.
Lightweight
No impact deployment and a modular development model where you only take dependencies
on the minimal set of packages you need.
• Special thanks to Immo Landwerth ( @terrajobst)
• Based on Immo’s .NET Standard slides for .NET Fringe 2017 conference
The End
• Author: Karel Zikmund ( @ziki_cz)
• Slides: https://karelz.github.io

Mais conteúdo relacionado

Mais procurados

Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with XtextGlobalLogic Ukraine
 
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Gerke Max Preussner
 
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
 
Adf-fusion-architecture_manage-modular-approach_4581
Adf-fusion-architecture_manage-modular-approach_4581Adf-fusion-architecture_manage-modular-approach_4581
Adf-fusion-architecture_manage-modular-approach_4581Berry Clemens
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedbackJeff Squyres
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#NguynSang29
 
Modern js in practice
Modern js in practiceModern js in practice
Modern js in practicefesuffolk
 
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4Gerke Max Preussner
 
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015
Fun with Functional JavaScript  - Kuba Waliński - Codemotion Rome 2015Fun with Functional JavaScript  - Kuba Waliński - Codemotion Rome 2015
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015Codemotion
 
Desarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDesarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDan Ardelean
 
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4Gerke Max Preussner
 
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)Barm Bannasan
 
Domain Specific Development using T4
Domain Specific Development using T4Domain Specific Development using T4
Domain Specific Development using T4Joubin Najmaie
 

Mais procurados (20)

Modern .NET Ecosystem
Modern .NET EcosystemModern .NET Ecosystem
Modern .NET Ecosystem
 
Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with Xtext
 
Evalution about programming language part 1
Evalution about programming language part 1Evalution about programming language part 1
Evalution about programming language part 1
 
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
 
Client server
Client serverClient server
Client server
 
Adf-fusion-architecture_manage-modular-approach_4581
Adf-fusion-architecture_manage-modular-approach_4581Adf-fusion-architecture_manage-modular-approach_4581
Adf-fusion-architecture_manage-modular-approach_4581
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
 
Modern js in practice
Modern js in practiceModern js in practice
Modern js in practice
 
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
 
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015
Fun with Functional JavaScript  - Kuba Waliński - Codemotion Rome 2015Fun with Functional JavaScript  - Kuba Waliński - Codemotion Rome 2015
Fun with Functional JavaScript - Kuba Waliński - Codemotion Rome 2015
 
Desarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDesarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .net
 
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
 
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
 
Web development post io2016
Web development post io2016Web development post io2016
Web development post io2016
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)
 
Domain Specific Development using T4
Domain Specific Development using T4Domain Specific Development using T4
Domain Specific Development using T4
 
.NET - The Current Spectrum
.NET -  The Current Spectrum.NET -  The Current Spectrum
.NET - The Current Spectrum
 

Semelhante a .NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund

.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and ImprovementsJeff Chu
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop DevelopmentMirco Vanini
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNishitPatel409228
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberDanilo Bordini
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentalsHosein Mansouri
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 
.NET & C# Updates Fall 2019
.NET & C# Updates Fall 2019.NET & C# Updates Fall 2019
.NET & C# Updates Fall 2019Marco Parenzan
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelliAndrea Tosato
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsAniruddha Chakrabarti
 
Introduction to dot net
Introduction to dot netIntroduction to dot net
Introduction to dot netQIANG XU
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core introBinary Studio
 

Semelhante a .NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund (20)

.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
.Net Core
.Net Core.Net Core
.Net Core
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
What is .Net Standard
What is .Net StandardWhat is .Net Standard
What is .Net Standard
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptx
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saber
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
.NET & C# Updates Fall 2019
.NET & C# Updates Fall 2019.NET & C# Updates Fall 2019
.NET & C# Updates Fall 2019
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
 
Introduction to dot net
Introduction to dot netIntroduction to dot net
Introduction to dot net
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 

Mais de Karel Zikmund

.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7Karel Zikmund
 
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundNDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundKarel Zikmund
 
NDC Sydney 2019 - Async Demystified -- Karel Zikmund
NDC Sydney 2019 - Async Demystified -- Karel ZikmundNDC Sydney 2019 - Async Demystified -- Karel Zikmund
NDC Sydney 2019 - Async Demystified -- Karel ZikmundKarel Zikmund
 
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel ZikmundWUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel ZikmundKarel Zikmund
 
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile....NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...Karel Zikmund
 
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel....NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...Karel Zikmund
 
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel ZikmundKarel Zikmund
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...Karel Zikmund
 
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel....NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...Karel Zikmund
 
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar....NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...Karel Zikmund
 
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar....NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...Karel Zikmund
 
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel ZikmundKarel Zikmund
 
NDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
NDC Oslo 2019 - War stories from .NET team -- Karel ZikmundNDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
NDC Oslo 2019 - War stories from .NET team -- Karel ZikmundKarel Zikmund
 
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...Karel Zikmund
 
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel ZikmundKarel Zikmund
 
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek SafarKarel Zikmund
 

Mais de Karel Zikmund (16)

.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundNDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
 
NDC Sydney 2019 - Async Demystified -- Karel Zikmund
NDC Sydney 2019 - Async Demystified -- Karel ZikmundNDC Sydney 2019 - Async Demystified -- Karel Zikmund
NDC Sydney 2019 - Async Demystified -- Karel Zikmund
 
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel ZikmundWUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
 
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile....NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
 
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel....NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
 
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
 
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel....NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
 
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar....NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
 
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar....NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
 
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
 
NDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
NDC Oslo 2019 - War stories from .NET team -- Karel ZikmundNDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
NDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
 
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
 
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
 
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
 

Último

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund

  • 1. .NET Standard What is it all about? .NET MeetUp in Prague, CZ (2017/7/19) Karel Zikmund ( @ziki_cz)
  • 3. .NET reusing code – yesterday • Portable Class Libraries (PCLs) • No systematic approach to versioning • Computed intersection profiles • Each PCLs is targeting a specific set of platforms • Not compatible with newer platforms • Hard to understand compatibility relationships Platform 3Platform 1 Platform 2 Intersection Profiles
  • 4. .NET reusing code – tomorrow .NET Standard
  • 5. What is .NET Standard? • .NET Standard is a specification • A set of APIs that all .NET platforms have to implement • .NET Standard versions: 1.0, 1.1, …, 1.6, 2.0* • .NET platforms also version: • .NET Framework: • 1.0, 1.1, 2.0, 3.0, 3.5 • 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 • .NET Core: 1.0, 1.1, 2.0* • Newer .NET platforms implement newer .NET Standard versions
  • 6. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight
  • 7. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core 1.0 .NET Framework 4.5 Mono 4.6 Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) 10.0 Windows Phone 8.1 Windows Phone Silverlight 8.0
  • 8. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core 1.0 1.0 .NET Framework 4.5 4.6 Mono 4.6 4.6 Xamarin.iOS 10.0 10.0 Xamarin.Android 7.0 7.0 .NET Native (UWP) 10.0 10.0 Windows Phone 8.1 Windows Phone Silverlight 8.0
  • 9. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .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 Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight
  • 10. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .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 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1 Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight
  • 11. Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .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 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 vNext Xamarin.iOS 10.0 10.0 10.0 10.0 10.0 10.0 10.0 vNext Xamarin.Android 7.0 7.0 7.0 7.0 7.0 7.0 7.0 vNext .NET Native (UWP) 10.0 10.0 10.0 10.0 10.0 vNext vNext vNext Windows Phone 8.1 8.1 8.1 Windows Phone Silverlight 8.0
  • 12. Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer Chrome Firefox Safari Opera Edge
  • 13. Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer 10 IE11 also supports HTML5 Chrome 30 Latest Chrome 58 also supports HTML5 Firefox 30 Latest Firefox 53 also supports HTML5 Safari 8.0 Latest Safari 10.2 also supports HTML5 Opera 12.10 Latest Opera 45 also supports HTML5 Edge 12 Edge 12-15 all support latest HTML5
  • 14. Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer ? ? 6 10 Future? IE11 also supports HTML5 IE9 supports parts of HTML5 IE7 & IE8 also support HTML 4.0 Chrome Firefox Safari Opera Edge
  • 15. Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer ? ? 6 10 Future? IE11 also supports HTML5 IE9 supports parts of HTML5 IE7 & IE8 also support HTML 4.0 Chrome ? ? ? 30 Future? Latest Chrome 58 also supports HTML5 Firefox ? ? 2 30 Future? Latest Firefox 53 also supports HTML5 Safari ? ? ? 8.0 Future? Latest Safari 10.2 also supports HTML5 Opera ? ? 9 12.10 Future? Latest Opera 45 also supports HTML5 Edge 12 12 12 12 Future? Edge 12-15 all support latest HTML5
  • 16. .NET Standard 2.0 Has much bigger API surface • Extended to cover intersection between .NET Framework and Xamarin • .NET Core 2.0 implements .NET Standard 2.0 (makes it bigger) ~70% +20K Can reference .NET Framework libraries • Compat shim allows referencing existing .NET Framework code – without recompilation • Limited to libs that use APIs that are available for .NET Standard
  • 17. 2.0 1.3 1.1 Versioning of .NET Standard Additive APIs • Higher versions have all APIs from previous versions. 1.0 Version # of APIs Growth % 1.0 7,949 1.1 10,239 +29% 1.2 10.285 +0% 1.3 13,122 +28% 1.4 13,140 +0% 1.5 13,355 +2% 1.6 13,501 +1% 2.0 32,638 +142%
  • 18. Which .NET Standard? • Supporting lower version of NS = more platforms support it • Supporting higher version of NS = more APIs you can use • Advice for Libraries: • Target lowest version of .NET Standard you can get away with • Advice for Applications: • Don’t target .NET Standard, it is for libraries • For cross-platform use .NET Core (server/console apps) or Xamarin (UI apps)
  • 19. Which .NET Standard? • .NET Portability Analyzer https://github.com/Microsoft/dotnet-apiport • Check APIs used by your project • Check APIs used by your binaries • Command line / VS extension • Outputs: HTML, XLSX, Json • Demo …
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Which .NET Standard? https://apisof.net
  • 25. .NET platforms – recap • .NET Framework 4.6.1 – implements NS2.0 • Windows only, machine-wide install (highly compatible) • Scenarios: All, incl. server, client/UI (WPF, WinForms), etc. • Xamarin – will implement NS2.0 very soon • Scenarios: UI apps for cross-platform (iOS, Android, UWP) • .NET Native 2.0 (UWP 6.0) – will implement NS2.0 (Q4 2017) • Scenarios: UWP (UI) apps only (Win10) • .NET Core 2.0 – will implement NS2.0 very soon (Q3 2017) • Cross-platform (Windows, Linux, OS X) • Scenarios: Server and console apps (no client/UI apps)
  • 26. .NET Core https://www.microsoft.com/net/core/platform - 6 key values Cross-platform You can create .NET Core apps that run on Windows, Linux and macOS. Unified Leverage the unified .NET Standard library to target all platforms with the same code and use the same languages and tools to reuse your skills. Fast High performance server runtime for Windows Server and Linux makes .NET a top performing web framework on TechEmpower benchmarks. That means applications provide better response times and require less compute power. • Performance Improvements in .NET Core • Performance Improvements in RyuJIT in .NET Core and .NET Framework
  • 27. .NET Core (cont.) https://www.microsoft.com/net/core/platform Modern Multiple language support with C#, VB, F# and modern constructs like generics, Language Integrated Query (LINQ), async support and more. Open Source Runtime, libraries, compiler, languages and tools are all open source on GitHub where contributions are accepted, tested and fully supported. Lightweight No impact deployment and a modular development model where you only take dependencies on the minimal set of packages you need.
  • 28. • Special thanks to Immo Landwerth ( @terrajobst) • Based on Immo’s .NET Standard slides for .NET Fringe 2017 conference The End • Author: Karel Zikmund ( @ziki_cz) • Slides: https://karelz.github.io