net standard: one library to rule them all - netconfuy 2017
TRANSCRIPT
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
23 al 27 de Octubre 2017.NET Conf UY v2017
23 al 27 de Octubre 2017.NET Conf UY v2017
Innovation
Any app, any platformOpen Source
AzureASP.NET
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
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
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
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?
23 al 27 de Octubre 2017.NET Conf UY v2017
.NET Standard Versions
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
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%
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
23 al 27 de Octubre 2017.NET Conf UY v2017
23 al 27 de Octubre 2017.NET Conf UY v2017
Great achievements with .NET Standard & NuGet
23 al 27 de Octubre 2017.NET Conf UY v2017
Workshop’s goals
.NET Core
.NET
Standard
API ClientGitHub
AppVeyor
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
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
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
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
23 al 27 de Octubre 2017.NET Conf UY v2017
Thank you!
www.tecnocode.net
@dieguezrojo
Carlos Matías Dieguez
@echaguechris
Christian Echagüe