Successfully reported this slideshow.
ASP.NET Core, .NET Core e EF Core:
multiplataforma e otimizados para a nuvem
Rogério Moraes de Carvalho
Consultor e desenv...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Agenda
Visão geral da plataforma .NET
Um novo .NET multiplataforma
Evolu...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Visão geral da plataforma .NET
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Um novo .NET multiplataforma
Visão geral da plataforma .NET
Inovação Mul...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Evolução da plataforma .NET
Visão geral da plataforma .NET
.NET Core.NET...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Mudança nos nomes de frameworks
Visão geral da plataforma .NET
Post no b...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Visual Studio e outros editores
Visão geral da plataforma .NET
Visual St...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
.NET Core
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
O que é o .NET Core?
.NET Core
Implementação do .NET
Modular e pequena
M...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
.NET Core CLI
.NET Core
O que é o .NET Core CLI?
Um novo conjunto de fer...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
.NET Platform Standard
.NET Core
O que é o .NET Platform Standard?
Um mo...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
.NET Core: da codificação à execução
.NET Core
Ferramentas
.NET Native
C...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Demonstração
.NET Core
Mac OS X El Capitan (10.11.4) Ubuntu 14.04.4
Atom...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Entity Framework Core
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
O que é o Entity Framework Core?
Entity Framework Core
Entity Framework ...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Recursos do Entity Framework Core (implementados)
Entity Framework Core
...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Recursos do Entity Framework Core (implementados)
Entity Framework Core
...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Recursos do Entity Framework Core (em progresso)
Entity Framework Core
M...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Recursos do Entity Framework Core (planejamento)
Entity Framework Core
R...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
O que é o ASP .NET Core?
ASP.NET Core
Um novo framework ASP.NET de códig...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Desempenho do ASP.NET Core
ASP.NET Core
ASP.NET Core: 2300% mais requisi...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core em detalhes
ASP.NET Core
Visual Basic 14 Visual Basic 14 (e...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core em detalhes
ASP.NET Core
Hospedagem
Kestrel (servidor web m...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core em detalhes
ASP.NET Core
ASP.NET Core frameworks (modelos d...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core em detalhes
ASP.NET Core
ASP.NET Core MVC
Um conjunto de co...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
ASP.NET Core em detalhes
ASP.NET Core
ASP.NET MVC Core (MVC + Web API + ...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Demonstração
ASP.NET Core
Ubuntu 14.04.4
Firefox
Windows 10 Pro
Edge
Mac...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Futuro e recursos para estudo
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Previsão de lançamento da versão 1.0
Futuro e recursos para estudo
ASP.N...
Global Azure Bootcamp 2016 - Brasília #gabbsb2016
Documentação, vídeos, OSS e outros
Futuro e recursos para estudo
.NET Fo...
Próximos SlideShares
Carregando em…5
×

ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem

4.083 visualizações

Publicada em

Eu apresentarei a palestra “ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem” na edição de Brasília. Veja nesta palestra, as novidades mais recentes das novas plataformas de desenvolvimento multiplataforma da Microsoft:
- ASP.NET Core 1.0 (anteriormente chamado de ASP.NET Core 5), que é o novo framework de desenvolvimento web multiplataforma da Microsoft que contém o ASP.NET Core MVC (anteriormente chamado de ASP.NET MVC 6) que, agora, está integrado com o ASP.NET Core Web API.
- .NET Core 1.0 (anteriormente chamado de .NET Core 5), novo framework de uso geral que contém um subconjunto do .NET Framework e outras APIs únicas.
- Entity Framework Core 1.0 (anteriormente chamado de Entity Framework 7), que é o novo framework de mapeamento objeto relacional da Microsoft e não somente isso, pois há extensões para suporta acesso a bancos de dados NoSQL, dentre outros paradigmas de acesso a dados.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem

  1. 1. ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem Rogério Moraes de Carvalho Consultor e desenvolvedor de sistemas rogeriom.wordpress.com | @rogeriomc
  2. 2. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 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 Entity Framework Core O que é o Entity Framework Core? Recursos do Entity Framework Core ASP.NET Core O que é o ASP .NET Core? Desempenho do ASP.NET Core ASP.NET Core em detalhes Futuro e recursos para estudo Previsão de lançamento da versão 1.0 Documentação, vídeos, OSS e outros
  3. 3. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Visão geral da plataforma .NET
  4. 4. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Um novo .NET multiplataforma Visã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 Core ASP.NET Core
  5. 5. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Evolução da plataforma .NET Visão geral da plataforma .NET .NET Core.NET Framework 4.6.x Comum Nova geração do JIT (“RyuJIT”) SIMD Componentes do ambiente de execução Bibliotecas .NET Core Bibliotecas .NET Framework 4.6.x Pacotes NuGetCompiladores Inovações nas linguagens Plataforma de compiladores .NET (“Roslyn”)
  6. 6. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Mudança nos nomes de frameworks Visã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 é 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
  7. 7. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Visual Studio e outros editores Visão geral da plataforma .NET 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.
  8. 8. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 .NET Core
  9. 9. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 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
  10. 10. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 .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 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 está em progresso e planejada para o RC2
  11. 11. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 .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 O TFM netstandard está em progresso, mas ainda não funciona em pacotes
  12. 12. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 .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
  13. 13. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Demonstração .NET Core Mac OS X El Capitan (10.11.4) Ubuntu 14.04.4 Atom 1.6.0 Visual Studio Code 0.10.11 Windows 10 Pro Sublime Text 3
  14. 14. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Entity Framework Core
  15. 15. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 O que é o Entity Framework Core? Entity Framework Core Entity Framework (EF) Tecnologia de acesso a dados recomendada pela Microsoft para novas apps .NET Entity Framework Core (EF Core) Experiência de desenvolvimento similar ao EF 6.x Modelo Code First (entidades POCO - Plain Old CLR Objects) LINQ para entidades DbContext, DbSet etc Suporte a fontes de dados relacionais e não relacionais Muito mais leve que o Entity Framework 6.x Suporte em nuvem, em dispositivos (UWP) e em cenários .NET tradicionais
  16. 16. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Recursos do Entity Framework Core (implementados) Entity Framework Core Modelagem Modelagem Code First A partir de entidades POCO Relacionamentos entre entidades Propriedades de estado sombreado Restrições de unicidade e índices Convenções pré-definidas Validação do modelo Geração de valores chaves (sequence) Mapeamento para tabelas (relacional) Rastreamento de mudanças Rastreamento instantâneo Acesso ao estado de rastreamento Anexo de entidades desanexadas Salvamento de mudanças Persistências de mudanças no BD Concorrência otimizada Salvamento assíncrono Salvamento transacional (atômico) Envio de instruções em lote
  17. 17. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Recursos do Entity Framework Core (implementados) Entity Framework Core Consultas Suporte básico ao LINQ Avaliação LINQ do lado do cliente Consultas sem rastreamento Consultas de dados relacionados Métodos Include e ThenInclude Consultas assíncronas Tradução de funções BCL comuns Consultas SQL diretas Método DbSet.FromSql Gerenciamento de esquema de BD APIs de criação/exclusão de BD Página de erro de banco de dados Middleware do ASP.NET Core Controle de migrações (Migrations) Provedores de acesso a dados SQL Server, SQLite, InMemory Plataformas .NET completo, ASP.NET Core, Universal Windows Platform
  18. 18. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Recursos do Entity Framework Core (em progresso) Entity Framework Core Modelagem Anotações de dados em entidades Padrão de herança TPH (Table-Per-Hierarchy) Uma tabela para entidades numa herança Qualidade Documentação github.com/aspnet/EntityFramework.Docs Documentação XML (IntelliSense) Revisão das APIs Análise da limpeza e consistência da API Desempenho Melhorias de desempenho Engenharia reversa: BD para POCO Consulta Tradução: propriedades de navegação Plataformas Estabilidade em Linux e Mac OS X Provedores de acesso a dados PostgreSQL e SQL Compact
  19. 19. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Recursos do Entity Framework Core (planejamento) Entity Framework Core Recursos planejados para 1.0 RTM (mas que ainda não estão em desenvolvimento) Contexto em tempo de projeto Descoberta e carregamento Importante para ferramentas Migrations, por exemplo Implantação de mudanças em BD Exclusão em cascata (cascade delete) Melhorias em logging Recursos críticos em ORM (muito provavelmente fora da versão 1.0) Consulta Carregamento explícito Subconsultas Tradução de agrupamentos para SQL Avanços em logging Atualização do modelo a partir do BD Modelagem Tipos complexos O Entity Framework Core somente será considerado a versão recomendada do EF depois de implementados os recursos críticos
  20. 20. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core
  21. 21. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 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ções OSS Transição simples de on-premises para a nuvem Ciclos rápidos de desenvolvimento Totalmente modular Rápido
  22. 22. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Desempenho do ASP.NET Core ASP.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
  23. 23. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core em detalhes ASP.NET Core Visual Basic 14 Visual Basic 14 (em breve) .NET Framework 4.6 .NET Framework completo para qualquer cenário Suporte das bibliotecas somente em Windows .NET Core 1.0 Bibliotecas modulares e multiplataforma Ambiente de execução otimizado para servidores e para a nuvem C# 6 C# 6
  24. 24. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core em detalhes ASP.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, Web API, Identity, Web Pages e SignalR
  25. 25. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core em detalhes ASP.NET Core ASP.NET Core frameworks (modelos de aplicações) 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)
  26. 26. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core em detalhes ASP.NET Core ASP.NET Core MVC Um conjunto de conceitos unificado Remoção de duplicações de tipos similares Engloba aplicações Web com interface gráfica (MVC) e serviços Web (Web API) Construído sobre o ASP.NET Core Suporta o .NET Core Hospedagem no Internet Information Services (IIS) Hospedagem própria: WebListener em Windows e Kestrel multiplataforma Integração intensa com injeção de dependência Tag Helpers
  27. 27. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 ASP.NET Core em detalhes ASP.NET Core ASP.NET MVC Core (MVC + Web API + Web Pages) Recurso Executa no .NET 4.6 Executa no .NET Core 1.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 
  28. 28. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Demonstração ASP.NET Core Ubuntu 14.04.4 Firefox Windows 10 Pro Edge Mac OS X El Capitan (10.11.4) Safari
  29. 29. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Futuro e recursos para estudo
  30. 30. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Previsão de lançamento da versão 1.0 Futuro e recursos para estudo ASP.NET 5 Beta 7 Multiplataforma (Linux e Mac OS X) 2 Set 2015 ASP.NET 5 Beta 8 Finalização dos recursos para a v1.0 15 Out 2015 ASP.NET 5 RC1 Estabilidade e desempenho Nov 2015 ASP.NET Core 1.0 RC2 Adoção do .NET Core CLI e do .NET Platform Standard TBD ASP.NET Core 1.0 (RTM) Dependente da finalização do RC2 TBD 2016 .NET Core 1.0 (RTM) Alinhado com as previsões do ASP.NET Core 1.0 (RTM) TBD 2016 Nov 2015 .NET Core 5 RC1 Suporte para ASP.NET Core, Console apps e Windows 10 UWP Entity Framework 7 Beta 7 2 Set 2015 Entity Framework 7 Beta 815 Out 2015 Entity Framework 7 RC1Nov 2015 Entity Framework Core 1.0 RC2TBD Entity Framework Core 1.0 (RTM) Alinhado com as previsões do ASP.NET Core 1.0 (RTM) TBD 2016 .NET Core 1.0 RC2 Adoção do .NET Core CLI e do .NET Platform Standard TBD 2016
  31. 31. Global Azure Bootcamp 2016 - Brasília #gabbsb2016 Documentação, vídeos, OSS e outros Futuro e recursos para estudo .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 Entity Framework Core 1.0 Documentation docs.efproject.net ASP.NET Core 1.0 Documentation docs.asp.net ASP.NET Community Standup live.asp.net ASP.NET Monsters channel9.msdn.com/Series/aspnetmonsters ASP.NET Core (GitHub: Repositórios) github.com/aspnet

×