net standard: one library to rule them all - netconfuy 2017

19
23 al 27 de Octubre 2017 .NET Conf UY v2017 .NET Standard: One Library to Rule Them All Carlos Matías Dieguez Software Architect Tecnocode Christian Echagüe Project Manager

Upload: matias-dieguez

Post on 28-Jan-2018

16 views

Category:

Software


0 download

TRANSCRIPT

Page 1: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

.NET Standard: One Library to Rule Them AllCarlos Matías Dieguez

Software Architect

Tecnocode

Christian Echagüe

Project Manager

Page 2: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Page 3: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Innovation

Any app, any platformOpen Source

AzureASP.NET

Page 4: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

C#Run on 2.6 billion devices.With C# and Visual Studio, you can share the same code on iOS, Android, Windows, Mac and more.

Write C#. Create Apps, Webs, Games and Services for all major OS, like Windows, Linux, OSX

C# is an elegant, type-safe, object-oriented, state of the art programming language that run on the .NET Framework

Page 5: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Profile basedYou must select target platforms

Small Common DenominatorIntersection of features

Before .NET Standard: Portable Class Library

Page 6: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

One Library to Rule Them All

.NET Framework .NET Core

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Roslyn

.NET Compiler Platform .NET Core 2.0 Libraries

.NET Framework 4.6 Libraries

NuGet packages

Xamarin

Page 7: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

.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 NuGet package

What is .NET Standard?

Page 8: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

.NET Standard Versions

Page 9: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

.NET Standard Versions

2.0

1.6

1.3

1.0

Each version:

Additive

Immutable

Page 10: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

.NET Standard 2.0

Primitives • Collections • Reflection • Interop • LinqCORE

Threads • Thread Pool • TasksTHREADING

Files • Compression • MMFIO

Sockets • Http • Mail • WebSocketsNETWORKING

BinaryFormatter • Data Contract • XMLSERIALIZATION

XLinq • XML Document • XPath • Schema • XSLXML

Abstractions • Provider Model • DataSetDATA

Version #APIs Growth %

1.x 13,501 +1%

2.0 32,638 +142%

Page 11: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Reuse SkillsMaster one library, not each platform.

Reuse CodePut common code across projects as NuGet packagesContribute to .NET community with more libraries

Faster innovationUse social coding & open source to improve code quality and features

Reach new business & clientsAny App, Any Platform

Benefits

Page 12: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Page 13: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Great achievements with .NET Standard & NuGet

Page 14: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Workshop’s goals

.NET Core

.NET

Standard

API ClientGitHub

AppVeyor

Page 15: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Hands on Lab I

https://github.com/matiasdieguez/netstandard-workshop/blob/master/docs/lab-1.md

Page 16: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Hands on Lab II

https://github.com/matiasdieguez/netstandard-workshop/blob/master/docs/lab-2.md

Page 17: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Hands on Lab III

https://github.com/matiasdieguez/netstandard-workshop/blob/master/docs/lab-3.md

Page 18: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Hands on Lab IV

https://github.com/matiasdieguez/netstandard-workshop/blob/master/docs/lab-4.md

Page 19: NET Standard: One Library to Rule Them All - NETConfUY 2017

23 al 27 de Octubre 2017.NET Conf UY v2017

Thank you!

www.tecnocode.net

@dieguezrojo

[email protected]

Carlos Matías Dieguez

@echaguechris

[email protected]

Christian Echagüe