Upload
rogerio-moraes-de-carvalho
View
205
Download
7
Embed Size (px)
Citation preview
O novo ASP.NET Core 1.0 multiplataforma
Rogério Moraes de CarvalhoVITA Informática
rogeriomc.wordpress.com | @rogeriomc
Porto Alegre | 08 Out 2016
AgendaO novo ASP.NET Core 1.0 multiplataforma
Visão geral da plataforma .NETUm novo .NET multiplataforma
Evolução da plataforma .NET
Mudança nos nomes de frameworks
Visual Studio e outros editores
.NET CoreO que é o .NET Core?
.NET Core CLI
.NET Platform Standard
.NET Core: da codificação à execução
ASP.NET CoreO que é o ASP .NET Core?
Desempenho do ASP.NET Core
ASP.NET Core 1.0.1 x ASP.NET 4.6.2
Características do ASP.NET Core
Evolução dos frameworks ASP.NET
ASP.NET Core MVC
.NET Core, ASP.NET Core e Visual Studio
Recursos para estudoDocumentação, vídeos, OSS e outros
Visão geral da plataforma .NET
Um novo .NET multiplataformaVisão geral da plataforma .NET
Inovação MultiplataformaOpen Source
.NET Core xPlat “Roslyn”
ASP .NET Core
EF Core
Inovações nas linguagens
“RyuJit”
SIMDIoT
.NET CoreASP.NET Core
Evolução da plataforma .NETVisão geral da plataforma .NET
.NET Core 1.0.1.NET Framework 4.6.2
Comum
Nova geração do JIT (“RyuJIT”)
SIMD
Componentes do ambiente de execução
Bibliotecas .NET Core 1.0.1
Bibliotecas .NET Framework 4.6.2
Pacotes NuGetCompiladores
Inovações nas linguagens
Plataforma de compiladores .NET (“Roslyn”)
RTMRTM RTM OSS RTM
RTM OSS
RTM
OSS
RTM
RTM
OSS
RTM
RTM
RTMOSS
Mudança nos nomes de frameworksVisão geral da plataforma .NET
Post no blog do Scott Hanselman (19 Jan 2016)
ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0
Motivo da mudança de nomenclatura dos frameworks
Os frameworks estão sendo reescritos do zero
Reintrodução dos novos frameworks com novos nomes
ASP .NET 5 passou a ser ASP.NET Core 1.0
ASP.NET MVC 6 passou a ser ASP.NET Core MVC 1.0
.NET Core 5 passou a ser .NET Core 1.0
Entity Framework 7 passou a ser Entity Framework Core 1.0 (EF Core 1.0)
Visual Studio e outros editoresVisão geral da plataforma .NET
Visual Studio
Visual Studio Community 2015IDE somente para Windows
Grátis para apps não coorporativas
Visual Studio CodeEditor de código multiplataforma
Windows, Mac OS X e Linux
Edição, compilação e depuração
www.visualstudio.com
Outros editores
Baseados no framework ElectronAtom do GitHubatom.io
Visual Studio Codewww.visualstudio.com
Brackets da Adobebrackets.io
Diversas outras opçõesSublime Text, Emacs, Vim etc.
.NET Core
O que é o .NET Core?.NET Core
Implementação do .NET
Modular e pequena
Multiplataforma
Windows, Linux e Mac OS X
Isolamento em nível de aplicação
Construído de forma aberta
Open Source Software (OSS)
Suporta vários modelos de apps
Opção para os próximos 10 anos
Desenvolvimento de software .NET
Modelo de aplicações
ASP.NET Core
Qualquer outro
modelo de aplicações
Base Class Library (BCL)unificada
Camada de adaptação do ambiente de execução
.NET Native Outro ambiente
de execução
Modelo de aplicações
Universal Windows Apps
CoreCLR
.NET Core CLI
.NET Core
O que é o .NET Core CLI?Um novo conjunto de ferramentas CLI
Simples, extensíveis e independentes
Para construir e gerenciar projetos .NET
ObjetivosAgnóstico
Linguagem, destino e ambiente de execução
Extensibilidade simples
Multiplataforma
Substitui o .NET Execution EnvironmentSubstitui as ferramentas do DNX
dnx, dnvm, dnu
Ferramentas do .NET Core CLIAgregador de ferramentas: dotnet
Sintaxe: dotnet {comando} --arg
Convenção: dotnet-{comando} --arg
Algumas ferramentas disponíveisdotnet new --lang --type
Cria arquivos de um novo tipo de projeto
dotnet restore [argumentos]
Restaura pacotes NuGet dependentes
dotnet run [argumentos]
Compila e executa sua app em um passo
dotnet build [argumentos]
Compila sua app ou biblioteca
.NET Platform Standard
.NET Core
O que é o .NET Platform Standard?
Um modelo de portabilidade binária
Mais sólido para futuras plataformas .NET
Plano de versionamento mais simples
Evolução da Portable Class Library (PCL)
Define a interseção de APIs por plataformas
Utiliza nomes para identificar as plataformas
Target Framework Moniker (TFM)
Exemplo de TFM: portable-net45+win8
Novo modelo de identificação
Exemplo de TFM: netstandard1.3
Plataforma destino Versões
.NET Platform Standard 1.0 1.1 1.2 1.3 1.4
.NET Framework
4.6.x
4.6
4.5.2
4.5.1
4.5
Universal Windows Platform 10.0
Windows 8.1
8.0
Windows Phone 8.1
8.0
.NET Core: da codificação à execução
.NET Core
Ferramentas .NET Native
Código(App.cs)
Referências (Módulos, NuGet)
App.exe (stub)
App.dll
Compilador JIT (RyuJIT)
App.dll
Mais as DLLs referenciadas
ASP.NET Core
O que é o ASP .NET Core?ASP.NET Core
Um novo framework ASP.NET de código aberto e multiplataforma
Para construir aplicações Web modernas, prontas para a nuvem, em .NET
Multiplataforma
Escolha seus editores
e ferramentas
Open Source com
contribuiçõesOSS
Transição simples de
on-premises para a nuvem
Ciclos rápidos de
desenvolvimentoTotalmente modular
Rápido
Desempenho do ASP.NET CoreASP.NET Core
ASP.NET Core: 2300% mais requisições por segundo que o ASP.NET 4.6
Foram 1,15 milhões de requisições por segundo (rps)
www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps
ASP.NET Core 1.0.1 x ASP.NET 4.6.2ASP.NET Core
Visual Basic 14 Visual Basic 14 (em breve)
.NET Framework 4.6.2
.NET Framework completo para qualquer cenário
Suporte das bibliotecas somente em Windows
.NET Core 1.0.1Bibliotecas modulares e multiplataforma
Ambiente de execução otimizado para servidores e para a nuvem
C# 6 C# 602 Ago
20169 Fev
20159 Fev
2015
02 Ago
2016
02 Ago
2016
20 Jul
2015
20 Jul
2015
13 Set
2016
13 Set
2016
13 Set
2016
Características do ASP.NET CoreASP.NET Core
Hospedagem
Kestrel (servidor web multiplataforma), WebListener e IIS/IISExpress no Windows
Middleware
Roteamento, autenticação, arquivos estáticos, diagnósticos, manipulação de
erros, sessão, CORS, localização, personalizados etc.
Injeção de dependência
Configuração e logging
Frameworks de aplicação
MVC, Identity e SignalR Futuro
Evolução dos frameworks ASP.NETASP.NET Core
ASP.NET Web Pages 3.2.3, ASP.NET MVC 5.2.3 e ASP.NET Web API 2.2ASP.NET Core MVC (MVC + Web API + Web Pages) LegadoPresente
ASP.NET Core MVCASP.NET Core
Um conjunto de conceitos unificadoRemoção de duplicações de tipos similares
Engloba aplicações Web com interface gráfica com o usuário e serviços Web
Construído sobre o ASP.NET Core
Suporta o .NET Core
Hospedagem no Internet Information Services (IIS)
Hospedagem própriaWebListener em Windows
Kestrel multiplataforma
Integração forte com injeção de dependência
Tag Helpers Novo
Novo
Novo
Novo
ASP.NET Core MVCASP.NET Core
ASP.NET Core MVC (MVC + Web API + Web Pages)
Recurso Executa no .NET 4.6.2 Executa no .NET Core 1.0.1
Pronto para a nuvem
Projeto modular
Injeção de dependência
Depuração e rastreamento consistente
Desenvolvimento rápido (sem necessidade de compilação)
Open Source
Lado a lado completo (framework distribuído dentro da aplicação)
Inicialização rápida, baixo uso de memória, alta taxa de transferência
.NET Core, ASP.NET Core e Visual StudioASP.NET Core
Visual
Studio
ASP.NET Core
Ambiente de execução e bibliotecas baseCLR
Bibliotecas
Compiladores
CLI etc.
Modelo de aplicações web modernasASP.NET Core MVC
ASP.NET Core Web API
ASP.NET Core Web Pages
SignalR Core
Ferramentas de desenvolvimentoVS 2015 Tooling Preview 1 para ASP.NET Core RC2 e .NET Core RC2
VS 2015 Tooling Preview 2 para ASP.NET Core 1.0.0 e .NET Core 1.0.0
VS 2015 Tooling Preview 2 para ASP.NET Core 1.0.1 e .NET Core 1.0.1
Visual Studio “15” RTM (Visual Studio 2016 ou 2017)
16 Mai 2016
27 Jun 2016
Nov 2016
Futuro
Futuro
.NET Core
13 Set 2016
DemonstraçãoASP.NET Core
Ubuntu 16.04.1
Firefox
Windows 10 Pro
Edge
macOS Sierra (10.12)
Safari
Recursos para estudo
Documentação, vídeos, OSS e outrosRecursos para estudo
.NET CoreInstalação do .NET Core
dot.net
.NET Foundationwww.dotnetfoundation.org
.NET Core (GitHub: Pages | Repositórios)dotnet.github.io | github.com/dotnet
.NET Blogblogs.msdn.microsoft.com/dotnet
.NET Core CLI tools (GitHub: Repositório)github.com/dotnet/cli
.NET Web Development and Tools Blogblogs.msdn.microsoft.com/webdev
ASP.NET CoreDocumentação e tutoriais de ASP.NET Core
docs.asp.net
ASP.NET Community Standuplive.asp.net
Código fonte do ASP.NET Coregithub.com/aspnet
Seção de ASP.NET Core no site de ASP.NETwww.asp.net/core
ASP.NET Core Deep Dive into MVCchannel9.msdn.com/Events/Build/2016/B812
Deploying ASP.NET Core Applicationschannel9.msdn.com/Events/Build/2016/B811