.NET Standard - Introduction

terrajobst 1,649 views 9 slides Dec 07, 2016
Slide 1
Slide 1 of 9
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9

About This Presentation

Slides for my video on .NET Standard.
https://www.youtube.com/watch?v=YI4MurjfMn8


Slide Content

.NET Standard Introduction

.NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES Compilers Languages Runtime components COMMON INFRASTRUCTURE Base Class Library Core Library Mono Class Library ASP.NET Windows Forms WPF UWP ASP.NET Core iOS Android OS X .NET today—app models and libraries

.NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES Compilers Languages Runtime components COMMON INFRASTRUCTURE Base Class Library Core Library Mono Class Library ASP.NET Windows Forms WPF UWP ASP.NET Core iOS Android OS X .NET today—reusing code Difficult to reuse skills Need to master 3+1 base class libraries Difficult to reuse code Need to target a small common denominator Difficult to innovate Need implementations on each platform CHALLENGES

.NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES Compilers Languages Runtime components COMMON INFRASTRUCTURE Base Class Library Core Library Mono Class Library ASP.NET Windows Forms WPF UWP ASP.NET Core iOS Android OS X .NET tomorrow .NET STANDARD One BCL to rule them all

.NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES Compilers Languages Runtime components COMMON INFRASTRUCTURE Base Class Library Core Library Mono Class Library ASP.NET Windows Forms WPF UWP ASP.NET Core iOS Android OS X .NET tomorrow—reusing code .NET STANDARD LIBRARY One library to rule them all Reuse skills Master one library, not a platform Reuse code Big surface area - no small common denominator Faster innovation .NET Standard can grow without updating platforms BENEFITS

.NET Standard is a specification Represents a set of APIs that all .NET platforms have to implement Is a type of class library & provided as a NuGet package What is .NET Standard?

Platform 3 Platform 1 Platform 2 PCLs were an after thought , i.e. each platform could decide which APIs to includes 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 Difference to Portable Class Libraries (PCL) Intersection Profiles

2.0 1.6 1.3 Higher versions incorporate all APIs from previous versions. Projects targeting version X.Y can reference libraries & projects targeting any version between 1.0 and X.Y Concrete .NET platforms implement a specific version of .NET Standard From that platform you can reference libraries up to that version How does versioning work in .NET Standard? 1.0

Demo Exploring .NET Standard Versions
Tags