El documento describe la convergencia de código con .NET Standard y cómo Microsoft ha liberado sus frameworks principales en GitHub. .NET Standard es una especificación formal que define un conjunto uniforme de APIs de la biblioteca de clases base para todas las plataformas .NET. Esto permite a los desarrolladores crear bibliotecas portables que se pueden usar en diferentes entornos .NET. Las versiones de .NET Standard incorporan APIs adicionales y las plataformas .NET implementan versiones específicas.
2. Plataformas de desarrollo en github
Microsoft se abre al OpenSource
2
Aparecen productos que se pueden ejecutar en múltiples plataformas:
SQL Server, Azure Service Fabric, etc
Microsoft ha liberado y publicado en Github todos sus frameworks Core.
Los Repos principales son:
• Dotnet (https://github.com/dotnet) standard, corefx, coreclr,
roslyn, cli, etc
• AspNet Core (https://github.com/aspnet) EntityFramework,
Mvc, KestrelHttpServer, etc
4. Especificación, no implementación
¿Qué es .NET Standard?
4
Especificación formal de las APIs de .NET
Objetivo: establecer una mayor uniformidad en el ecosistema .NET
• ECMA 334 – C# (2002, 2003)
• ECMA 335 – CLI (2001)
• Para el BCL no había nada
Implementada por .NET Framework, .NET Core y Xamarin
5. Ventajas
Una librería para dominarlos a todos
5
• Define un conjunto uniforme de API
de BCL para todas las plataformas
de .NET que se van a implementar
• Permite a los desarrolladores
generar bibliotecas portables que
se pueden usar en los distintos
runtime de .NET con este mismo
conjunto de API
• Reduce y se espera que elimine la
compilación condicional de código
6. .NET Standard sustituirá a las PCLs
PCLs vs .NET Standard
6
Ambas se crearon con objetivos similares: APIs que se pueden usar para compartir código binario.
Pero tienen bastantes diferencias
.NET Standard es un conjunto de APIs mantenidos, mientras que los perfiles de PCL se definen
por las intersecciones de las plataformas existentes
.NET Standard tiene versiones lineales, al contrario de los perfiles de PCL
Las PCLs representan plataformas de Microsoft, mientras que la biblioteca estándar de .NET es
independiente de la plataforma.
7. Cada plataforma implementa una versión
Versiones
7
2.0
1.6
1.3
1.0
Las versiones superiores incorporan todas
las APIs de las anteriores.
Plataformas concretas de .NET implementan versiones
específicas de .NET Standard
.NET Platform .NET Standard
1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core → → → → → → 1.0 vNext
.NET Framework 4.5 4.5.1 4.6 4.6.1 4.6.2 vNext 4.6.1
Xamarin.iOS → → → → → → → vNext
Xamarin.Android → → → → → → → vNext
Universal
Windows
Platform
→ → → → 10.0 → → vNext
Windows → 8.0 8.1
Windows Phone → → 8.1
Windows Phone
Silverlight
8.0
8. www.atsistemas.com
Madrid
C/Valle de Alcudia.3 Edificio 2,
planta 1. 28232. Las Rozas, Madrid
Barcelona
Plaça de Catalunya, 21 - 2ª
08002, Barcelona
Cádiz
Edificio Jerez Parque Empresarial,
Calle del Desarrollo 2; oficina 12,
planta 1, 11047, Jerez de la Frontera, Cádiz
Zaragoza
Centro Tecnológico TIC XXI C/Bari, 57
Plataforma Logística (PLA-ZA),
50197, Zaragoza
A Coruña
Edificio Mans, Polígono de Pocomaco,
parcela D22, 15190 A Coruña
902 888 902
Palma de Mallorca
Regus Palma, Gremi de Sabaters, 21,
Polígono de Son Castello 07009 Palma
GRACIAS