By André A. Veríssimo da Silva ASP.NET MVC 5 O que há de novo? ANDRÉ A. VERÍSSIMO DA SILVA Bacharel em Sistemas de Informação pela FIRB Software Developer IT Leader na StefaniniIT CONTATOS: andresilvavbp@yahoo.com.br andsilva@stefanini.com
By André A. Veríssimo da Silva PÚBLICO ALVO Você já desenvolveu um website utilizando o ASP.NET MVC 4? NÃO! Você ficará um pouco perdido(a), mas não se preocupe após esta apresentação recomendo a seguinte leitura: ASP.NET MVC 4 in Action Jeffrey Palermo, Ben Scheirman e Jimmy Bogard SIM!!! Ótimo! Vamos avançar...
By André A. Veríssimo da Silva AGENDA O histórico O legado O que há de novo? Como instalar? Como atualizar? Pontos de Atenção Você sabia!? O que vem por aí? Tendências Fontes de Pesquisa Agradecimentos
By André A. Veríssimo da Silva O HISTÓRICO Version Downloads Last updated Microsoft ASP.NET.Mvc 5.2.3 (latest stable) 2.434.310 segunda-feira, 9 de fevereiro de 2015 Microsoft ASP.NET.Mvc 5.2.3-beta1 28.804 quarta-feira, 17 de dezembro de 2014 Microsoft ASP.NET.Mvc 5.2.2 1.687.516 quinta-feira, 28 de agosto de 2014 Microsoft ASP.NET.Mvc 5.2.2-rc 23.213 sábado, 23 de agosto de 2014 Microsoft ASP.NET.Mvc 5.2.0 887.655 terça-feira, 1 de julho de 2014 Microsoft ASP.NET.Mvc 5.2.0-rc 40.625 terça-feira, 27 de maio de 2014 Microsoft ASP.NET.Mvc 5.1.3 222.876 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 5.1.2 1.043.860 sexta-feira, 4 de abril de 2014 Microsoft ASP.NET.Mvc 5.1.1 721.075 segunda-feira, 10 de fevereiro de 2014 Microsoft ASP.NET.Mvc 5.1.0 487.419 sexta-feira, 17 de janeiro de 2014 Microsoft ASP.NET.Mvc 5.1.0-rc1 29.792 sexta-feira, 6 de dezembro de 2013 Microsoft ASP.NET.Mvc 5.0.2 187.330 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 5.0.1 269.192 quinta-feira, 13 de fevereiro de 2014 Microsoft ASP.NET.Mvc 5.0.0 1.309.037 quinta-feira, 17 de outubro de 2013 Microsoft ASP.NET.Mvc 5.0.0-rc1 35.628 sexta-feira, 23 de agosto de 2013 Microsoft ASP.NET.Mvc 5.0.0-beta2 38.105 quarta-feira, 26 de junho de 2013 Microsoft ASP.NET.Mvc 5.0.0-beta1 28.279 quarta-feira, 26 de junho de 2013 Microsoft ASP.NET.Mvc 4.0.40804 600.509 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 4.0.30506 1.698.840 quinta-feira, 30 de maio de 2013 Microsoft ASP.NET.Mvc 4.0.20710 2.174.377 sábado, 11 de agosto de 2012 Microsoft ASP.NET.Mvc 4.0.20505 185.975 quinta-feira, 31 de maio de 2012 ASP.NET MVC 3 3.0.50813.1 111.138 terça-feira, 14 de outubro de 2014 ASP.NET MVC 3 3.0.20105.1 133.304 quinta-feira, 31 de maio de 2012 Nuget.org
By André A. Veríssimo da Silva O LEGADO O que o ASP.NET MVC 4 deixou de bom: • ASP.NET Web API  serviços HTTP/RESTfull • Melhorias no Modelo de Projeto Padrão • Modelo de Projeto Mobile • Modos de Exibição  baseado em dispositivos e browsers • jQuery Mobile, View Switcher e Browser Overriding • Task Support para controles assíncronos • Azure SDK • Database Migrations  EF5 com suporte para migração; • Modelo de Projeto Vazio; • Adicione um Controller a partir de qualquer diretório dentro do seu projeto; • Bundling e Minification  redução de solicitações HTTP; • Login pelo Facebook e outros serviços usando OAuth e OpenID;
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? O que o ASP.NET MVC 5 trás de bom: • One ASP.NET • ASP.NET Identity • Authentication filters • Filter overrides • Attribute routing • Melhorias na View • Bootstrap nativo
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? One ASP.NET Ponto único para criação de projetos Web com um novo assistente que reúne todos os templates disponíveis. Permite configurações personalizadas de autenticação e publicação na “nuvem”. Open ASP.NET
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? One ASP.NET Ponto único para criação de projetos Web com um novo assistente que reúne todos os templates disponíveis. Permite configurações personalizadas de autenticação e publicação na “nuvem”.
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? ASP.NET Identity • Framework que abstrai os recursos de autenticação e autorização de usuários • Nativamente baseia-se em Claims (politícas) e não em Roles • Suporta OAuth2 Sign-on, OpenID Sign-on: • Microsoft, Google, Facebook, Twitter, LinkedIn • Integrado com EF 6 • Preparado para o futuro: • Building e hosting - Katana e OWIN (Open Web Interface for .NET) • Customização facilitada do modelo de dados • Possui suporte a testes unitários
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? • Adiciona verificação de credenciais no pipeline do ASP.NET; • É executado antes dos filtros de autorização (Authorization filters); • Podem ser implementadas por Action, Controller ou globalmente (para todos os Controllers); • É possível adicionar Challenges no response de requests não autorizados (mais utilizado em Web API); • Orientado a Separação de Responsabilidades (Separation of Concerns); Authentication filters
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? • Responsáveis por mudar o comportamento de determinada Action ou Controller; • É possível sobrescrever os filtros padrões existentes: • OverrideActionFilters; • OverrideAuthentication; • OverrideAuthorization; • OverrideExceptionFilters; • OverrideResultFilters; Filter overrides
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? • Definição de rotas por Action e por Area • Pode substituir as declarações de rotas no Global.asax • Podem ser utilizadas em conjunto com rotas normais • Definição de constraints facilitada Exemplo: /products/cherrybrandy  Retorna a view “OneProduct” /products  Retorna a view “AllProducts” Attribute routing
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? • Suporte para customização de atributos HTML nos Helpers: EditorFor e DisplayFor • DropDownList com suporte a Enum: • Html.EnumDropDownListFor(): renderiza um DropDown com a lista de valores do Enum; • EnumHelper.GetSelectList(): retorna uma coleção do tipo IList<SelectListItem>; • Podem ser utilizados no Helper Display Melhorias na VIEW
By André A. Veríssimo da Silva O QUE HÁ DE NOVO? Bootstrap nativo • Framework CSS (web front-end) elegante, intuitivo e responsivo de implementação rápida, simples e fácil; • Integração nativa ao ASP.NET MVC 5; getbootstrap.com
By André A. Veríssimo da Silva COMO INSTALAR? • Template nativo a partir do Visual Studio 2013 • Via NuGet Package Manager Console:
By André A. Veríssimo da Silva COMO ATUALIZAR? • Via NuGet Package Manager Console:
By André A. Veríssimo da Silva PONTOS DE ATENÇÃO Cuidados após update de versão via NuGet PMC: • Atualizar Web API para a versão 2 no Global.asax; • Atualizar as versões dos Assemblies restantes; • Remover os seguintes assemblies: • Microsoft.AspNet.Mvc.FixedDisplayModes • Microsoft.AspNet.WebPages.Administration • Microsoft-Web-Helpers • Atualizar as versões dos Assemblies nos web.configs; • Remover a GUID de tipo de projeto do MVC 4 no “.csproj” do projeto; • Maiores detalhes no tutorial: • How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2
By André A. Veríssimo da Silva VOCÊ SABIA!? O projeto ASP.NET MVC é OpenSource!!! aspnetwebstack.codeplex.com github.com/ASP-NET-MVC/aspnetwebstack
By André A. Veríssimo da Silva O QUE VEM POR AÍ? ASP.NET 5 MVC 6?????? • Novo modelo de manipulação de itens de configuração; • Integração de ferramentas para gerenciamento de pacotes client- side, por exemplo, Bower, Grunt e npm; • Mecanismo nativo para injeção de dependências; • View Components em substituição as Partial Views; • Tag Helpers, alternativa nova e simplificada ao uso de HTML Helpers; Version Downloads Last updated Microsoft.AspNet.Mvc 6.0.0-rc1-final 118.130 18/11/2015 Microsoft.AspNet.Mvc 6.0.0-beta8 36.224 15/10/2015 Microsoft.AspNet.Mvc 6.0.0-beta7 41.236 02/09/2015 Microsoft.AspNet.Mvc 6.0.0-beta6 45.608 27/07/2015 Microsoft.AspNet.Mvc 6.0.0-beta5 40.491 30/06/2015 Microsoft.AspNet.Mvc 6.0.0-beta4 78.457 24/04/2015 Microsoft.AspNet.Mvc 6.0.0-beta3 87.025 13/02/2015 Microsoft.AspNet.Mvc 6.0.0-beta2 37.641 15/01/2015 Microsoft.AspNet.Mvc 6.0.0-beta1 88.523 11/11/2014
By André A. Veríssimo da Silva TENDÊNCIAS • A linguagem VB.NET tende a sumir!!!!! • A linguagem C#.NET ganha cada vez mais força e tem um curva de atualização muito maior! • Web Forms tende a perder força dando lugar ao MVC; • ASP.NET multiplataforma funcionando com outras IDEs no OSX e Linux;
By André A. Veríssimo da Silva FONTES DE PESQUISA http://www.asp.net/mvc/mvc5 http://www.asp.net/identity http://www.infoq.com/br/presentations/owin-projeto-katana http://www.asp.net/visual-studio/overview/2013/creating-web-projects-in-visual- studio#bootstrap http://theshravan.net/blog/authentication-filters-in-asp-net-mvc-5/ http://hackwebwith.net/finally-the-new-asp-net-mvc-5-authentication-filters/ http://weblogs.asp.net/imranbaloch/archive/2013/09/25/new-filter-overrides-in-asp-net-mvc-5- and-asp-net-web-api-2.aspx https://www.nuget.org/packages/microsoft.aspnet.mvc/ http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api- project-to-aspnet-mvc-5-and-web-api-2 http://www.devmedia.com.br/asp-net-mvc-6-implementando-uma-aplicacao-basica/32265 http://blog.caelum.com.br/principais-mudancas-no-asp-net-5-e-mvc-6/ http://www.devmedia.com.br/gerenciando-bibliotecas-de-scripts-no-visual-studio-2015/31869
By André A. Veríssimo da Silva Summit 2016 Quando 11 de Junho 2016 Início: 08:00 Onde São Paulo / SP Av. das Nações Unidas, 12.901 Torre Norte – 31º Andar Evento anual NÃO gratuito! http://www.visualstudiosummit.com.br/
OBRIGADO!!! ANDRÉ A. VERÍSSIMO DA SILVA MEUS CONTATOS: andresilvavbp@yahoo.com.br andsilva@stefanini.com Esta apresentação está disponível no seguinte endereço: https://pt.slideshare.net/secret/489g Ny33PZ6v8V

Workshop ASP.NET MVC 5

  • 1.
    By André A.Veríssimo da Silva ASP.NET MVC 5 O que há de novo? ANDRÉ A. VERÍSSIMO DA SILVA Bacharel em Sistemas de Informação pela FIRB Software Developer IT Leader na StefaniniIT CONTATOS: andresilvavbp@yahoo.com.br andsilva@stefanini.com
  • 2.
    By André A.Veríssimo da Silva PÚBLICO ALVO Você já desenvolveu um website utilizando o ASP.NET MVC 4? NÃO! Você ficará um pouco perdido(a), mas não se preocupe após esta apresentação recomendo a seguinte leitura: ASP.NET MVC 4 in Action Jeffrey Palermo, Ben Scheirman e Jimmy Bogard SIM!!! Ótimo! Vamos avançar...
  • 3.
    By André A.Veríssimo da Silva AGENDA O histórico O legado O que há de novo? Como instalar? Como atualizar? Pontos de Atenção Você sabia!? O que vem por aí? Tendências Fontes de Pesquisa Agradecimentos
  • 4.
    By André A.Veríssimo da Silva O HISTÓRICO Version Downloads Last updated Microsoft ASP.NET.Mvc 5.2.3 (latest stable) 2.434.310 segunda-feira, 9 de fevereiro de 2015 Microsoft ASP.NET.Mvc 5.2.3-beta1 28.804 quarta-feira, 17 de dezembro de 2014 Microsoft ASP.NET.Mvc 5.2.2 1.687.516 quinta-feira, 28 de agosto de 2014 Microsoft ASP.NET.Mvc 5.2.2-rc 23.213 sábado, 23 de agosto de 2014 Microsoft ASP.NET.Mvc 5.2.0 887.655 terça-feira, 1 de julho de 2014 Microsoft ASP.NET.Mvc 5.2.0-rc 40.625 terça-feira, 27 de maio de 2014 Microsoft ASP.NET.Mvc 5.1.3 222.876 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 5.1.2 1.043.860 sexta-feira, 4 de abril de 2014 Microsoft ASP.NET.Mvc 5.1.1 721.075 segunda-feira, 10 de fevereiro de 2014 Microsoft ASP.NET.Mvc 5.1.0 487.419 sexta-feira, 17 de janeiro de 2014 Microsoft ASP.NET.Mvc 5.1.0-rc1 29.792 sexta-feira, 6 de dezembro de 2013 Microsoft ASP.NET.Mvc 5.0.2 187.330 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 5.0.1 269.192 quinta-feira, 13 de fevereiro de 2014 Microsoft ASP.NET.Mvc 5.0.0 1.309.037 quinta-feira, 17 de outubro de 2013 Microsoft ASP.NET.Mvc 5.0.0-rc1 35.628 sexta-feira, 23 de agosto de 2013 Microsoft ASP.NET.Mvc 5.0.0-beta2 38.105 quarta-feira, 26 de junho de 2013 Microsoft ASP.NET.Mvc 5.0.0-beta1 28.279 quarta-feira, 26 de junho de 2013 Microsoft ASP.NET.Mvc 4.0.40804 600.509 terça-feira, 14 de outubro de 2014 Microsoft ASP.NET.Mvc 4.0.30506 1.698.840 quinta-feira, 30 de maio de 2013 Microsoft ASP.NET.Mvc 4.0.20710 2.174.377 sábado, 11 de agosto de 2012 Microsoft ASP.NET.Mvc 4.0.20505 185.975 quinta-feira, 31 de maio de 2012 ASP.NET MVC 3 3.0.50813.1 111.138 terça-feira, 14 de outubro de 2014 ASP.NET MVC 3 3.0.20105.1 133.304 quinta-feira, 31 de maio de 2012 Nuget.org
  • 5.
    By André A.Veríssimo da Silva O LEGADO O que o ASP.NET MVC 4 deixou de bom: • ASP.NET Web API  serviços HTTP/RESTfull • Melhorias no Modelo de Projeto Padrão • Modelo de Projeto Mobile • Modos de Exibição  baseado em dispositivos e browsers • jQuery Mobile, View Switcher e Browser Overriding • Task Support para controles assíncronos • Azure SDK • Database Migrations  EF5 com suporte para migração; • Modelo de Projeto Vazio; • Adicione um Controller a partir de qualquer diretório dentro do seu projeto; • Bundling e Minification  redução de solicitações HTTP; • Login pelo Facebook e outros serviços usando OAuth e OpenID;
  • 6.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? O que o ASP.NET MVC 5 trás de bom: • One ASP.NET • ASP.NET Identity • Authentication filters • Filter overrides • Attribute routing • Melhorias na View • Bootstrap nativo
  • 7.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? One ASP.NET Ponto único para criação de projetos Web com um novo assistente que reúne todos os templates disponíveis. Permite configurações personalizadas de autenticação e publicação na “nuvem”. Open ASP.NET
  • 8.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? One ASP.NET Ponto único para criação de projetos Web com um novo assistente que reúne todos os templates disponíveis. Permite configurações personalizadas de autenticação e publicação na “nuvem”.
  • 9.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? ASP.NET Identity • Framework que abstrai os recursos de autenticação e autorização de usuários • Nativamente baseia-se em Claims (politícas) e não em Roles • Suporta OAuth2 Sign-on, OpenID Sign-on: • Microsoft, Google, Facebook, Twitter, LinkedIn • Integrado com EF 6 • Preparado para o futuro: • Building e hosting - Katana e OWIN (Open Web Interface for .NET) • Customização facilitada do modelo de dados • Possui suporte a testes unitários
  • 10.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? • Adiciona verificação de credenciais no pipeline do ASP.NET; • É executado antes dos filtros de autorização (Authorization filters); • Podem ser implementadas por Action, Controller ou globalmente (para todos os Controllers); • É possível adicionar Challenges no response de requests não autorizados (mais utilizado em Web API); • Orientado a Separação de Responsabilidades (Separation of Concerns); Authentication filters
  • 11.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? • Responsáveis por mudar o comportamento de determinada Action ou Controller; • É possível sobrescrever os filtros padrões existentes: • OverrideActionFilters; • OverrideAuthentication; • OverrideAuthorization; • OverrideExceptionFilters; • OverrideResultFilters; Filter overrides
  • 12.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? • Definição de rotas por Action e por Area • Pode substituir as declarações de rotas no Global.asax • Podem ser utilizadas em conjunto com rotas normais • Definição de constraints facilitada Exemplo: /products/cherrybrandy  Retorna a view “OneProduct” /products  Retorna a view “AllProducts” Attribute routing
  • 13.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? • Suporte para customização de atributos HTML nos Helpers: EditorFor e DisplayFor • DropDownList com suporte a Enum: • Html.EnumDropDownListFor(): renderiza um DropDown com a lista de valores do Enum; • EnumHelper.GetSelectList(): retorna uma coleção do tipo IList<SelectListItem>; • Podem ser utilizados no Helper Display Melhorias na VIEW
  • 14.
    By André A.Veríssimo da Silva O QUE HÁ DE NOVO? Bootstrap nativo • Framework CSS (web front-end) elegante, intuitivo e responsivo de implementação rápida, simples e fácil; • Integração nativa ao ASP.NET MVC 5; getbootstrap.com
  • 15.
    By André A.Veríssimo da Silva COMO INSTALAR? • Template nativo a partir do Visual Studio 2013 • Via NuGet Package Manager Console:
  • 16.
    By André A.Veríssimo da Silva COMO ATUALIZAR? • Via NuGet Package Manager Console:
  • 17.
    By André A.Veríssimo da Silva PONTOS DE ATENÇÃO Cuidados após update de versão via NuGet PMC: • Atualizar Web API para a versão 2 no Global.asax; • Atualizar as versões dos Assemblies restantes; • Remover os seguintes assemblies: • Microsoft.AspNet.Mvc.FixedDisplayModes • Microsoft.AspNet.WebPages.Administration • Microsoft-Web-Helpers • Atualizar as versões dos Assemblies nos web.configs; • Remover a GUID de tipo de projeto do MVC 4 no “.csproj” do projeto; • Maiores detalhes no tutorial: • How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2
  • 18.
    By André A.Veríssimo da Silva VOCÊ SABIA!? O projeto ASP.NET MVC é OpenSource!!! aspnetwebstack.codeplex.com github.com/ASP-NET-MVC/aspnetwebstack
  • 19.
    By André A.Veríssimo da Silva O QUE VEM POR AÍ? ASP.NET 5 MVC 6?????? • Novo modelo de manipulação de itens de configuração; • Integração de ferramentas para gerenciamento de pacotes client- side, por exemplo, Bower, Grunt e npm; • Mecanismo nativo para injeção de dependências; • View Components em substituição as Partial Views; • Tag Helpers, alternativa nova e simplificada ao uso de HTML Helpers; Version Downloads Last updated Microsoft.AspNet.Mvc 6.0.0-rc1-final 118.130 18/11/2015 Microsoft.AspNet.Mvc 6.0.0-beta8 36.224 15/10/2015 Microsoft.AspNet.Mvc 6.0.0-beta7 41.236 02/09/2015 Microsoft.AspNet.Mvc 6.0.0-beta6 45.608 27/07/2015 Microsoft.AspNet.Mvc 6.0.0-beta5 40.491 30/06/2015 Microsoft.AspNet.Mvc 6.0.0-beta4 78.457 24/04/2015 Microsoft.AspNet.Mvc 6.0.0-beta3 87.025 13/02/2015 Microsoft.AspNet.Mvc 6.0.0-beta2 37.641 15/01/2015 Microsoft.AspNet.Mvc 6.0.0-beta1 88.523 11/11/2014
  • 20.
    By André A.Veríssimo da Silva TENDÊNCIAS • A linguagem VB.NET tende a sumir!!!!! • A linguagem C#.NET ganha cada vez mais força e tem um curva de atualização muito maior! • Web Forms tende a perder força dando lugar ao MVC; • ASP.NET multiplataforma funcionando com outras IDEs no OSX e Linux;
  • 21.
    By André A.Veríssimo da Silva FONTES DE PESQUISA http://www.asp.net/mvc/mvc5 http://www.asp.net/identity http://www.infoq.com/br/presentations/owin-projeto-katana http://www.asp.net/visual-studio/overview/2013/creating-web-projects-in-visual- studio#bootstrap http://theshravan.net/blog/authentication-filters-in-asp-net-mvc-5/ http://hackwebwith.net/finally-the-new-asp-net-mvc-5-authentication-filters/ http://weblogs.asp.net/imranbaloch/archive/2013/09/25/new-filter-overrides-in-asp-net-mvc-5- and-asp-net-web-api-2.aspx https://www.nuget.org/packages/microsoft.aspnet.mvc/ http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api- project-to-aspnet-mvc-5-and-web-api-2 http://www.devmedia.com.br/asp-net-mvc-6-implementando-uma-aplicacao-basica/32265 http://blog.caelum.com.br/principais-mudancas-no-asp-net-5-e-mvc-6/ http://www.devmedia.com.br/gerenciando-bibliotecas-de-scripts-no-visual-studio-2015/31869
  • 22.
    By André A.Veríssimo da Silva Summit 2016 Quando 11 de Junho 2016 Início: 08:00 Onde São Paulo / SP Av. das Nações Unidas, 12.901 Torre Norte – 31º Andar Evento anual NÃO gratuito! http://www.visualstudiosummit.com.br/
  • 23.
    OBRIGADO!!! ANDRÉ A. VERÍSSIMODA SILVA MEUS CONTATOS: andresilvavbp@yahoo.com.br andsilva@stefanini.com Esta apresentação está disponível no seguinte endereço: https://pt.slideshare.net/secret/489g Ny33PZ6v8V