Consultor, Instrutor e Desenvolvedor rogeriomc.wordpress.com @rogeriomc
Um novo .NET multiplataforma Evolução da plataforma .NET Mudança nos nomes de frameworks Visual Studio e outros editores O que é o .NET Core? .NET Core CLI .NET Platform Standard .NET Core: da codificação à execução Demonstração 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 Demonstração Documentação, vídeos, OSS e outros
Inovação MultiplataformaOpen Source .NET Core xPlat “Roslyn” ASP .NET Core EF Core Inovações nas linguagens “RyuJit” SIMDIoT .NET Core ASP.NET Core
.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”)
.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
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
Visual Studio IDE somente para Windows Grátis para apps não coorporativas Editor de código multiplataforma Windows, Mac OS X e Linux Edição, compilação e depuração www.visualstudio.com Outros editores Atom do GitHub atom.io Visual Studio Code www.visualstudio.com Brackets da Adobe brackets.io Sublime Text, Emacs, Vim etc.
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
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 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)
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
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
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
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
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
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
Kestrel (servidor web multiplataforma), WebListener e IIS/IISExpress no Windows Roteamento, autenticação, arquivos estáticos, diagnósticos, manipulação de erros, sessão, CORS, localização, personalizados etc. MVC, Web API, Identity, Web Pages e SignalR
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)
Remoção de duplicações de tipos similares ASP.NET Core Suporta o .NET Core WebListener em Windows Kestrel multiplataforma Tag Helpers
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 
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
Ubuntu 16.04 Firefox Windows 10 Pro Edge Mac OS X El Capitan (10.11.6) Safari
dot.net www.dotnetfoundation.org dotnet.github.io | github.com/dotnet blogs.msdn.microsoft.com/dotnet github.com/dotnet/cli blogs.msdn.microsoft.com/webdev docs.asp.net live.asp.net github.com/aspnet www.asp.net/core channel9.msdn.com/Events/Build/2016/B812 channel9.msdn.com/Events/Build/2016/B811

dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

  • 2.
    Consultor, Instrutor eDesenvolvedor rogeriomc.wordpress.com @rogeriomc
  • 3.
    Um novo .NETmultiplataforma Evolução da plataforma .NET Mudança nos nomes de frameworks Visual Studio e outros editores O que é o .NET Core? .NET Core CLI .NET Platform Standard .NET Core: da codificação à execução Demonstração 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 Demonstração Documentação, vídeos, OSS e outros
  • 5.
    Inovação MultiplataformaOpen Source .NETCore xPlat “Roslyn” ASP .NET Core EF Core Inovações nas linguagens “RyuJit” SIMDIoT .NET Core ASP.NET Core
  • 6.
    .NET Core 1.0.0.NETFramework 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”)
  • 7.
    .NET Framework Framework paraaplicaçõ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
  • 8.
    ASP.NET 5 isdead - 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
  • 9.
    Visual Studio IDE somentepara Windows Grátis para apps não coorporativas Editor de código multiplataforma Windows, Mac OS X e Linux Edição, compilação e depuração www.visualstudio.com Outros editores Atom do GitHub atom.io Visual Studio Code www.visualstudio.com Brackets da Adobe brackets.io Sublime Text, Emacs, Vim etc.
  • 11.
    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
  • 12.
    Um novo conjuntode 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 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)
  • 13.
    Um modelo deportabilidade 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
  • 14.
    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
  • 15.
    Mac OS XEl Capitan (10.11.6) Ubuntu 16.04 Atom 1.9.9 Visual Studio Code 1.4.0 Windows 10 Pro Sublime Text
  • 17.
    Multiplataforma Escolha seus editores eferramentas Open Source com contribuições OSS Transição simples de on-premises para a nuvem Ciclos rápidos de desenvolvimento Totalmente modular Rápido
  • 18.
    Foram 1,15 milhõesde requisições por segundo (rps) www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps
  • 19.
    Visual Basic 14Visual 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
  • 20.
    Kestrel (servidor webmultiplataforma), WebListener e IIS/IISExpress no Windows Roteamento, autenticação, arquivos estáticos, diagnósticos, manipulação de erros, sessão, CORS, localização, personalizados etc. MVC, Web API, Identity, Web Pages e SignalR
  • 21.
    ASP.NET Web Pages3.2.3, ASP.NET MVC 5.2.3 e ASP.NET Web API 2.2ASP.NET Core MVC (MVC + Web API + Web Pages)
  • 22.
    Remoção de duplicaçõesde tipos similares ASP.NET Core Suporta o .NET Core WebListener em Windows Kestrel multiplataforma Tag Helpers
  • 23.
    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 
  • 24.
    Visual Studio ASP.NET Core Ambiente deexecuçã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
  • 25.
    Ubuntu 16.04 Firefox Windows 10Pro Edge Mac OS X El Capitan (10.11.6) Safari
  • 27.