O documento apresenta o framework Blazor da Microsoft, que permite criar aplicações web single-page usando C# e Razor no lado do cliente, executando o código .NET diretamente no navegador via WebAssembly. O autor discute as vantagens do Blazor, como reaproveitamento de código backend e experiência familiar de desenvolvimento, mas também pontos desafios iniciais como ser novo e demandar adaptação para desenvolvedores JavaScript. Uma demonstração é apresentada.
2. OQUEÉBLAZOR?
Blazor é um framework Web baseado nas tecnologias Web já
existentes como HTML e CSS, mas utiliza C# e a sintaxe do
Razor, ao invés de JavaScript
Blazor: Browser + Razor
O nome é criativo, mas o que tem de inovação é mais ainda!
O Blazor roda no browser através da tecnologia WebAssembly,
o que é um de seus maiores diferenciais!
#VSSUMMIT
3. O QUE É WEBASSEMBLY?
Para quem não conhece o WebAssembly, é uma nova
tecnologia que tem indícios de ser o futuro da web.
É como se o Browser funcionasse como uma máquina
virtual, como o .NET ou JVM, que executa de forma nativa
um código binário (WASM), que é quase tão rápido como
código nativo e com performance superior ao JavaScript.
Encontra-se sob responsabilidade do W3C e já é suportado
pela maioria dos browsers modernos.
4. O QUE É WEBASSEMBLY?
É possível executar aplicações com OpenGL, Banco de dados,
além dos recursos já existentes como acesso a câmera,
microfone, localização, etc.
A engine Unreal 4 já foi portada para WebAssembly, assim
como o .NET Core está passando por essa portabilidade.
7. POR QUE USAR .NET NO
BROWSER?
O desenvolvimento Web evoluiu de muitas maneiras ao longo
dos anos, mas a construção de aplicativos web modernos
representa desafios. O uso de .NET no navegador oferece
muitas vantagens que podem ajudar a tornar o
desenvolvimento web mais fácil e produtivo.
8. POR QUE USAR .NET NO
BROWSER?
Escalável e consistente: .NET oferece APIs padrão, ferramentas
e infraestrutura de construção em todas as plataformas, que
são escaláveis, com diversos recursos e fáceis de usar.
Linguagens modernas: Linguagens .NET como C# e F# podem
ser utilizadas, tornando a programação mais fácil.
9. POR QUE USAR .NET NO BROSER?
Ferramentas líderes de mercado: A família de produtos do
Visual Studio oferece ferramentas para uma excelente
experiência de desenvolvimento, tanto em Windows como
Mac e Linux.
Rápido e escalável: o .NET possui um longo histórico onde
podemos ver o quão fácil é desenvolver aplicações que tenham
bom desempenho, segurança e confiabilidade. Usando o .NET
como Stack completo facilita ao evitar que tenhamos que
aprender N tecnologias diferentes para construir aplicações.
10. E QUAL O DIFERENCIAL DO
BLAZOR?
Ainda é um projeto experimental, recém anunciado pela
Microsoft, mas já encontra-se como parte do Stack do
ASP.NET.
Possui todas as funcionalidades conhecidas para SPA:
Utiliza conceito de Component Model.
Roteamento e Layouts.
Formulários e Validações.
Dependency Injection nativo.
Interoperabilidade com JavaScript.
11. FUTURO?
Enquanto todos os frameworks SPA do mercado são baseados
em JavaScript ou TypeScript, o Blazor entrega um código nativo
rodando em performance superior e com mais segurança.
Se escrever código em TypeScript é melhor pela tipagem forte,
imagine poder escrever sua aplicação inteira utilizando .NET
com C#?
Hoje o JavaScript é considerado o Assembly para web,
com a chegada do WebAssembly, isso muda, já que qualquer
linguagem pode se beneficiar do WebAssembly.
13. PONTOS POSITIVOS
Utiliza WebAssembly.
Todas as features de um SPA comum.
Permite reaproveitar todo conhecimento de backend em
C# e Views em Razor.
Curva de aprendizado para times que desejam entregar
aplicações SPA baseadas em uma arquitetura REST.
Server-side Rendering. (SEO!!!)
É .NET, um mesmo Stack para toda a aplicação.
14. PONTOS NEGATIVOS
Ainda é novo, experimental. Mesmo fazendo parte oficialmente
do stack do ASP.NET, ainda não temos certeza de seu futuro.
Por ser baseado em .NET, para desenvolvedores JS / TS,
apresenta uma curva de aprendizado maior, o que pode
diminuir a aderência ao seu uso, pelo menos no início.
Ainda não temos kits de componente prontos como temos par
o Angular e React, já consolidados no mercado.
Por ser experimental, ainda não contamos com documentação
e suporte da comunidade 100%, assim como tooling nas
ferramentas Visual Studio e Visual Studio Code.
16. FINALIZANDO
Temos uma nova tecnologia, ainda experimental, mas que tem
grandes possibilidades de revolucionar como densenvolvemos
aplicações para Web.
O único ponto que não muda daqui para frente é: O Blazor
é baseado em .NET. Da mesma forma que um desenvolvedor
front-end pode alternar entre React e VueJS apenas se
adaptando a particularidades dos frameworks, o mesmo não
acontecerá com o Blazor, o que pode ser um empecilho.
De outro lado, desenvolvedores back-end tendem a se
adaptar de forma mais rápida e com maior facilidade.