Blazor -  Vale a pena usar o Blazor ?


Hoje veremos algumas considerações sobre a utilização do Blazor em produção. Vale a pena usar o Blazor ?

Vou começar este artigo listando algumas perguntas e afirmações mais freqüentes relacionadas ao Blazor...

Is blazor ready for production ?
Pros and cons of Blazor for web development.
Will Blazor Save .NET Developers from 'the Insanity of JavaScript'?
Blazor: O Começo do Fim do Javascript ?
¿Javascript ha muerto? .NET Web Assembly con Blazor
Blazor is Worth Your Time

Assim, neste artigo eu vou apresentar a minha opinião pessoal sobre o assunto, que até o momento foi baseada parte em minha experiência com o Blazor, parte com base no relato de experiências de membros da comunidade.

Então vamos ao que interessa...

Nota: Se você não sabe o que é o Blazor leia os meus artigos : Blazor - O novo framework SPA da Microsoft - Macoratti e Blazor - Introdução - Macoratti.net.

Devo ou não devo usar o Blazor ?

A resposta é : Depende.

Mas depende do que ?

Depende de diversos fatores. Vejamos alguns....

Você acha que deve usar um framework SPA em todos os seu projetos web ?

Pelo menos até onde eu tenho vivenciado ninguém começa um projeto já estabelecendo que vai usar um framework x ou y.

Geralmente nos baseamos no documento de requisitos para elencar as funcionalidades e a partir deste ponto podemos começar a discussão sobre se precisamos usar um banco de dados, um framework, etc.

Vamos considerar aqui apenas aplicações web. Com isso em mente podemos dividir os projetos webs (para simplificar) em dois tipos de projetos :

Naturalmente em muitas aplicações existe uma mistura dos dois tipos de projetos apresentados pois no mundo real nada é tão simples.

Agora vamos ser sinceros, se você esta criando um projeto do tipo website, vai precisar usar um framework como React, Angular, Vue ou mesmo Blazor ? 

Eu acho que não. A ser que você deseja adicionar mais complexidade ao projeto.

Neste caso basta usar apenas a ASP .NET Core MVC considerando a plataforma .NET ou  Symfony, Laravel, Django, Ruby on Rails, etc.

Para uma aplicação web o uso de um framework como React, Angular e mesmo Blazor já se justifica

A síndrome do SilverLight

Muita, mas muita gente mesmo, apresenta a síndrome do SilverLight, como que insinuando que o destino do Blazor seria o mesmo que o do SilverLight.

Mas será mesmo ???

Vejamos...

O Silverlight era usado para criar a Interface do Usuário na web e isso ele tem em comum com o Blazor mas, para por ai, pelos seguints motivos:

- O Blazor usa a linguagem Razor, por isso usa padrões da Web para gerenciar componentes da interface do usuário: HTML, CSS, JS, WebAssembly, WebSocket…
- O Blazor é de código aberto;
- O Blazor não requer nenhuma configuração de segurança no cliente;
- O Blazor não requer nenhuma instalação de pacotes de terceiros no cliente;
- O Blazor não pode fazer nada no computador do usuário que JS ou WebAssembly não possa fazer;

Então nada a ver...

WebForms : A volta dos mortos vivos

Seria o Blazor o retorno do famigerado Web Forms ????

O WebForms foi usado para criar a interface do usuário nas aplicações Web, mas há muita diferença com o Blazor:

- O Blazor não cria uma abstração no HTML ou JS ou CSS produzido;
- Blazor é de código aberto;
- O Blazor do lado do cliente é executado no cliente;
- Não existe troca de estado entre cliente e servidor com o Blazor do lado do servidor, ou seja, não existe nada parecido com o ViewState;

Então nada a ver...

Falta alguma coisa no Blazor que outros Frameworks têm ?

Até o momento, o Blazor fornece todos os recursos necessários para a criação de um aplicativo completo: modelagem, formulários, rede, autenticação, autorização, bibliotecas etc., como em qualquer outro framework.

Se você for tentar usar o Blazor como usa o Angular vai ficar comparando os recursos que um possui e que o outro não possui. Se for usar o Blazor, leia a documentação e use os recursos da ferramenta.

Embora o Blazor exista há pouco tempo (não tem 2 anos ainda), você pode usar toda a biblioteca netstandard disponível no nuget.org para o seu projeto de front-end, e esse é um trunfo do Blazor.

Quando uma nova tecnologia surge, você precisa esperar um pouco até que haja um bom projeto da comunidade emergente ou até que as bibliotecas incluídas estejam estáveis. Este não é o caso do Blazor, pois a maior parte da Library da Classe Base é copiada do runtime do mono e a comunidade de código aberto produz ótimas bibliotecas.

Conclusão :  O Blazor é um ótimo framework que esta estável e possui todos os recursos para criar projetos completos, sendo parte do repositório ASP .NET Core e é liberado sobre a licença Apache 2.0.

Nota: O Blazor do lado do servidor esta liberado para produção o Blazor do lado do cliente esta em preview.

Naturalmente como uma ferramenta que acabou de sair da fase experimental, ela precisa evoluir em diversos aspectos, e isso é o que todos esperamos do time do Blazor.

E estamos conversados...

"Tendo sido, pois, justificados pela fé, temos paz com Deus, por nosso Senhor Jesus Cristo;
Pelo qual também temos entrada pela fé a esta graça, na qual estamos firmes, e nos gloriamos na esperança da glória de Deus."

Romanos 5:1,2

Referências:


José Carlos Macoratti