GUSTAVO BELLINI BIGARDI
JUNDEVELOPERS
GBBIGARDI@GMAIL.COM
SPAs com Blazor e .NET
core
#VSSUMMIT
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
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.
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.
DE OLHO NESSE
CARADEVS!
#VSSUMMIT
POR QUE USAR .NET NO
BROWSER?
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.
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.
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.
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.
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.
MINHASOPNIÕESSOBRE
OBLAZOR
#VSSUMMIT
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 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.
DEMO
#VSSUMMIT
 BLAZOR
 ASP.NET CORE
 VS CODE
GitHub: https://github.com/gustavobigardi/demo-blazor-aspnet-core
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.
DUVIDAS?
#VSSUMMIT
gbbigardi@gmail.com ou me procurem durante o evento.
Artigo em meu blog:
https://gbbigardi.com/2018/05/14/spas-com-blazor-e-asp-net-core/
MUITOOBRIGADO!
#VSSUMMIT

SPA's com Blazor e .NET Core

  • 1.
  • 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.
  • 5.
  • 6.
    POR QUE USAR.NET NO BROWSER?
  • 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 ODIFERENCIAL 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 todosos 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.
  • 12.
  • 13.
    PONTOS POSITIVOS  UtilizaWebAssembly.  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.
  • 15.
    DEMO #VSSUMMIT  BLAZOR  ASP.NETCORE  VS CODE GitHub: https://github.com/gustavobigardi/demo-blazor-aspnet-core
  • 16.
    FINALIZANDO  Temos umanova 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.
  • 17.
    DUVIDAS? #VSSUMMIT gbbigardi@gmail.com ou meprocurem durante o evento. Artigo em meu blog: https://gbbigardi.com/2018/05/14/spas-com-blazor-e-asp-net-core/
  • 18.