A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
NET Core e ASP.NET Core
1. .NET Core e ASP.NET Core
Rogério Moraes de Carvalho
Consultor e instrutor de TI
rogeriom.wordpress.com | @rogeriomc
2. Agenda
Visão geral da plataforma .NET
Um novo .NET multiplataforma
Evolução da plataforma .NET
Mudança nos nomes de frameworks
Visual Studio e outros editores
.NET Core
O que é o .NET Core?
.NET Core CLI
.NET Platform Standard
.NET Core: da codificação à execução
ASP.NET Core
O que é o ASP .NET Core?
Desempenho do ASP.NET Core
ASP.NET Core x ASP.NET 4.6.2
Hospedagem de apps ASP.NET Core
Frameworks ASP.NET Core
ASP.NET Core MVC
.NET Core, ASP.NET Core e Visual Studio
Recursos para estudo
Documentação, vídeos, OSS e outros
4. Um novo .NET multiplataforma
Inovação MultiplataformaOpen Source
.NET Core xPlat “Roslyn”
ASP .NET Core
EF Core
Inovações nas linguagens
“RyuJit”
SIMDIoT
.NET Core
ASP.NET Core
5. Evolução da plataforma .NET
.NET Core 1.0.0.NET Framework 4.6.2
Comum
Nova geração do JIT (“RyuJIT”)
SIMD
Componentes do
ambiente de execução
Bibliotecas .NET Core 1.0.0
Bibliotecas .NET Framework 4.6.2
Pacotes NuGetCompiladores
Inovações nas linguagens
Plataforma de compiladores .NET (“Roslyn”)
6. Evolução da plataforma .NET
.NET Framework
Framework para aplicações
.NET em Windows
Distribuído com o Windows
.NET Core
Distribuído com a aplicação
Framework multiplataforma
e open source otimizado
para
fluxos de desenvolvimento e
aplicações modernas
Xamarin
Distribuído com a aplicação
Ambiente multiplataforma e
open source baseado no
framework Mono para
iOS, OS X e Android
Modelosde
aplicações
Bibliotecas
bases
Componentes do
ambiente de execuçãoCompiladores Linguagens
C#
F#
VB
Infraestrutura comum
WPF Windows Forms
WCF ASP.NET
UWP Console
ASP.NET Core
iOS
OS X
Android
Base Class Library Core Library Mono Class Library
7. Mudança nos nomes de frameworks
ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0
Os frameworks estão sendo reescritos do zero
ASP .NET 5 é agora ASP.NET Core 1.0
ASP.NET MVC 6 é agora ASP.NET Core MVC 1.0
.NET Core 5 é agora .NET Core 1.0
Entity Framework 7 é agora Entity Framework Core 1.0 (EF Core 1.0)
As novas nomenclaturas ainda estão sendo gradativamente adotadas
8. Visual Studio e outros editores
Visual Studio
Visual Studio Community 2015
IDE somente para Windows
Grátis para apps não coorporativas
Visual Studio Code
Editor 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 Electron
Atom do GitHub
atom.io
Visual Studio Code
www.visualstudio.com
Brackets da Adobe
brackets.io
Diversas outras opções
Sublime Text, Emacs, Vim etc.
10. O que é o .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
11. .NET Core CLI
O que é o .NET Core CLI?
Um novo conjunto de ferramentas CLI
Simples, extensíveis e independentes
Para construir e gerenciar projetos .NET
Objetivos
Agnóstico
Linguagem, destino e ambiente de execução
Extensibilidade simples
Multiplataforma
Substitui o .NET Execution Environment
Substitui as ferramentas do DNX
dnx, dnvm, dnu
Ferramentas do .NET Core CLI
Agregador de ferramentas: dotnet
Sintaxe: dotnet {comando} --arg
Convenção: dotnet-{comando} --arg
Algumas ferramentas disponíveis
dotnet 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
A transição do DNX para o .NET Core CLI foi liberada no RC2 (16/05/2016)
12. .NET Platform Standard
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
O TFM netstandard foi liberado no .NET Core RC2
13. .NET Core: da codificação à execução
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
14. Demonstração
Mac OS X El Capitan (10.11.6) Ubuntu 16.04
Atom 1.9.9
Visual Studio Code 1.4.0
Windows 10 Pro
Sublime Text
16. O que é o ASP .NET Core?
Multiplataforma
Escolha seus editores
e ferramentas
Open Source com
contribuições
OSS
Transição simples de
on-premises para a nuvem
Ciclos rápidos de
desenvolvimento
Totalmente modular
Rápido
17. Desempenho do ASP.NET Core
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
18. ASP.NET Core x ASP.NET 4.6.2
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.0
Bibliotecas modulares e multiplataforma
Ambiente de execução otimizado para servidores e para a nuvem
C# 6 C# 6
19. 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, Web API, Identity, Web Pages e SignalR
Hospedagem de apps ASP.NET Core
20. Frameworks ASP.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)
21. ASP.NET Core MVC
Remoção de duplicações de tipos similares
ASP.NET Core
Suporta o .NET Core
WebListener em Windows
Kestrel multiplataforma
Tag Helpers
22. ASP.NET Core MVC
Recurso Executa no .NET 4.6.2 Executa no .NET Core 1.0.0
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
23. .NET Core, ASP.NET Core e Visual Studio
Visual
Studio
ASP.NET Core
Ambiente de execução e bibliotecas base
CLR
Bibliotecas
Compiladores
CLI etc.
Modelo de aplicações web modernas
ASP.NET Core MVC
ASP.NET Core Web API
ASP.NET Core Web Pages
SignalR Core (provavelmente)
Ferramentas de desenvolvimento
Preview 1 com ASP.NET Core RC2 e .NET Core RC2
Preview 2 com ASP.NET Core RTM e .NET Core RTM
Visual Studio “15” RTM (Visual Studio 2016 ou 2017)
.NET Core
26. Documentação, vídeos, OSS e outros
Instalação do .NET Core
dot.net
.NET Foundation
www.dotnetfoundation.org
.NET Core (GitHub: Pages | Repositórios)
dotnet.github.io | github.com/dotnet
.NET Blog
blogs.msdn.microsoft.com/dotnet
.NET Core CLI tools (GitHub: Repositório)
github.com/dotnet/cli
.NET Web Development and Tools Blog
blogs.msdn.microsoft.com/webdev
Documentação e tutoriais de ASP.NET Core
docs.asp.net
ASP.NET Community Standup
live.asp.net
Código fonte do ASP.NET Core
github.com/aspnet
Seção de ASP.NET Core no site de ASP.NET
www.asp.net/core
ASP.NET Core Deep Dive into MVC
channel9.msdn.com/Events/Build/2016/B812
Deploying ASP.NET Core Applications
channel9.msdn.com/Events/Build/2016/B811