PARTICIPE DO DESAFIO MAY THE FOURTH



Blazor e o Futuro da Web

Recentemente publiquei meu primeiro conteúdo sobre Blazor, um vídeo onde mostro algumas funcionalidades básicas sobre o assunto em menos de 15 minutos.

Este vídeo provocou vários comentários e perguntas nas minhas redes sociais. Desde pessoas odiando a ideia, até pessoas querendo já colocar em produção (Ainda está em preview pessoal).
Este artigo é para falar sobre Blazor, WebAssembly e o que esta alternativa nos traz de benefícios.

JavaScript é ruim?

Todo mundo já fez alguma piadinha infame com o JavaScript, isto é fato, e outra realidade é que ele realmente não foi criado para ser o que é hoje. Em 1995 sua fundação era apenas para manipular alguns elementos na tela, e pronto.

Porém, indiscutivelmente ele é a linguagem mais utilizada no mundo, e enquanto um Dev Java/C#/PHP conhece JS por tabela, ao contrário o mesmo não acontece. Fora que aprender JS, para quem está começando é bem menos doloroso do que linguagens tipadas.

Pois bem, em meados de 2008, com a chegada do Chrome e do V8, uma engine criada pela Google para não apenas interpretar o JS, mas para transformá-lo em ByteCode, ter um Profiler e outros recursos que deram um gás no JS, tivemos nossa primeira grande mudança.

O JS evoluiu tanto desta época para cá, que o NodeJs por um bom tempo era mais rápido que .NET, PHP e Java. Me lembro que em 2012 quando comecei com Node, ele suportava MUITO MAIS requisições que estas outras linguagens, e era tudo JS.

Outra grande mudança que tivemos foram as SPAs, ao invés de processar tudo no servidor e trazer o HTML pronto, trazemos apenas os dados (JSON) e processamos mais coisas na tela.

Processar mais coisas no cliente significa mais uso do JS, mais processador e mais memória. O que eu particularmente acho que tivemos uma boa evolução também. Hoje tem Smartphones com 8GB de ram já.

Hoje falamos de PWAs, de aplicações com feeling nativo, de substituir Apps nativas por Apps Web, ou seja, ainda dá para dizer que JS é ruim?

O JS de hoje não é o mesmo de antigamente, sua especificação é atualizada frequentemente, recursos novos são adicionados todo ano e temos até um superset incrível para ele, o TypeScript.

Na minha humilde opinião, JS é a linguagem do presente e futuro sim, e é uma ótima linguagem mesmo com suas limitações.

Por que WebAssembly?

Mas se o JS é bom, por que precisamos do WebAssembly ou WASM? Bem, para responder está pergunta, precisamos antes entender o que é o WASM.

O WASM é a compilação do nosso App, apenas isto. Sabemos que linguagens interpretadas tendem a ser piores que as compiladas, então por que não compilar nossas Apps Web e executá-las como fazemos com as nativas?

Isto daria um ganho IMENSO de performance para aplicação, e uma redução significativa no tamanho dela, já que sairíamos de texto para binário.

Fora que por ser um IL, podemos escrever em outras linguagens como C, C++, C# e Rusty (As que conheço que suportam WASM hoje). Ou seja, é o mesmo processo que tínhamos com .NET antigamente, onde escrevíamos em VB ou C# e o IL compilava para a linguagem de máquina.

Então não vou mais usar JS?

Em um futuro, pode ser que você possa optar mais tranquilamente por outra linguagem sem ser o JS, porém hoje ainda tem muita coisa escrita em JS, e algumas limitações atuais no WASM que te farão escrever JS hora ou outra.

Outro ponto importante é que WASM não concorre com JS, podemos invocar métodos JS direto de aplicações escritas em outras linguagens podendo por exemplo ter ambas na mesma aplicação.

Eu também acredito que a comunidade JS é uma das mais fortes que temos, e vai durar um bom tempo, fora que o próprio JS evolui, cada ano a linguagem melhora.

Concorrência gera coisa boa

Por que falei de Blazor, WASM se defendo tanto o JS? Porque eu acredito que a concorrência faz as coisas melhorarem.

Nada como uma linguagem de peso como C# para dar aquele susto e fazer o JS evoluir para sua melhor versão.

Fora isto, eu acredito que o mercado é muito grande para ser dominado por apenas uma linguagem, um Stack, então quanto mais opções, melhor!

E o Blazor?

O Blazor é o projeto que compila WASM da Microsoft, utilizando C# como linguagem e possuindo duas formas de ser utilizado, via Client/Server com SignalR e via WASM.

O que estamos comparando aqui é sua versão WASM que ainda está em preview (Até a escrita deste artigo), e que me interessa mais.

O Blazor nada mais do que a possibilidade de criar aplicações utilizando puramente C# para Web, mesmo assim tendo que invocar Backend via HTTP e tudo mais. O modelo da aplicação não muda, todas as limitações que temos no Client continuam.

Isto é o futuro?

WASM com certeza! Já faz um tempo que dizemos que WebAssembly é o futuro da Web e que JS viraria uma linguagem de baixo nível para ele. Isto é indiscutível.

Agora em relação ao Blazor, tudo vai da adoção do mercado em relação a ele e do suporte WASM nos Browsers. Recentemente tivemos uma grande vitória com a adoção da Apple (Safari iOS -- https://caniuse.com/#feat=wasm ) dos WASM, mas ainda é cedo para dizer algo sobre.

Eu gravei um vídeo falando o que poderia acontecer de ruim com o Blazor. Embora seja um vídeo antigo e algumas coisas já tenham melhorado, ainda tem pontos de vista bem válidos nele.

Fonte:

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Me dedico ao desenvolvimento de software desde 2003, sendo minha maior especialidade o Desenvolvimento Web. Durante esta jornada pude trabalhar presencialmente aqui no Brasil e Estados Unidos, atender remotamente times da ?ndia, Inglaterra e Holanda, receber 8x Microsoft MVP e realizar diversas consultorias em empresas e projetos de todos os tamanhos.





2.651

Aulas disponíveis

249

horas de conteúdo

65.312

Alunos matriculados

46.228

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 19 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium semestral

Compra única, parcelada em até
12x no cartão de crédito


12x R$

49

,78

=R$ 597,36
  • 6 meses de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 59 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade

Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

84

,78

=R$ 1.017,36
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 59 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io