A Microsoft deu mais um passo em direção às aplicações .NET rodando em browser, ela adotou o framework para web UI Blazor de seu criador Steve Sanderson. Com isso, a Microsoft acrescenta outra peça na pilha do WebAssembly/.NET, fornecendo uma ordem maior de abstração para construir apps baseados em browser.
Em um post, Dan Roth disse que o Blazor é um "novo experimento" que permite aos desenvolvedores .NET construir single-page applications para navegadores. Essa notícia pode ser um pouco confusa, pois o Blazor foi criado inicialmente por Steve Anderson, engenheiro da Microsoft e foi lançado em uma demo em 2017. A mudança é que o projeto é agora oficialmente parte do ASP.NET, ao invés de um projeto pessoal. Em um post em seu blog Sanderson deu um pouco mais desse contexto:
Hoje a equipe do ASP.NET anunciou que o Blazor entrou na organização do ASP.NET, e entramos numa fase experimental para ver como conseguimos desenvolvê-lo e entregá-lo como um produto.
Sanderson disse que o Blazor é inspirado em frameworks JavaScript como o React, o Vue e o Angular, mas combinado a tecnologias familiares a um desenvolvedor ASP.NET.
O Blazor terá um conjunto de recursos similar a outros frameworks de aplicação web como a modelagem de componentes, roteamento, e interoperabilidade JavaScript. Os componentes, por exemplo, podem ser feitos com classes C# ou páginas Razor. O roteamento e os layouts são geralmente recursos essenciais de um framework web, mas opcionais, um porém para manter o tamanho da carga o menor possível.
O ecossistema JavaScript é grande e tem diversas bibliotecas das quais os desenvolvedores dependem. Sanderson diz que sua equipe está verificando se podem usar arquivos de definições existentes do TypeScript para fornecer ferramentas de suporte a chamadas de código C#.
O projeto Blazor é construído sobre o que foi feito pela equipe do Mono para compilar C# para WebAssembly. Esse trabalho está em um nível menor e não fornece qualquer framework para desenvolver aplicações web típicas, é puramente o .NET rodando em browser.
A mudança para a equipe do ASP.NET significa que o projeto terá mais recursos para crescer em um ritmo mais rápido, porém ainda é cedo para anunciar que o projeto se tornará um produto.
Durante essa fase experimental, esperamos nos engajar profundamente com os early adopters do Blazor para ouvir seus feedbacks e sugestões. Esse tempo permitirá a resolução de problemas técnicos associados a rodar .NET no browser e assegurar que podemos construir algo que os desenvolvedores gostem e os tornem produtivos.
O WebAssembly é um formato binário para dar aos desenvolvedores web performance quase nativa em um browser, sem a necessidade de converter e interpretar JavaScript. Ele é agora suportado em todos os grandes browsers.