.NET Conf
2018
Blazor –
Utilizando C#
no Browser
Gustavo Bigardi
Desenvolvedor
.NET
Java, GoLang, JS
https://about.me/gbb
igardi/
Blazor?
?
Mais um...............
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
apenas Javascript
 Blazor: Browser + Razor
Blazor
 O Blazor é executado no browser através da
tecnologia WebAssembly, o que é um de seus
maiores diferenciais!
AVISO!
Experimental!
 O Blazor ainda é um projeto em fase experimental, ou
seja, não possui suporte ou mesmo garantia de
continuidade pela Microsoft.
 O projeto é open-source, disponível no GitHub. Quanto
mais participação houver, maiores as chances de se
tornar um projeto oficial.
WebAssembly?
?
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.
WebAssembly
 Encontra-se sob responsabilidade do W3C e já é suportado
pela maioria dos browsers modernos.
 É 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.
Por que usar .NET no browser?
Javascript...
C#
everywhere!
Arquitetura
do Blazor
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
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 para
o Angular e React, já
consolidados no mercado
Sua arquitetura ainda depende
do JS para acesso ao DOM, o
que acaba tornando o Blazor
ainda mais lento que o JS, pelo
menos na versão atual
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
DEMO
DEMO
• Visual Studio 2017 – 15.8.0 (!!!)
• ASP.NET / .NET Core 2.1.400 (Apenas com o VS 15.8.0), mas
pode ser utilizada a versão 2.1.300 ou superior
• Plugin VS – ASP.NET Core Blazor Language Services
• SQL Server - Azure
DEMO
https://github.com/gustavobigardi/demo-blazor-coding-night
Documentação Oficial
https://blazor.net/docs/index.html
Repositório Oficial
https://github.com/aspnet/Blazor
Live no canal Coding Night
https://goo.gl/Cd4zYL
Gustavo Bigardi
Desenvolvedor
.NET
Java, GoLang, JS
https://about.me/gbb
igardi/
Dúvidas?
Obrigado!

.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers