.Net Core Internals
O que é o .NET Platform Standard?
INTELIGÊNCIA E
INOVAÇÃO EM
DESENVOLVIMENTO
DE SOFTWARE
www.lambda3.com.br
Victor Cavalcante
Desenvolvedor
@vcavalcante
victor@cavalcante.net
INTELIGÊNCIA E
INOVAÇÃO EM
DESENVOLVIMENTO
DE SOFTWARE
www.lambda3.com.br
O .Net mudou e ficou melhor
.NET COREXAMARIN
.NET hoje já está maior
.NET FRAMEWORK
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
*
.NET “modelo antigo”—app models e bibliotecas
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES.NET “modelo antigo”—reutilização de código
.NET modelo antigo—desafios
.NET modelo novo
.NET FRAMEWORK .NET CORE XAMARIN
*
.NET modelo novo—reutilização de código
.NET FRAMEWORK .NET CORE XAMARIN
.NET standard libraries— vantagens
.NET Futuras inovações
.NET FRAMEWORK .NET CORE XAMARIN
*
TOOLS
Developed
in the open
http://dotnet.github.io
Para ter uma garantia da portabilidade
dos binários para as futuras
plataformas capazes de rodar .NET,
é necessário um versionamento mais
fácil de entender.
.NET Platform Standard
Sim!
.NET Platform Standard é o substituo da PCL?
Um pouco de história: 2010 - #ifdef
Um pouco de história: 2011 - PCL
Contract assemblies
Contract assemblies
• Impossível manter todos os TFMs suportados ao longo do
tempo
• Novas plataformas não ativam automaticamente
• Explosão combinatória
Problemas?
“Verifique minhas dependências, rodarei nas
plataformas que elas suportam”
Solução: novo mindset
De
“quais plataformas suporto”
para
“quais minhas dependências”
.NET Platform Standard to platforms
.NET Platform Standard to platforms
Targets .NET Platform Standard version 1.1
• .NET Core (netcoreapp)
• .NET Framework 4.5 or later
• Universal Windows Platform 10 (UWP)
• Windows 8.0
• Windwos Phone (wpa)
• Mono/Xamarin platforms
• Mono
.NET Platform Standard to platforms
Targets .NET Platform Standard version 1.3
• .NET Framework 4.6 or later,
• .NET Core (netcoreapp)
• Universal Windows Platform 10 (UWP)
• Mono/Xamarin platforms
.NET Platform Standard to platforms
Targets .NET Platform Standard version 1.3
• .NET Framework 4.6.1 or later,
• .NET Core (netcoreapp)
• Universal Windows Platform 10 (UWP)
• Mono/Xamarin platforms
NuGet identifier
Platform NuGet identifier
.NET Framework 2.0 - 4.6 net20 - net46
.NET Core netcoreapp
.NET Micro Framework netmf
Windows 8 win8, netcore45
Windows 8.1 win8, netcore451
Windows Phone Silverlight
(8, 8.1)
wp8, wp81
Windows Phone 8.1 wpa8.1
Universal Windows
Platform 10
uap10, netcore50
Silverlight 4, 5 sl4, sl5
Platform Nuget Identifier
MonoTouch MonoTouch
MonoMac monomac
Xamarin iOS xamarinios
Xamarin PlayStation 3 xamarinpsthree
Xamarin PlayStation 4 xamarinpsfour
Xamarin PlayStation Vita xamarinpsvita
Xamarin Watch OS xamarinwatchos
Xamarin TV OS xamarintvos
Xamarin Xbox 360 xamarinxboxthreesixty
Xamarin Xbox One xamarinxboxone
.NET Core CLI extensibility model
2 formas diferentes
• Por nuget
• new
• restore
• run
• build
• test
• publish
• pack
• Por system path
• Divididos em 3 partes
• Driver
• dotnet
• Verbo
• O comando
• Parametros
.NET Core CLI extensibility model
.NET Core roadmap
.NET Core roadmap
.NET OS roadmap
Metas do .NET Core
• Estar disponível em diversos sistemas operacionais e arquiteturas de
processadores.
• Ter um desempenho competitivo sendo altamente confiável.
• Setup muito fácil para desenvolvimento.
• Produtividade na criação de aplicativos com suporte da
documentação, amostras e componentes.
• Reflete a mudança cultural da Microsoft
• O Ecossistema ainda está imaturo
• A comunidade também está imatura
• Ainda faltam pacotes importantes
• Como em qualquer projeto open source
• Persistência ainda é um desafio
• O futuro é muito promissor
• A portabilidade é fundamental para o futuro da plataforma
Impressões
Obrigado! Dúvidas?
Avenida Angélica, 2318, Cj. 11 | Consolação - São Paulo - SP
11 2386.1886 | contato@lambda3.com.br
www.lambda3.com.br
Victor Cavalcante @vcavalcante

.NET Core Internals. O que é o .NET Platform Standard?