Back-End

1 abr, 2019

ASP .NET Core – 10 recursos que você tem que conhecer

Publicidade

Hoje vou apresentar 10 recursos importantes do ASP .NET Core que você tem que conhecer.

O ASP .NET Core já está caminhando para a versão 3.0 (atualmente em preview), introduzindo o suporte a aplicativos Windows desktop e C# 8.0, e se você ainda não conhece os recursos da ASP .NET Core, vou apresentar 10 recursos que você tem que conhecer que podem influenciar na sua decisão de migrar ou não para a plataforma.

Vamos lá

1. Suporte multiplataforma e suporte a contêiner

Com a introdução do .NET Core, agora você pode criar aplicativos ASP.NET e implantá-los no Windows, Linux e macOS. A Microsoft e a comunidade fizeram um grande esforço para tornar o Linux um cidadão de primeira classe para executar a ASP.NET.

Os contêineres são cada vez mais usados hoje em dia. Docker, Kuberenetes e outras tecnologias estão muito popularizadas e a ASP.NET Core permite que os desenvolvedores utilizem todas essas tecnologias e o Microsoft Azure ainda tem suporte para implantar seu aplicativo em contêineres e Kubernetes.

2. Alto desempenho

O desempenho muitas vezes é uma das características essenciais que um produto de software para web deve possuir.

Com a introdução da ASP.NET Core e do servidor Web Kestrel, a ASP.NET é apresentada como uma das estruturas de aplicativos da Web mais rápidas disponíveis.

O TechEmpower tem alguns benchmarks que você pode conferir:

O novo servidor web Kestrel foi redesenhado do zero para aproveitar os modelos de programação assíncrona, ser muito mais leve e rápido.

3. Programação Assíncrona via async/await

A ASP.NET tem excelente suporte para a utilização de padrões de programação assíncrona.

O Async agora é implementado em todas as classes comuns do .NET Framework e na maioria das bibliotecas de terceiros.

A maioria dos aplicativos modernos gasta a maior parte de seu tempo e ciclos de CPU aguardando consultas de banco de dados, chamadas de serviço da web e outras operações de E/S para serem concluídas.

Uma das razões pelas quais a ASP.NET Core é mais rápida é o uso extensivo de padrões assíncronos nas novas estruturas MVC e Kestrel.

4. Framework Unificado: MVC & Web API

Antes da ASP.NET Core, os desenvolvedores usavam os frameworks MVC e Web API.

O MVC foi feito sob medida para criar aplicativos da Web que serviam HTML. A API da Web foi projetada para criar serviços RESTful usando JSON ou XML.

Com o ASP.NET Core, o MVC e a Web API foram mesclados. Sempre houve muita sobreposição com as duas estruturas.

O MVC sempre pode retornar dados JSON em vez de HTML, e combiná-los foi uma boa jogada e simplifica o desenvolvimento.

Com a ASP.NET Core, temos as novas páginas do Razor – elas estendem a estrutura do MVC para permitir encapsular o controlador e modelar os aspectos de uma página junto com a ligação bidirecional. Esses recursos são uma espécie de substituto para o WebForms ao usar a sintaxe do Razor.

5. Vários ambientes e modo de desenvolvimento

O novo recurso de ambiente (environment) permite que você diferencie facilmente partes do seu código para seu comportamento em desenvolvimento, teste, produção, etc. Não havia uma maneira padrão de fazer isso antes da ASP.NET Core.

Ele é usado em seu arquivo Startup.cs para ajudar a configurar seu aplicativo. Neste caso, se quisermos ou não mostrar uma página de exceção mais detalhada apenas para desenvolvimento.

Ambientes são perfeitos para usar diferentes arquivos CSS ou JavaScript. Use seu CDN em produção, mas arquivos locais durante o desenvolvimento.

6. Injeção de Dependência

Um dos grandes novos recursos do ASP.NET Core é a injeção de dependência. Agora ela é nativa e é muito usada na própria ASP.NET MVC.

Usar a injeção de dependência é a maneira preferida de passar contextos de registro, contextos de banco de dados e outras coisas para os controladores MVC.

7. Aplicativos da Web self-hosted (“auto-hospedados”)

Às vezes você precisa criar um aplicativo Web que será implantado em uma área de trabalho e não em um servidor que esteja executando o IIS.

Você pode criar um aplicativo Web usando o ASP.NET auto-hospedado de várias maneiras diferentes. No .NET 4.5, você poderia usar o Owin, Nancy ou WCF.

Com a ASP.NET Core, você também pode usar o servidor web padrão do Kestrel. Uma das grandes vantagens do .NET Core é que seu aplicativo da Web é essencialmente um aplicativo de console.

O IIS apenas fica na frente dele como um proxy reverso. Isso significa que você também pode implantar seu aplicativo apenas com o Kestrel para casos de uso não baseados em servidor, como Prefix.

8. Filtros de ação

Um dos grandes recursos da ASP.NET é o suporte para filtros extensíveis. Isso permite implementar a funcionalidade que pode ser aplicada a um controlador ou ação inteira sem modificar a ação em si.

Os filtros são usados para especificar armazenamento em cache, tratamento de erros, autorização, ou qualquer lógica customizada que você gostaria de implementar.

9. Globalização e localização

A ASP.NET facilita a localização de datas, números e texto em seu aplicativo web. Se você quiser que seu aplicativo seja usado em todo o mundo, a localização será muito importante pra você.

A ASP.NET permite personalizar seu aplicativo para vários idiomas por meio de arquivos de recursos.

Esses arquivos de recursos são considerados como o repositório central em que todos os textos são mantidos, e as páginas da Web podem ler esse arquivo de recursos e obter rótulos preenchidos.

Existem dois tipos de recursos:

  • Recursos locais: específicos para uma página (ou seja, haverá um arquivo de recurso local para cada página)
  • Recursos globais: comuns para todo o site (ou seja, um arquivo de recurso acessado por todas as páginas)

10. Proteção contra falsificação de solicitações entre sites (CSRF)

A segurança é importante – também é um recurso que pode ser muito trabalhoso para implementar e prevenir certos tipos de ataques. O CSRF está referindo-se ao sequestro de sessão autenticada de usuários para executar uma ação que eles não iniciaram.

A ASP.NET tem recursos disponíveis para evitar esses tipos de ataques – ele gera tokens anti-falsificação.

Esses são apenas 10 recursos que foram destacados com o objetivo de mostrar que a ASP .NET Core é um framework robusto, rápido e multiplataforma, que se destaca entre os frameworks para desenvolvimento web.