SlideShare uma empresa Scribd logo
Renato Groffe
Agosto/2015
 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
 Página no Facebook
https://www.facebook.com/RenatoGroffeSW
 Perfil no Facebook
https://www.facebook.com/renatogroff
 LinkedIn
http://br.linkedin.com/in/renatogroffe
 Microsoft Visual Studio Community 2015
 ASP.NET 5 (Beta 5)
 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
 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
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 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
 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
 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
 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
 Visual Studio Code → editor de código que representa
uma alternativa para o desenvolvimento em Linux e Mac
 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
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 Templates disponíveis:
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 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
 Exemplo
 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
 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
 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
 Exemplo - Interfaces
 Exemplo - Implementações
 Exemplo – Definindo os mapeamentos no método ConfigureServices
 Configurando as dependências em um Controller (construtor + atributo FromServices)
 Configurando as dependências em uma View (cláusula @inject)
 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
 Exemplo – Configurando o uso de IConfiguration no método ConfigureServices
 Exemplo – arquivo config.json com alguns itens de configuração
 Exemplo - Utilizando IConfiguration em um Controller
 Exemplo - Utilizando IConfiguration em uma View
 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
 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
 Arquivo bower.json → dependências de pacotes client-side controladas por meio da
ferramenta Bower (exemplo de inclusão da biblioteca Open Weather)
 Plugin Open Weather incluído no projeto
 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
 Estrutura de um ViewComponent (classe na pasta Components +
View Default.cshtml em ViewsSharedComponents)
 Exemplo – Classe que implementa um View Component (derivada
do tipo básico ViewComponent)
 Exemplo – View Default.cshtml (parte das funcionalidades)
 Exemplo – Consumindo o View Component ClimaCidade
 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
 Exemplo – Utilizando uma Tag Helper em uma View
 3 possibilidades
◦ Uso de instância da interface IMemoryCache
(namespace Microsoft.Framework.Caching.Memory)
◦ A tag cache em Views MVC 6
◦ O atributo ResponseCache
 Interface IMemoryCache – configurando a utilização
 Interface IMemoryCache – manipulando cache
 A tag cache em Views MVC 6
 O atributo ResponseCache vinculado a uma Action
Dúvidas, sugestões???
 ASP.NET 5 Documentation
http://docs.asp.net/en/latest/
 ASP.NET 5 Schedule and Roadmap
https://github.com/aspnet/Home/wiki/Roadmap
 Exemplos Práticos
https://gallery.technet.microsoft.com/ASPNET-5-Exemplos-
42e5645e
Obrigado!!!

Mais conteúdo relacionado

PDF
12 Factor App TDC São Paulo 2018
PPTX
Boas práticas na configuração de jobs no Kubernetes
PDF
Aplicações Web com Python e Google App Engine
PPTX
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
PDF
Aplicações de tempo real com Meteor.js
PDF
ASP.NET vNext – MVC6
PPTX
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
PDF
Usando Git na Unity - Gaming For All 2021
12 Factor App TDC São Paulo 2018
Boas práticas na configuração de jobs no Kubernetes
Aplicações Web com Python e Google App Engine
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Aplicações de tempo real com Meteor.js
ASP.NET vNext – MVC6
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
Usando Git na Unity - Gaming For All 2021

Mais procurados (20)

PPT
RTC - RATIONAL TEAM CONCERT - DEVELOPER - SCM ECLIPSE - aula 02
PDF
Introdução ao Github actions - TDC Connections
PPTX
PDF
SVN no Desenvolvimento de Software
PDF
Framework web 02 - 2016
PDF
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
PPTX
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
PPT
Rtc work shop - developer - introdução - aula 01
PPTX
ASP.NET MVC 4 - Introdução - Parte I
PPT
RTC - RATIONAL TEAM CONCERT - DEVELOPER - SCM RTC SHELL - aula 03
PDF
Spring Security e Spring Boot Aula - 2018
PDF
Desenvolvendo uma aplicacao Full Javascript
PDF
Framework web 01 - Aula UTFPR 2018
PPT
Workshop Rational Team Concert - RTC - Planejamento - aula 01
PDF
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
PPTX
Function as a Service no OpenFaaS com Docker e PHP
PDF
Flask e Docker - rumo a AWS!
PDF
GIT Básico
PDF
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
RTC - RATIONAL TEAM CONCERT - DEVELOPER - SCM ECLIPSE - aula 02
Introdução ao Github actions - TDC Connections
SVN no Desenvolvimento de Software
Framework web 02 - 2016
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Rtc work shop - developer - introdução - aula 01
ASP.NET MVC 4 - Introdução - Parte I
RTC - RATIONAL TEAM CONCERT - DEVELOPER - SCM RTC SHELL - aula 03
Spring Security e Spring Boot Aula - 2018
Desenvolvendo uma aplicacao Full Javascript
Framework web 01 - Aula UTFPR 2018
Workshop Rational Team Concert - RTC - Planejamento - aula 01
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Function as a Service no OpenFaaS com Docker e PHP
Flask e Docker - rumo a AWS!
GIT Básico
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Anúncio

Destaque (20)

PPS
Quem sou deixa_marca
PDF
Refracao
PDF
A análise de demonstrativos financeiros
PPT
OFICINA DE TWITTER AREALVA 17.11.2011
DOCX
Filipa .pacc
PDF
Pasqua2011 2012
PPTX
Móbile de coração
PPTX
Usma fundamentos tema 1 definiciones
PDF
açao popular
PDF
Gestão de Conteúdo - Redes Sociais
PPT
Apresentacao flamboyant
PPTX
Porta retrato
DOCX
Alvaro.pacc
PDF
Pires ana (ese ips-fct-unl)
DOCX
Filipa .pacc
PDF
Artur azevedo nova viagem a lua
PPT
PDF
Artur azevedo dona eulália
DOC
Critérios de classificação das empresas
DOCX
EDIÇÃO NATAL TARDE
Quem sou deixa_marca
Refracao
A análise de demonstrativos financeiros
OFICINA DE TWITTER AREALVA 17.11.2011
Filipa .pacc
Pasqua2011 2012
Móbile de coração
Usma fundamentos tema 1 definiciones
açao popular
Gestão de Conteúdo - Redes Sociais
Apresentacao flamboyant
Porta retrato
Alvaro.pacc
Pires ana (ese ips-fct-unl)
Filipa .pacc
Artur azevedo nova viagem a lua
Artur azevedo dona eulália
Critérios de classificação das empresas
EDIÇÃO NATAL TARDE
Anúncio

Semelhante a ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015) (20)

PPTX
Gradle spring-hateoas-Lombok
PPTX
BDD (Behavior-Driven Development) - Setembro/2015
PDF
Fundamentos do asp.net
PPTX
BDD (Behavior-Driven Development)
PPT
PDF
Visual basic apostila up vb6 para vbnet
PPTX
Treinamento Básico Sobre ASP.NET MVC
PPTX
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
PPTX
C# 6.0 - Novos Recursos (Agosto/2015)
PDF
Padrões de Projeto J2EE para Aplicações Web
PDF
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
PPTX
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
PDF
Aula 1 ASP.NET Core com arquitetura MVC
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
PDF
ViewModel Android, Como Utilizar Este Componente de Arquitetura
PPT
Design Patterns
PDF
Introdução à Programação Web com Angular
PDF
Liferay com React - Boas práticas
PPT
2006 - ASP.NET.ppt
ODP
ASP.NET e Visual Studio 2010
Gradle spring-hateoas-Lombok
BDD (Behavior-Driven Development) - Setembro/2015
Fundamentos do asp.net
BDD (Behavior-Driven Development)
Visual basic apostila up vb6 para vbnet
Treinamento Básico Sobre ASP.NET MVC
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
C# 6.0 - Novos Recursos (Agosto/2015)
Padrões de Projeto J2EE para Aplicações Web
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Aula 1 ASP.NET Core com arquitetura MVC
Desenvolvimento web com .NET Core - Meetup São Carlos
ViewModel Android, Como Utilizar Este Componente de Arquitetura
Design Patterns
Introdução à Programação Web com Angular
Liferay com React - Boas práticas
2006 - ASP.NET.ppt
ASP.NET e Visual Studio 2010

Mais de Renato Groff (20)

PPTX
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
PPTX
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
PPTX
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
PPTX
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
PPTX
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
PPTX
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
PPTX
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
PPTX
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
PPTX
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
PPTX
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
PPTX
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
PPTX
Aplicações Distribuídas com .NET | TDC Recife Online 2020
PPTX
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
PPTX
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
PPTX
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
PPTX
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
PPTX
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
PPTX
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
PPTX
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
PPTX
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020

ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)

  • 2.  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
  • 3.  Página no Facebook https://www.facebook.com/RenatoGroffeSW  Perfil no Facebook https://www.facebook.com/renatogroff  LinkedIn http://br.linkedin.com/in/renatogroffe
  • 4.  Microsoft Visual Studio Community 2015  ASP.NET 5 (Beta 5)
  • 5.  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
  • 6.  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
  • 8.  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
  • 9.  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
  • 10.  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
  • 11.  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
  • 12.  Visual Studio Code → editor de código que representa uma alternativa para o desenvolvimento em Linux e Mac
  • 13.  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
  • 17.  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
  • 19.  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
  • 20.  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
  • 21.  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
  • 22.  Exemplo - Interfaces
  • 23.  Exemplo - Implementações
  • 24.  Exemplo – Definindo os mapeamentos no método ConfigureServices
  • 25.  Configurando as dependências em um Controller (construtor + atributo FromServices)
  • 26.  Configurando as dependências em uma View (cláusula @inject)
  • 27.  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
  • 28.  Exemplo – Configurando o uso de IConfiguration no método ConfigureServices
  • 29.  Exemplo – arquivo config.json com alguns itens de configuração
  • 30.  Exemplo - Utilizando IConfiguration em um Controller
  • 31.  Exemplo - Utilizando IConfiguration em uma View
  • 32.  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
  • 33.  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
  • 34.  Arquivo bower.json → dependências de pacotes client-side controladas por meio da ferramenta Bower (exemplo de inclusão da biblioteca Open Weather)
  • 35.  Plugin Open Weather incluído no projeto
  • 36.  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
  • 37.  Estrutura de um ViewComponent (classe na pasta Components + View Default.cshtml em ViewsSharedComponents)
  • 38.  Exemplo – Classe que implementa um View Component (derivada do tipo básico ViewComponent)
  • 39.  Exemplo – View Default.cshtml (parte das funcionalidades)
  • 40.  Exemplo – Consumindo o View Component ClimaCidade
  • 41.  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
  • 42.  Exemplo – Utilizando uma Tag Helper em uma View
  • 43.  3 possibilidades ◦ Uso de instância da interface IMemoryCache (namespace Microsoft.Framework.Caching.Memory) ◦ A tag cache em Views MVC 6 ◦ O atributo ResponseCache
  • 44.  Interface IMemoryCache – configurando a utilização
  • 45.  Interface IMemoryCache – manipulando cache
  • 46.  A tag cache em Views MVC 6
  • 47.  O atributo ResponseCache vinculado a uma Action
  • 49.  ASP.NET 5 Documentation http://docs.asp.net/en/latest/  ASP.NET 5 Schedule and Roadmap https://github.com/aspnet/Home/wiki/Roadmap  Exemplos Práticos https://gallery.technet.microsoft.com/ASPNET-5-Exemplos- 42e5645e