SlideShare una empresa de Scribd logo
1 de 30
.NET Standard
What is it all about?
.NET MeetUp in Amsterdam, NL (2017/7/11)
Karel Zikmund ( @ziki_cz)
Organized by
.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
.NET Framework 4.5 4.6 4.6.1
Mono 4.6 4.6 4.6
Xamarin.iOS 10.0 10.0 10.0
Xamarin.Android 7.0 7.0 7.0
.NET Native (UWP) 10.0 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
.NET Framework 4.5 4.6 4.6.1 4.6.1
Mono 4.6 4.6 4.6 4.6
Xamarin.iOS 10.0 10.0 10.0 10.0
Xamarin.Android 7.0 7.0 7.0 7.0
.NET Native (UWP) 10.0 10.0 10.0 vNext
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
.NET Portability Analyzer 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.
The End
• Author: Karel Zikmund ( @ziki_cz)
• Slides: https://karelz.github.io
• Special thanks to Immo Landwerth ( @terrajobst)
• Based on Immo’s .NET Standard slides for .NET Fringe 2017 conference

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
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
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
.Net Core
.Net Core.Net Core
.Net Core
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0
 
Evolution of .NET Framework and Features of different versions
Evolution of .NET Framework and Features of different versionsEvolution of .NET Framework and Features of different versions
Evolution of .NET Framework and Features of different versions
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
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
 
Net core
Net coreNet core
Net core
 
Microsoft <3 Linux with ASP.NET Core
Microsoft <3 Linux with ASP.NET CoreMicrosoft <3 Linux with ASP.NET Core
Microsoft <3 Linux with ASP.NET Core
 
.NET Standard - Under the Hood
.NET Standard - Under the Hood.NET Standard - Under the Hood
.NET Standard - Under the Hood
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 

Similar a .NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund

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
NishitPatel409228
 

Similar a .NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund (20)

.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
.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
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
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
 
.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#)
 
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
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise Apps
 
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)
 
Introduction to dot net
Introduction to dot netIntroduction to dot net
Introduction to dot net
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdf
 
Intake 37 1
Intake 37 1Intake 37 1
Intake 37 1
 
ASP.NET vs ASP.NET Core
ASP.NET vs ASP.NET CoreASP.NET vs ASP.NET Core
ASP.NET vs ASP.NET Core
 
What is .Net Standard
What is .Net StandardWhat is .Net Standard
What is .Net Standard
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
 
.Net the begining
.Net the begining.Net the begining
.Net the begining
 
Dotnet on linux
Dotnet on linuxDotnet on linux
Dotnet on linux
 

Más de Karel Zikmund

Más de Karel Zikmund (20)

.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 - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundDotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- 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
 
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%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
 
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
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
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
 
%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
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
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 ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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...
 

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

  • 1. .NET Standard What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11) Karel Zikmund ( @ziki_cz) Organized by
  • 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 .NET Framework 4.5 4.6 4.6.1 Mono 4.6 4.6 4.6 Xamarin.iOS 10.0 10.0 10.0 Xamarin.Android 7.0 7.0 7.0 .NET Native (UWP) 10.0 10.0 10.0 Windows Phone 8.1 Windows Phone Silverlight 8.0
  • 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 .NET Framework 4.5 4.6 4.6.1 4.6.1 Mono 4.6 4.6 4.6 4.6 Xamarin.iOS 10.0 10.0 10.0 10.0 Xamarin.Android 7.0 7.0 7.0 7.0 .NET Native (UWP) 10.0 10.0 10.0 vNext Windows Phone 8.1 Windows Phone Silverlight 8.0
  • 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 Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight
  • 12. 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
  • 13. 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
  • 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 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 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
  • 16. 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
  • 17. 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
  • 18. .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
  • 19. 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%
  • 20. 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)
  • 21. 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
  • 23.
  • 24.
  • 25.
  • 26. Which .NET Standard? https://apisof.net
  • 27. .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)
  • 28. .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
  • 29. .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.
  • 30. The End • Author: Karel Zikmund ( @ziki_cz) • Slides: https://karelz.github.io • Special thanks to Immo Landwerth ( @terrajobst) • Based on Immo’s .NET Standard slides for .NET Fringe 2017 conference