Sponsors and Partners Strategic Sponsors Gold Sponsors Silver

  • Slides: 45
Download presentation
Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors

Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors

Michał Dudak

Michał Dudak

Icons by Freepik

Icons by Freepik

MICHAŁ DUDAK Technical Advisor Future Processing Gliwice, Poland. NET Developer for ~8 years @michaldudak

MICHAŁ DUDAK Technical Advisor Future Processing Gliwice, Poland. NET Developer for ~8 years @michaldudak http: //dudak. me

A bit of history

A bit of history

13. 02. 2002

13. 02. 2002

Mono . NET Compact Framework. NET Framework for Windows Store Apps UWP. NET Core

Mono . NET Compact Framework. NET Framework for Windows Store Apps UWP. NET Core . NET Micro Framework Silverlight Windows Phone XBox Unity

DEMO Class Libraries

DEMO Class Libraries

. NET Framework net 11 net 20 net 35 net 403 net 451 net

. NET Framework net 11 net 20 net 35 net 403 net 451 net 452 net 461 net 462 . NET Core netcore (equivalent to netcore 45) netcore 45 (equivalent to win 8) netcore 451 (equivalent to win 81) netcore 50 . NET Micro. Framework netmf Windows win (equivalent to win 8) win 8 (equivalent to netcore 45) win 81 (equivalent to netcore 451) win 10 Silverlight sl sl 4 sl 5 Windows Phone wp wp (equivalent to wp 7) wp 75 wp 81 wpa 81 Universal Windows Platform uap (equivalent to uap 10) uap 10 . NET Standard netstandard 10 netstandard 11 netstandard 12 netstandard 13 netstandard 14 netstandard 15 netstandard 16 . NET Core App netcoreapp 10 Target Framework Monikers https: //docs. nuget. org/ndocs/schema/target-frameworks

Platform-independent code

Platform-independent code

Portable Class Libraries

Portable Class Libraries

DEMO PCL

DEMO PCL

Stephen Cleary’s Portable Library Profiles http: //portablelibraryprofiles. apps. stephencleary. com

Stephen Cleary’s Portable Library Profiles http: //portablelibraryprofiles. apps. stephencleary. com

PCL Problems

PCL Problems

Each combination of platforms must be formally specified New platforms cannot by easily added

Each combination of platforms must be formally specified New platforms cannot by easily added PCL can only reference other PCLs with a matching target

. NET Standard

. NET Standard

https: //xkcd. com/927

https: //xkcd. com/927

. NET Standard: The specification of APIs available on. NET platfoms

. NET Standard: The specification of APIs available on. NET platfoms

PCL vs. NET Standard

PCL vs. NET Standard

. NET Standard is versioned

. NET Standard is versioned

interface Net. Standard 10 {} interface Net. Standard 11 : Net. Standard 10 {}

interface Net. Standard 10 {} interface Net. Standard 11 : Net. Standard 10 {} //. . . interface Net. Standard 16 : Net. Standard 15 {} class Net. Framework 46 : Net. Standard 13 {} class Windows. Phone 81 : Net. Standard 12 {} class Windows. Phone. Silverlight 80 : Net. Standard 10 {}

. NET Standard PLATFORM 1. 0 1. 1 1. 2 1. 3 1. 4

. NET Standard PLATFORM 1. 0 1. 1 1. 2 1. 3 1. 4 1. 5 1. 6 . NET Core (on Core. CLR) → → → 1. 0 . NET Framework → 4. 5. 1 4. 6 → → 4. 6. 1 Mono → → → 4. 6 Xamarin i. OS/Android → → → 10. 0/7. 0 Universal Windows Platform → → 10. 0 Windows → 8. 0 8. 1 Windows Phone → → 8. 1 Windows Phone Silverlight 8. 0 https: //docs. microsoft. com/en-us/dotnet/articles/standard/library

. NET Framework and Xamarin work with. NET Standard libraries today

. NET Framework and Xamarin work with. NET Standard libraries today

APIs in. NET Standard

APIs in. NET Standard

DEMO Creating. NET Standard Libraries and Nu. Get packages

DEMO Creating. NET Standard Libraries and Nu. Get packages

Why bother?

Why bother?

PROBLEMS? API surface area based on. NET Core 1. 0 (13500 APIs) Hard to

PROBLEMS? API surface area based on. NET Core 1. 0 (13500 APIs) Hard to port existing. NET Framework libraries

. NET Standard 2. 0

. NET Standard 2. 0

. NET STANDARD 1. X PROBLEMS API surface area based on. NET Core 1.

. NET STANDARD 1. X PROBLEMS API surface area based on. NET Core 1. 0 (13500 APIs) Hard to port existing. NET Framework libraries

. NET Standard 2. 0 almost… . NET Framework Xamarin

. NET Standard 2. 0 almost… . NET Framework Xamarin

interface Net. Standard 20 : Net. Standard 16 {} . NET Standard 2. 0

interface Net. Standard 20 : Net. Standard 16 {} . NET Standard 2. 0 is a strict superset of 1. 6

~20000 APIs added in 2. 0 (32638 vs 13501)

~20000 APIs added in 2. 0 (32638 vs 13501)

. NET Standard PLATFORM 1. 0 1. 1 1. 2 1. 3 1. 4

. NET Standard PLATFORM 1. 0 1. 1 1. 2 1. 3 1. 4 1. 5 1. 6 . NET Core (on Core. CLR) → → → 1. 0 . NET Framework → 4. 5. 1 4. 6 → → 4. 6. 1 Mono → → → 4. 6 Xamarin i. OS/Android → → → 10. 0/7. 0 Universal Windows Platform → → 10. 0 Windows → 8. 0 8. 1 Windows Phone → → 8. 1 Windows Phone Silverlight 8. 0 https: //docs. microsoft. com/en-us/dotnet/articles/standard/library

PLATFORM . NET Standard 1. 0 1. 1 1. 2 1. 3 1. 4

PLATFORM . NET Standard 1. 0 1. 1 1. 2 1. 3 1. 4 1. 5 1. 6 2. 0 . NET Core (on Core. CLR) → → → 1. 0 v. Next . NET Framework → 4. 5. 1 4. 6 → → → 4. 6. 1 Mono → → → 4. 6 v. Next Xamarin i. OS/Android → → → 10. 0/7. 0 v. Next Universal Windows Platform → → 10. 0 → → v. Next Windows → 8. 0 8. 1 Windows Phone → → 8. 1 Windows Phone Silverlight 8. 0 https: //docs. microsoft. com/en-us/dotnet/articles/standard/library

Portability shim We will be able to reference. NET Framework libraries from. NET Standard

Portability shim We will be able to reference. NET Framework libraries from. NET Standard 2. 0 libraries

WHEN? With the next version of Visual Studio (Dev 15) TBA, possibly early next

WHEN? With the next version of Visual Studio (Dev 15) TBA, possibly early next year. NET Core 1. 1 – later this year

github. com/dotnet/standard

github. com/dotnet/standard

Adopt 1. x or wait?

Adopt 1. x or wait?

TL; DL • . NET Standard is the new PCL • Library authors are

TL; DL • . NET Standard is the new PCL • Library authors are using it already • . NET Standard 2. 0 will be implemented by. NET Framework, . NET Core, UWP and Xamarin platorms • See github. com/dotnet/standard and follow Immo Landwerth (@terrajobst) for the latest news on. NET

Thank you! @michaldudak

Thank you! @michaldudak

net. developerdays. pl @Developer. Days. PL

net. developerdays. pl @Developer. Days. PL

Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors

Sponsors and Partners Strategic Sponsors Gold Sponsors Silver Sponsors