SlideShare uma empresa Scribd logo
Renato Groffe
Junho/2015
 Mais de 15 anos de experiência na área de Tecnologia
 Pós-graduação em Engenharia de Software – ênfase em
SOA
 Cursando MBA em Business Intelligence (FIAP)
 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
 Visual Studio 2015 Release Candidate
 ASP.NET 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, Grunt e
Bower
 Reusabilidade com View Components
 Simplificando a codificação de Views com Tag Helpers
 Melhoramentos na IDE (debug de expressões lambda, IntelliTest,
NuGet reformulado, dentre outras funcionalidades) → Release
Candidate (versão mais atual - Junho/2015)
 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
 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
implementação de um projeto 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, Grunt e Bower
 View Components
 Tag Helpers
 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
 Templates disponíveis:
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
 A indicação de quais componentes serão utilizados
acontece nos métodos ConfigureServices e Configure da
classe Startup (um equivalente do antigo Global.asax)
 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.ConfigurationModel) 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)
 Grunt → 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 Grunt 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 ainda não instalado
 Acessando o Task Runner Explorer
 Executando as tarefas para a ferramenta Bower
 Resultado da execução das tarefas no Task Runner Explorer
 Plugin Open Weather já instalado
 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
 Exemplo – View Component assíncrono
 Exemplo – Arquivo Default.cshtml (View Component assíncrono)
 Exemplo – Consumindo o View Component assíncrono
 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 – Ativando o uso de Tag Helpers (NuGet)
 Exemplo – Selecionando o package necessário
 Exemplo – Package Microsoft.AspNet.Mvc.TagHelpers instalado
 Exemplo – Modificando a View _ViewStart.cshtml para possibilitar o
uso de Tag Helpers (cláusula @addtaghelper)
 Exemplo – Utilizando uma Tag Helper em uma View
Dúvidas, sugestões???
 ASP.NET 5 Documentation
http://docs.asp.net/en/latest/
 Gerenciando bibliotecas de scripts no Visual Studio 2015
http://www.devmedia.com.br/gerenciando-bibliotecas-de-scripts-no-visual-studio-
2015/31869
 O novo mecanismo de Cache do ASP.NET 5
http://netcoders.com.br/blog/asp-net-5-cache/
 O novo mecanismo de Injeção de Dependências do ASP.NET 5
http://netcoders.com.br/blog/asp-net-5-injecao-dependencias/
 Visual Studio 2015: Implementando uma aplicação ASP.NET MVC 6
http://www.devmedia.com.br/visual-studio-2015-implementando-uma-aplicacao-asp-net-
mvc-6/32265
 Visual Studio 2015: Implementando uma aplicação Web API
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/30528.visual-studio-2015-
implementando-uma-aplicacao-web-api.aspx
 Visual Studio Code: criando um projeto MVC 6
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/30967.visual-studio-code-
criando-um-projeto-mvc-6.aspx
Obrigado!!!

Mais conteúdo relacionado

PPTX
ASP.NET 5, MVC 6 e além
PPTX
O Futuro do ASP.NET
PDF
PPTX
Novidades do ASP.NET 5.X
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PPSX
Comunicação em Tempo Real com ASP.Net SignalR
PDF
ASP.NET vNext – MVC6
PPTX
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
ASP.NET 5, MVC 6 e além
O Futuro do ASP.NET
Novidades do ASP.NET 5.X
Futuro do ASP.NET vNext - MVP ShowCast
Comunicação em Tempo Real com ASP.Net SignalR
ASP.NET vNext – MVC6
Construindo aplicações leves e performáticas com ASP.NET Core 1.0

Mais procurados (20)

PPTX
Performance do ASP.NET Core, um comparativo com Node.js
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
PPTX
Middlewares ASP.NET
PPTX
Campus Party 2014 - Desenvolvimento Web com ASP.NET
PPTX
Criar um sistema com asp net
PPTX
Docker para devs .NET
PPTX
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
PPTX
ASP .NET Core MVC
PDF
Sistema S2DG e Tecnologias Web
PPTX
ASP.NET Web Forms X ASP.NET MVC
PPTX
Escalabilidade com docker - ASP.NET Conference 2016
PPTX
Asp.net core
PPTX
Angular 2, TypeScript e Além
PPTX
Bibliotecas de interface rica no jsf 2
PDF
Asp.Net Core - Meetup BH
PPTX
.NET Core Internals. O que é o .NET Platform Standard?
PDF
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
PDF
.NET 6: O que há de novo e o que está por vir?
PDF
Começando com meteor
PDF
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Performance do ASP.NET Core, um comparativo com Node.js
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Middlewares ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Criar um sistema com asp net
Docker para devs .NET
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
ASP .NET Core MVC
Sistema S2DG e Tecnologias Web
ASP.NET Web Forms X ASP.NET MVC
Escalabilidade com docker - ASP.NET Conference 2016
Asp.net core
Angular 2, TypeScript e Além
Bibliotecas de interface rica no jsf 2
Asp.Net Core - Meetup BH
.NET Core Internals. O que é o .NET Platform Standard?
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
.NET 6: O que há de novo e o que está por vir?
Começando com meteor
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Anúncio

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

PPTX
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
PPTX
Gradle spring-hateoas-Lombok
PDF
Fundamentos do asp.net
PPTX
BDD (Behavior-Driven Development) - Setembro/2015
PDF
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
PPTX
BDD (Behavior-Driven Development)
PPT
ODP
ASP.NET e Visual Studio 2010
PPTX
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
PPTX
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
PDF
Introdução à Programação Web com Angular
PPTX
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
PDF
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
PDF
Aula 1 ASP.NET Core com arquitetura MVC
PPTX
Treinamento Básico Sobre ASP.NET MVC
PDF
Docker com ASP.NET Core e Hospedagem no Azure
PDF
Visual basic apostila up vb6 para vbnet
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
PDF
Dev401 novos recursos do microsoft visual basic 2010
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
Gradle spring-hateoas-Lombok
Fundamentos do asp.net
BDD (Behavior-Driven Development) - Setembro/2015
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
BDD (Behavior-Driven Development)
ASP.NET e Visual Studio 2010
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Introdução à Programação Web com Angular
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Aula 1 ASP.NET Core com arquitetura MVC
Treinamento Básico Sobre ASP.NET MVC
Docker com ASP.NET Core e Hospedagem no Azure
Visual basic apostila up vb6 para vbnet
Desenvolvimento web com .NET Core - Meetup São Carlos
Dev401 novos recursos do microsoft visual basic 2010
Anúncio

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

Último (7)

DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Dos requisitos ao código: como criar código rastreável em PHP
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
apresentacao introducao computacao ead.pdf
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
Curso de Windows 11 resumido na prática.pptx
Dos requisitos ao código: como criar código rastreável em PHP
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
apresentacao introducao computacao ead.pdf

ASP.NET 5 - Novidades do Desenvolvimento Web em .NET

  • 2.  Mais de 15 anos de experiência na área de Tecnologia  Pós-graduação em Engenharia de Software – ênfase em SOA  Cursando MBA em Business Intelligence (FIAP)  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.  Visual Studio 2015 Release Candidate  ASP.NET 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, Grunt e Bower  Reusabilidade com View Components  Simplificando a codificação de Views com Tag Helpers
  • 6.  Melhoramentos na IDE (debug de expressões lambda, IntelliTest, NuGet reformulado, dentre outras funcionalidades) → Release Candidate (versão mais atual - Junho/2015)  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
  • 7.  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
  • 8.  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 implementação de um projeto 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
  • 9.  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, Grunt e Bower  View Components  Tag Helpers
  • 10.  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
  • 11.  Visual Studio Code → editor de código que representa uma alternativa para o desenvolvimento em Linux e Mac
  • 12.  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
  • 16.  A indicação de quais componentes serão utilizados acontece nos métodos ConfigureServices e Configure da classe Startup (um equivalente do antigo Global.asax)  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
  • 18.  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
  • 19.  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
  • 20.  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
  • 21.  Exemplo - Interfaces
  • 22.  Exemplo - Implementações
  • 23.  Exemplo – Definindo os mapeamentos no método ConfigureServices
  • 24.  Configurando as dependências em um Controller (construtor + atributo FromServices)
  • 25.  Configurando as dependências em uma View (cláusula @inject)
  • 26.  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.ConfigurationModel) 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
  • 27.  Exemplo – Configurando o uso de IConfiguration no método ConfigureServices
  • 28.  Exemplo – arquivo config.json com alguns itens de configuração
  • 29.  Exemplo - Utilizando IConfiguration em um Controller
  • 30.  Exemplo - Utilizando IConfiguration em uma View
  • 31.  Bower → gerenciador empregado na instalação e restauração de pacotes client-side (arquivos CSS e de scripts)  Grunt → 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 Grunt serão executadas
  • 32.  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
  • 33.  Arquivo bower.json → dependências de pacotes client-side controladas por meio da ferramenta Bower (exemplo de inclusão da biblioteca Open Weather)
  • 34.  Plugin Open Weather ainda não instalado
  • 35.  Acessando o Task Runner Explorer
  • 36.  Executando as tarefas para a ferramenta Bower
  • 37.  Resultado da execução das tarefas no Task Runner Explorer
  • 38.  Plugin Open Weather já instalado
  • 39.  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
  • 40.  Estrutura de um ViewComponent (classe na pasta Components + View Default.cshtml em ViewsSharedComponents)
  • 41.  Exemplo – Classe que implementa um View Component (derivada do tipo básico ViewComponent)
  • 42.  Exemplo – View Default.cshtml (parte das funcionalidades)
  • 43.  Exemplo – Consumindo o View Component ClimaCidade
  • 44.  Exemplo – View Component assíncrono
  • 45.  Exemplo – Arquivo Default.cshtml (View Component assíncrono)
  • 46.  Exemplo – Consumindo o View Component assíncrono
  • 47.  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
  • 48.  Exemplo – Ativando o uso de Tag Helpers (NuGet)
  • 49.  Exemplo – Selecionando o package necessário
  • 50.  Exemplo – Package Microsoft.AspNet.Mvc.TagHelpers instalado
  • 51.  Exemplo – Modificando a View _ViewStart.cshtml para possibilitar o uso de Tag Helpers (cláusula @addtaghelper)
  • 52.  Exemplo – Utilizando uma Tag Helper em uma View
  • 54.  ASP.NET 5 Documentation http://docs.asp.net/en/latest/  Gerenciando bibliotecas de scripts no Visual Studio 2015 http://www.devmedia.com.br/gerenciando-bibliotecas-de-scripts-no-visual-studio- 2015/31869  O novo mecanismo de Cache do ASP.NET 5 http://netcoders.com.br/blog/asp-net-5-cache/  O novo mecanismo de Injeção de Dependências do ASP.NET 5 http://netcoders.com.br/blog/asp-net-5-injecao-dependencias/  Visual Studio 2015: Implementando uma aplicação ASP.NET MVC 6 http://www.devmedia.com.br/visual-studio-2015-implementando-uma-aplicacao-asp-net- mvc-6/32265  Visual Studio 2015: Implementando uma aplicação Web API http://social.technet.microsoft.com/wiki/pt-br/contents/articles/30528.visual-studio-2015- implementando-uma-aplicacao-web-api.aspx  Visual Studio Code: criando um projeto MVC 6 http://social.technet.microsoft.com/wiki/pt-br/contents/articles/30967.visual-studio-code- criando-um-projeto-mvc-6.aspx