Continuing through the most important talks at Build I have come to the .NET overview and roadmap talk with the two Scotts, Hanselman and Hunter. They had a good combination of things I heard was coming, but also completely new stuff. It was well known that they are working on SignalR for .NET core, and one of the first demoes was running a SignalR app via Azure, which was really cool, and makes using and scaling SignalR a lot easier.
One of my favorite demoes came next with a “browser” you can choose when running your WebAPI app, called Http. This opens a command line, where you can type ls to see the routes exposed by the app, and then simply write the routes out that you want to call. Very nice, and something that I am definitely missing today, where the experience doing this through a regular browser or using postman is less than optimal.
Moving on to .NET core 2.1 the Scotts showed a ClientFactory for unit tests, that makes it easy to run your application, and test routes. This has existed forever with NancyFx, so I am really glad to see Microsoft bringing a similar experience to ASP.NET. Now all I am missing is property based testing and UI testing tooling, which are both still pretty bad for .NET sadly.
Looking further ahead to .NET Core, they revealed that Winforms and WPF will be supported on .NET Core. A feature that was demoed along side that is the ability to bundle .NET Core apps, into a single, small, pre-compiled exe. This is another huge deal. Making small tools and distributing them is weirdly complicated today, so getting back to a place where you can give someone an exe is awesome.
Decompilation is also coming and was demoed where they F11 and move into code from a nuget package. This is another big boost for investigative work, so we can avoid separate tools where you don’t get the editor you are used to.
Codefixes across project or entire solution, based on rules set up in editor config was the next demo. An obvious missing feature, but also one of those that are kind of scary to see in real life and on real big code bases. All in all it is always nice to see the tooling improve, and especially the promise of having changes work in razor files and the like is something I think all working with these technologies have been missing.
.NET running in the browser in webassembly known as Blazor was the last demo. It is really interesting to see this work, but it is also one of those areas where my age comes into play, because I can't help but be skeptical that this will be adopted. That being said, it blows my mind that they are able to do this, and Scott is very honest about this being something they are playing with.