Announcements from .NET Conf: Focus on Blazor
Tags: blazor
Published: 2020-01-24 21:04:34

---
title: Announcements from .NET Conf: Focus on Blazor
published: true
date: 2020-01-15 03:41:28 UTC
tags: Blazor
canonical_url: https://gunnarpeipman.com/focus-on-blazor-announcements/
---

Microsoft made very interesting announcements at [.NET Conf: Focus on Blazor online conference](https://focus.dotnetconf.net/ ".NET Conf: Focus on Blazor"). There are many great things are happening and Blazor is also making a fast progress on finding its way to mobile and desktop. Here’s the short overview of what’s happening and what’s coming next.

### Blazor WebAssembly new features for May

Features of Blazor WebAssembly (aka client-side Blazor until now) were announced by Dan Roth:

- Runs on .NET Core 3.1 and is compatible with .NET Standard 2.1
- Blazor packages will be versioned as 3.2 because they are not part of .NET Core 3.1 (LTS)
- WebSockets and SingalR client
- Support debugging in Visual Studio and browser dev tools
- Automatic rebuild when something changes
- Intermediate Language (IL) trimming
- Brotli compression (already supported by ASP.NET Core)
- Static web assets integration
- Authentication options
- Localization

### Experimental Blazor projects

Dan Roth also announced some interesting experimental Blazor projects.

- **Blazor + Electron** ([https://aka.ms/blazorelectron](https://aka.ms/blazorelectron))   
One option to build modern high-performance cross-platform desktop applications using Blazor, .NET and web technologies.
- **Blazor + WebWindow** ([https://aka.ms/webwindow](https://aka.ms/webwindow))   
Running Blazor cross-platform Blazor desktop applications without full weight of Electron. Uses WebView based on technologies and has smaller download size compared to Electron version of application.  
[![WebView hello, world application on Mac](https://static.gunnarpeipman.com/wp-content/uploads/2020/01/blazor-hello-macos_thumb.png "WebView hello, world application on Mac")](https://static.gunnarpeipman.com/wp-content/uploads/2020/01/blazor-hello-macos.png)  
_Image by Steven Sanderson ([Meet WebWindow, a cross-platform webview library for .NET Core](https://blog.stevensanderson.com/2019/11/18/2019-11-18-webwindow-a-cross-platform-webview-for-dotnet-core/ "Meet WebWindow, a cross-platform webview library for .NET Core"))  
 _  
- **Mobile Blazor Bindings** ([https://aka.ms/mobileblazorbindings](https://aka.ms/mobileblazorbindings))   
Build native mobile apps with Blazor using tools and technologies you know: Razor, C# and CSS. There will be rich set of native mobile components available and access to native API-s like GPS and Media. NuGet libraries are supported. More in ASP.NET Blog post [Announcing Experimental Mobile Blazor Bindings](https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/ "Announcing Experimental Mobile Blazor Bindings"). Also check out [Mobile Blazor Bindings documentation](https://docs.microsoft.com/en-us/mobile-blazor-bindings/ "Experimental Mobile Blazor Bindings documentation") to get started.

Exploring Blazor Hybrid scenarios is one of major themes for coming .NET 5.

### Testing comes to Blazor

There has been some on-going work to get testing to Blazor world. Last year, in the end of August, Steven Sanderson blogged about prototype level test tooling for Blazor: [Unit testing Blazor components – a prototype](https://blog.stevensanderson.com/2019/08/29/blazor-unit-testing-prototype/ "Unit testing Blazor components - a prototype"). Here’s the tweet by [Claudio Bernasconi](https://twitter.com/CHBernasconiC "Claudio Bernasconi @ Twitter") showing one Blazor test.

[![blazor-unit-test-tweet](https://static.gunnarpeipman.com/wp-content/uploads/2020/01/blazor-unit-test-tweet.png "blazor-unit-test-tweet")](https://twitter.com/CHBernasconiC/status/1217137394400612353)

Based on this early work Egil Hansen built [Blazor Components Testing Library](https://github.com/egil/razor-components-testing-library "Blazor Components Testing Library @ GitHub").

### Default Blazor WebAssembly download size

Steven Sanderson told about progress on Blazor assembly trimming to get smaller download size. Current default Blazor application is around 2MB. Blazor team has target of 1.5MB when Blazor WebAssembly is released at May.

![Current and planned default Blazor WebAssembly application size](https://static.gunnarpeipman.com/wp-content/uploads/2020/01/blazor-focus-webassembly-size.png "Current and planned default Blazor WebAssembly application size")

Assembly trimming is resource expensive and time consuming step. To avoid putting load to developer machines when building and testing applications, assembly trimming is moved to publishing phase. This is something that is not possible with JIT without losses on application loading time.

Videos of conference presentations should be shortly available here: [https://channel9.msdn.com/Events/dotnetConf/Focus-on-Blazor](https://channel9.msdn.com/Events/dotnetConf/Focus-on-Blazor "https://channel9.msdn.com/Events/dotnetConf/Focus-on-Blazor") 

> Check out if [Carl Franklin’s Blazor Roadshow](http://blazorroadshow.com/ "Carl Franklin’s Blazor Roadshow") is happening somewhere near you. Dates in Europe and Canada will posted later. US dudes can make their plans already now. Event is free but be aware – the number of seats may be limited!

The post [Announcements from .NET Conf: Focus on Blazor](https://gunnarpeipman.com/focus-on-blazor-announcements/) appeared first on [Gunnar Peipman - Programming Blog](https://gunnarpeipman.com).