asp.net 5 - novidades do desenvolvimento web em .net (agosto/2015)

Post on 17-Aug-2015

369 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Renato GroffeAgosto/2015

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

Contatos Página no Facebook

https://www.facebook.com/RenatoGroffeSW

Perfil no Facebookhttps://www.facebook.com/renatogroff

LinkedInhttp://br.linkedin.com/in/renatogroffe

Recursos Utilizados 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

Agenda

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

ASP.NET 5 Roadmap

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

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

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

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

ASP.NET 5 – Desenvolvimento Multiplataforma

Visual Studio Code → editor de código que representa uma alternativa para o desenvolvimento em Linux e Mac

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

ASP.NET 5 – Novos Tipos de Projetos

ASP.NET 5 – Novos Tipos de Projetos

Templates disponíveis:

ASP.NET 5 – Estrutura Básica de um Projeto

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

ASP.NET 5 – Arquitetura Modular Exemplo

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

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

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

ASP.NET 5 – Injeção de Dependências

Exemplo - Interfaces

ASP.NET 5 – Injeção de Dependências

Exemplo - Implementações

ASP.NET 5 – Injeção de Dependências

Exemplo – Definindo os mapeamentos no método ConfigureServices

ASP.NET 5 – Injeção de Dependências

Configurando as dependências em um Controller (construtor + atributo FromServices)

ASP.NET 5 – Injeção de Dependências

Configurando as dependências em uma View (cláusula @inject)

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

ASP.NET 5 – Itens de configuração Exemplo – Configurando o uso de IConfiguration no método ConfigureServices

ASP.NET 5 – Itens de configuração Exemplo – arquivo config.json com alguns itens de configuração

ASP.NET 5 – Itens de configuração

Exemplo - Utilizando IConfiguration em um Controller

ASP.NET 5 – Itens de configuração

Exemplo - Utilizando IConfiguration em uma View

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

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

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)

ASP.NET 5 – Gerenciamento de pacotes client-side com npm, Gulp e Bower

Plugin Open Weather incluído no projeto

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

ASP.NET 5 – Reusabilidade com View Components

Estrutura de um ViewComponent (classe na pasta Components + View Default.cshtml em \Views\Shared\Components)

ASP.NET 5 – Reusabilidade com View Components

Exemplo – Classe que implementa um View Component (derivada do tipo básico ViewComponent)

ASP.NET 5 – Reusabilidade com View Components

Exemplo – View Default.cshtml (parte das funcionalidades)

ASP.NET 5 – Reusabilidade com View Components

Exemplo – Consumindo o View Component ClimaCidade

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

ASP.NET 5 – Tag Helpers

Exemplo – Utilizando uma Tag Helper em uma View

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

ASP.NET 5 – Cache

Interface IMemoryCache – configurando a utilização

ASP.NET 5 – Cache

Interface IMemoryCache – manipulando cache

ASP.NET 5 – Cache

A tag cache em Views MVC 6

ASP.NET 5 – Cache

O atributo ResponseCache vinculado a uma Action

Dúvidas, sugestões???

Obrigado!!!

top related