MSP Tech Days
SPA além do
Javascript com
Blazor
Gustavo Bigardi
Desenvolvedor
.NET
Java, GoLang, JS
e outras artes
ocultas
https://about.me/gbb
SPA?
?
Single Page Application
 SPA é uma forma de construir aplicações Web onde
temos mais código relacionado a interface feito para o
cliente que no servidor, normalmente usando JavaScript
 O servidor tem como maior responsabilidade fornecer
dados apenas, para que o cliente consuma
Single Page Application
 A navegação entre telas não necessariamente irá exigir
alguma resposta do servidor, apenas caso necessite de
mais dados, pois é feita toda no cliente.
 Com isso, temos apenas um carregamento maior no
início, quando acessamos a aplicação, e demais
carregamentos são apenas dados.
Frameworks conhecidos
 Angular
 React
 Vue.js
 Até mesmo jQuery pode ser utilizado…
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
https://bit.ly/2NW1UCZ
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
https://github.com/gustavobigardi/demo-blazor-msp-tech-days
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 Express
Repositório Oficial
https://github.com/aspnet/Blazor
Documentação Oficial
https://blazor.net/docs/index.html
Documentação Extra
https://learn-blazor.com/
Documentação Extra
https://www.linkedin.com/learning/blazor-first-look
Série sobre Blazor no Medium
https://bit.ly/2xtSkO3
Gustavo Bigardi
Desenvolvedor
.NET
Java, GoLang, JS
https://about.me/gbb
igardi/
Dúvidas?
Obrigado!

MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor