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