O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Asp.Net Core - Meetup BH

210 visualizações

Publicada em

André Paulovich e Tanato Cartaxo abordando o desenvolvimento de aplicações e serviços usando o ASP NET Core e Owin, para multiplataforma.

Publicada em: Software
  • Seja o primeiro a comentar

Asp.Net Core - Meetup BH

  1. 1. ASP.NET Core & OWIN ciandt.com Tanato Cartaxo André Paulovich
  2. 2. Tanato Cartaxo
  3. 3. André Paulovich
  4. 4. ASP.NET ciandt.com
  5. 5. ASP.NET ciandt.com Asp.Net é a plataforma para desenvolvimento Web da Microsoft, publicado em janeiro de 2002, hoje tem mais de 14 anos de idade.
  6. 6. ● Windows Forms > Web Forms ● Programadores VB6 ● Interface Gráfica para montar telas usando “drag’n’drop” ● Click Duplo “amarrando” os eventos aos códigos O que é o Web Forms
  7. 7. Alguma coisa parecia estranha...
  8. 8. Eis que surge o MVC!
  9. 9. ASP.NET ciandt.com
  10. 10. Mas nem tudo era legal...
  11. 11. Manter compatibilidade com tecnologias do início do século. Não foi construído com o pensamento completamente modular, uma simples aplicação carregava diversas funcionalidades que poderiam nunca ser utilizadas. Necessita de utilizar a System.Web em diversos módulos, que é uma biblioteca pesada. Problemas...
  12. 12. ASP.NET ciandt.com
  13. 13. ciandt.com Quando a Microsoft anunciou as versões “Release Candidate” dos novos frameworks de desenvolvimento ele rebatizou os mesmos da seguinte forma: ASP.NET 5 e o .NET Core 5 foram rebatizados como ASP.NET Core 1.0 e .NET Core 1.0. Já o Entity Framework 7 passou a ser chamado Entity Framework Core 1.0. Confusão
  14. 14. ASP.NET Core - Visão Geral Um novo framework, desenvolvido do zero, evoluindo diversos conceitos e tecnologias presentes no ASP.NET mas visando conceitos atuais como cross-plaform e Cloud computing.
  15. 15. ASP.NET Core - Visão Geral É um framework pensado do zero para ser modular, além de ser completamente open-source.
  16. 16. ASP.NET Core - Visão Geral Pode ser desenvolvido tanto em cima do .NET Core para cross-platform em cima do .NET Framework para aplicações web em Windows.
  17. 17. ASP.NET Core é Modular ciandt.com Traz apenas o “Core” da aplicação, permitindo a criação de aplicações leves e sem bloatware. Opt-in para os recursos (módulos) que deseja adicionar à sua aplicação desde os mais simples aos mais complexos. Otimização de recursos, tanto em hardware como em complexidade de código.
  18. 18. Conceitos - OWIN ciandt.com Host Server Middleware Application
  19. 19. Conceitos - Inversion Of Control (IOC) ciandt.com
  20. 20. Conceitos - Unificação do MVC e Web API. ciandt.com
  21. 21. Conceitos - CLI ciandt.com 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 build [argumentos] Compila sua app ou biblioteca dotnet run [argumentos] Compila e executa sua app em um passo
  22. 22. OWIN ciandt.com
  23. 23. O que é? ciandt.com OWIN define uma interface entre web servers e web applications em .NET Padrão para desacoplamento entre servidor e aplicação, incentivando o desenvolvimento modular de middlewares.
  24. 24. Middleware ciandt.com
  25. 25. Porque utilizar OWIN? ciandt.com
  26. 26. É leve e escalável! ciandt.com Possibilidade de escolha dos componentes do middleware ao servidor e host permite a escolha de opções mais leves e rápidas. Nenhuma funcionalidade é carregada por padrão, apenas funcionalidades realmente necessárias são carregadas no pipeline da aplicação. Não depende diretamente do System.Web, que contém um overhead para diversas tecnologias (SessionState, WebForms e etc.).
  27. 27. Middlewares! ciandt.com Middlewares são incluídos, atualizados, removidos e substituídos de forma simples. Middlewares são criados para funções específicas e por isso tendem a ser leves.
  28. 28. ciandt.com Abordagem limpa, facilita o desenvolvimento de um pipeline compreensível. Sem dependências do IIS e outros componentes.
  29. 29. OWIN self-service pipeline ciandt.com Host Server Middleware Application IIS Self-Host Nginx Custom Host System.Web HttpListener Authentication WebApi Logging Dependency Injection Your Code! And a lot more
  30. 30. Vantagens de Self-Host em relação ao IIS ciandt.com Lightweight/Low Memory Footprint. Carrega apenas o necessário para o pipeline. Não necessita configuração complexa do IIS. Versões do IIS estão diretamente ligadas com versões do SO.
  31. 31. Some Code! ciandt.com
  32. 32. public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app) { app.UseMvc(); } } Inicialização do Pipeline OWIN em ASP.NET Core ciandt.com
  33. 33. app.Use(async (httpcontext, next) => { Console.WriteLine("Before Response"); await next.Invoke(); Console.WriteLine("After Response"); }); Exemplo de um middleware OWIN em função ciandt.com
  34. 34. Entity Framework ciandt.com
  35. 35. Entity Framework ciandt.com
  36. 36. Entity Framework Core ciandt.com
  37. 37. Entity Framework Core ciandt.com Assim como o ASP NET CORE, o Entity Framework CORE também foi totalmente refeito. Portanto, ele também teve sua numeração de versão reiniciada e agora chama-se Entity Framework Core 1.0 e não EntityFramework 7. Características: ● 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
  38. 38. EF Core no dotnet-cli ciandt.com Sintaxe: dotnet ef {comando} --arg Algumas ferramentas disponíveis: dotnet ef migrations add ‘name’ Cria código de Migrations dotnet ef migrations remove Remove o último código de Migrations dotnet ef database update Atualiza o BD com as Migrations. dotnet ef database drop Dropa o banco de dados.
  39. 39. Let’s Code ciandt.com
  40. 40. OBRIGADO!

×