ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
-
Upload
renato-groff -
Category
Software
-
view
369 -
download
2
Transcript of ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
![Page 1: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/1.jpg)
ASP.NET 5 – Novidades do Desenvolvimento Web em .NET
Renato GroffeAgosto/2015
![Page 2: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/2.jpg)
Apresentação – Renato Groffe
Mais de 15 anos de experiência na área de Tecnologia
Pós-graduação em Engenharia de Software – ênfase em SOA
MBA em Business Intelligence
Graduação em Sistemas de Informação
Técnico em Processamento de Dados
MTAC (Microsoft Technical Audience Contributor), MCP, Microsoft Specialist, MCTS, OCA, ITIL, COBIT
![Page 3: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/3.jpg)
Contatos Página no Facebook
https://www.facebook.com/RenatoGroffeSW
Perfil no Facebookhttps://www.facebook.com/renatogroff
LinkedInhttp://br.linkedin.com/in/renatogroffe
![Page 4: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/4.jpg)
Recursos Utilizados Microsoft Visual Studio Community 2015
ASP.NET 5 (Beta 5)
![Page 5: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/5.jpg)
Visual Studio 2015 e as novidades da plataforma .NET
ASP.NET 5: uma visão geral
Um novo mecanismo nativo para injeção de dependências
Itens de configuração no ASP.NET 5
Gerenciamento de pacotes client-side com npm, Gulp e Bower
Reusabilidade com View Components
Simplificando a codificação de Views com Tag Helpers
O novo mecanismo de cache do ASP.NET 5
Agenda
![Page 6: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/6.jpg)
Visual Studio 2015 e as novidades da plataforma .NET
Melhoramentos na IDE (debug de expressões lambda, IntelliTest, NuGet reformulado, dentre outras funcionalidades)
C# 6.0 → nova versão da linguagem, com melhorias visando simplificar o desenvolvimento de soluções
Novo compilador (Roslyn)
Boa parte da plataforma .NET é agora open source, estando hospedada no GitHub
ASP.NET 5 → plataforma Web totalmente reformulada
![Page 7: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/7.jpg)
ASP.NET 5 Roadmap
![Page 8: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/8.jpg)
ASP.NET 5: uma visão geral
Possibilidade de desenvolvimento de soluções multiplataforma
Novos tipos de projetos
Mudanças na forma como os projetos encontram-se estruturados no Visual Studio
Arquitetura mais enxuta e modular → a biblioteca System.Web.dll não será mais utilizada
MVC 6 → modelo de programação Web unificado, combinando MVC e Web API em um único framework
![Page 9: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/9.jpg)
ASP.NET 5: uma visão geral
Compilação dinâmica
◦ Mudanças podem ser realizadas a partir do Visual Studio, com a aplicação em execução
◦ Não há necessidade de recompilar o projeto para as modificações surtirem efeito
Possibilidade de hospedagem no IIS ou, até mesmo, de uso de um processo que cuide disto
A geração de projetos sob a forma de dlls deu lugar a módulos que seguem os padrões de pacotes do utilitário NuGet
![Page 10: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/10.jpg)
ASP.NET 5: uma visão geral
Mecanismo nativo para injeção de dependências
Modificações na forma como itens de configuração são manipulados
Gerenciamento de pacotes client-side com npm, Gulp e Bower
View Components
Tag Helpers
Um novo mecanismo de cache
![Page 11: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/11.jpg)
ASP.NET 5 – Desenvolvimento Multiplataforma
2 runtimes possíveis para a execução de aplicações → .NET Core e .NET Framework
.NET Core◦ Versão mais enxuta (apenas recursos realmente necessários)◦ Suporte a ambientes Windows, Linux e Mac OS X◦ Deploy de soluções com os packages que formam este runtime →
mudanças no .NET Framework de um servidor não afetarão aplicações que empregam esta alternativa
.NET Framework◦ Versão mais completa que a anterior, com acesso total às APIs
do .NET Framework
![Page 12: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/12.jpg)
ASP.NET 5 – Desenvolvimento Multiplataforma
Visual Studio Code → editor de código que representa uma alternativa para o desenvolvimento em Linux e Mac
![Page 13: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/13.jpg)
ASP.NET 5 – Novos Tipos de Projetos
3 novos tipos de projetos:
◦ ASP.NET Web Application
◦ Class Library (Package)
◦ Console Application (Package)
Todos estes templates são baseados na utilização de recursos do ASP.NET 5
Os compiláveis seguem a estrutura de um package do NuGet
![Page 14: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/14.jpg)
ASP.NET 5 – Novos Tipos de Projetos
![Page 15: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/15.jpg)
ASP.NET 5 – Novos Tipos de Projetos
Templates disponíveis:
![Page 16: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/16.jpg)
ASP.NET 5 – Estrutura Básica de um Projeto
![Page 17: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/17.jpg)
ASP.NET 5 – Arquitetura Modular
A indicação de quais componentes serão utilizados acontece nos métodos ConfigureServices e Configure da classe Startup
A biblioteca System.Web.dll não está mais disponível para projetos ASP.NET 5
A especificação apenas de recursos realmente necessários contribui para uma melhor performance da aplicação
![Page 18: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/18.jpg)
ASP.NET 5 – Arquitetura Modular Exemplo
![Page 19: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/19.jpg)
ASP.NET 5 – Modelo de Programação Web Unificado
Classe Controller (namespace Microsoft.AspNet.Mvc) → mesma base para a implementação de soluções MVC e Web API
Exemplo de implementação de um serviço Web API
![Page 20: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/20.jpg)
ASP.NET 5 – Injeção de Dependências
Injeção de Dependências – Benefícios
◦ Favorece um menor acoplamento entre as partes de um sistema
◦ Priorização do uso de interfaces
◦ Flexibilidade diante da necessidade de mudanças
![Page 21: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/21.jpg)
ASP.NET 5 – Injeção de Dependências
Versões anteriores do ASP.NET dependiam do uso de algum container para a injeção de dependências
◦ Unity, Ninject, Autofac e Spring.NET eram algumas das alternativas
O ASP.NET 5 conta agora com um novo mecanismo nativo, de forma a simplificar o uso de técnicas de injeção de dependências
![Page 22: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/22.jpg)
ASP.NET 5 – Injeção de Dependências
Exemplo - Interfaces
![Page 23: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/23.jpg)
ASP.NET 5 – Injeção de Dependências
Exemplo - Implementações
![Page 24: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/24.jpg)
ASP.NET 5 – Injeção de Dependências
Exemplo – Definindo os mapeamentos no método ConfigureServices
![Page 25: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/25.jpg)
ASP.NET 5 – Injeção de Dependências
Configurando as dependências em um Controller (construtor + atributo FromServices)
![Page 26: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/26.jpg)
ASP.NET 5 – Injeção de Dependências
Configurando as dependências em uma View (cláusula @inject)
![Page 27: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/27.jpg)
ASP.NET 5 – Itens de configuração
O arquivo Web.config e a classe ConfigurationManager (namespace System.Configuration) não estão mais disponíveis
Uma implementação da interface IConfiguration (namespace Microsoft.Framework.Configuration) deverá ser utilizada para acesso às configurações◦ O acesso a esta referência será feito via injeção de dependência
Por default, as configurações de um projeto são declaradas no arquivo config.json◦ Outros arquivos no formato JSON podem ser adicionados◦ Também é possível o uso de arquivos .ini ou variáveis de sistema
![Page 28: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/28.jpg)
ASP.NET 5 – Itens de configuração Exemplo – Configurando o uso de IConfiguration no método ConfigureServices
![Page 29: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/29.jpg)
ASP.NET 5 – Itens de configuração Exemplo – arquivo config.json com alguns itens de configuração
![Page 30: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/30.jpg)
ASP.NET 5 – Itens de configuração
Exemplo - Utilizando IConfiguration em um Controller
![Page 31: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/31.jpg)
ASP.NET 5 – Itens de configuração
Exemplo - Utilizando IConfiguration em uma View
![Page 32: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/32.jpg)
ASP.NET 5 – Gerenciamento de pacotes client-side com npm, Gulp e Bower
Bower → gerenciador empregado na instalação e restauração de pacotes client-side (arquivos CSS e de scripts)
Gulp → automação de tarefas envolvendo manipulação de pacotes client-side, por meio de arquivos de instruções com uma sintaxe baseada em JavaScript
npm (Node Package Manager) → ambiente a partir do qual outras ferramentas como Bower e Gulp serão executadas
![Page 33: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/33.jpg)
ASP.NET 5 – Gerenciamento de pacotes client-side com npm, Gulp e Bower
Tarefas do processo de build envolvendo scripts
◦ Bundling → combinação de arquivos em uma simples unidade, de forma a minimizar a quantidade de requisições HTTP enviadas ao servidor
◦ Minification → eliminação em tempo de execução de itens desnecessários (espaços, comentários) em arquivos CSS e de scripts
◦ Determinar qual versão de um pacote client-server será utilizada
◦ Possibilidade de uso de ferramentas para verificação automática de código JavaScript (como JSHint e JSLint)
◦ Uso de pré-processadores como LESS e SASS → viabilizam a utilização de variáveis, funções e mixins (agrupamentos de propriedades) em folhas de estilo
![Page 34: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/34.jpg)
ASP.NET 5 – Gerenciamento de pacotes client-side com npm, Gulp e Bower Arquivo bower.json → dependências de pacotes client-side controladas por meio da
ferramenta Bower (exemplo de inclusão da biblioteca Open Weather)
![Page 35: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/35.jpg)
ASP.NET 5 – Gerenciamento de pacotes client-side com npm, Gulp e Bower
Plugin Open Weather incluído no projeto
![Page 36: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/36.jpg)
ASP.NET 5 – Reusabilidade com View Components
Não é mais possível o uso de Partial Views no ASP.NET 5
Disponibilizado agora um novo recurso conhecido como View Component
◦ Favorece o reuso
◦ Dispensa a codificação de um novo Controller, com uma Action relacionada ao processamento de um item
◦ Possibilita a inserção de conteúdo em pontos específicos das páginas de uma aplicação
![Page 37: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/37.jpg)
ASP.NET 5 – Reusabilidade com View Components
Estrutura de um ViewComponent (classe na pasta Components + View Default.cshtml em \Views\Shared\Components)
![Page 38: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/38.jpg)
ASP.NET 5 – Reusabilidade com View Components
Exemplo – Classe que implementa um View Component (derivada do tipo básico ViewComponent)
![Page 39: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/39.jpg)
ASP.NET 5 – Reusabilidade com View Components
Exemplo – View Default.cshtml (parte das funcionalidades)
![Page 40: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/40.jpg)
ASP.NET 5 – Reusabilidade com View Components
Exemplo – Consumindo o View Component ClimaCidade
![Page 41: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/41.jpg)
ASP.NET 5 – Tag Helpers
Alternativa ao uso de HTML Helpers convencionais, visando simplificar a codificação de Views
Faz uso de uma sintaxe similar àquela empregada em código HTML padrão
![Page 42: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/42.jpg)
ASP.NET 5 – Tag Helpers
Exemplo – Utilizando uma Tag Helper em uma View
![Page 43: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/43.jpg)
ASP.NET 5 – Cache
3 possibilidades
◦ Uso de instância da interface IMemoryCache (namespace Microsoft.Framework.Caching.Memory)
◦ A tag cache em Views MVC 6
◦ O atributo ResponseCache
![Page 44: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/44.jpg)
ASP.NET 5 – Cache
Interface IMemoryCache – configurando a utilização
![Page 45: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/45.jpg)
ASP.NET 5 – Cache
Interface IMemoryCache – manipulando cache
![Page 46: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/46.jpg)
ASP.NET 5 – Cache
A tag cache em Views MVC 6
![Page 47: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/47.jpg)
ASP.NET 5 – Cache
O atributo ResponseCache vinculado a uma Action
![Page 48: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/48.jpg)
Dúvidas, sugestões???
![Page 49: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/49.jpg)
Referências ASP.NET 5 Documentation
http://docs.asp.net/en/latest/
ASP.NET 5 Schedule and Roadmaphttps://github.com/aspnet/Home/wiki/Roadmap
Exemplos Práticoshttps://gallery.technet.microsoft.com/ASPNET-5-Exemplos-42e5645e
![Page 50: ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)](https://reader036.fdocuments.net/reader036/viewer/2022062407/55d1e310bb61eb377b8b4570/html5/thumbnails/50.jpg)
Obrigado!!!