Msbuild2018 Microsoft .NET SignalR

My Microsoft Build 2018 notes

In this post, I will share my Microsoft Build 2018 session notes of these three days. I will not cover all sessions which is impossible because there are 350+ sessions but, you can watch them all here [https://www.youtube.com/playlist?list=PLlrxD0HtieHg7uB3_amVXvaRgxIcXLtYD]. If you wonder what is

5 min read
My Microsoft Build 2018 notes

In this post, I will share my Microsoft Build 2018 session notes of these three days. I will not cover all sessions which is impossible because there are 350+ sessions but, you can watch them all here.

If you wonder what is Microsoft Build? Microsoft Build is the Microsoft developers conference where they give you a roadmap of all new technologies, tools, and strategies. There are not only many sessions (350) and workshops but, you can also talk to Microsoft employees. Every question, problem or thought you have on a Microsoft product, tool or framework you can discuss with them. I discovered a couple of products I didn't know like Azure Stack or Azure Blockchain. If you ever have the chance to go, don't hesitate, you won't regret it.

What's new in Web Development with ASP.NET CORE 2.1

In this talk, I saw a lot of new features for ASP.NET Core 2.1. One of the most significant changes is that projects are now running in HTTPS by default. As a developer, the framework will provide you with a developer certificate you can use when developing. For your production environment, you still need to have your own.

The certificate will be installed when you create a new project for the first time. Once installed you only need to trust the certificate by using dev certs tool. Note that this tool only works on Windows and Mac and not on Linux. The reason is that it's harder on Linux because different distros have different ways on how they handle certificates.
There is also support for HTTP Strict Transport Security(HSTS) and Server Name Indication (SNI).

In the wake of the GDPR, the framework provides you with some nice features. Users will be able to download their identity data. There is support for Cookie Consent. No longer do you have to write this but it comes out of the box.

In version 2.1 Razor class libraries are introduced. With this feature, you can create reusable Razor UI components. You can ship a Razor UI component, which can contain a razor view and controller, as a NuGet package. An example of Razor UI Component is the new ASP.NET Core Identity UI. Note that it's not necessary to use NuGet, but you can also ship it as a reusable class library.

One of the things about which little was said is Blazor, what I expected because at the moment Blazor is still an experiment. I hope to hear much more next year. If you haven't heard about Blazor: Blazor is a .NET web framework that uses C#, Razor, and HTML to run native applications in the browser with WebAssembly. Blazor looks promising, but at this point, it's still in an experimental phase.

ASP.NET Core 2.1 is available .

Meet the new stack for real-time web communication: ASP.NET Core SignalR

In this presentation, they talked about some new features for SignalR. But let's recap: what is SignalR? SignalR is a framework that you can use to send real-time messages to multiple clients. For example, you have a chatroom and every time a new guest enters the room you get a notification on your screen. You will probably use SignalR to send the actual chat messages. I heard that SignalR is also used in Microsoft Office Products when you are co-editing a document to see the edits of your colleague in real-time.

What are some of the new features? The most important feature is the better performance. One of the reasons that previous versions were slow was that the discovering of routes was implicit. In the new version, you need to explicitly configure the routes to the hubs. You also get better performance if you use MessagePack instead of JSON. In the new release, they also removed the jQuery dependency.

During the presentation they made two significant announcements:

Project Bedrock is a new high-performance networking abstract for .NET. What does this mean? Well, the team started to decouple different components of Kestrel so that you can use them in a non-HTTP networking stack. Sounds too abstract? Think about using ASP.NET beyond HTTP or using SignalR over TCP/IP. You could use SignalR in nonweb applications like WinForms or WPF. The project is still in the early phase, so I hope to see more next year or the coming months.

Azure SignalR Services is an Azure service that lets you run SignalR in the cloud without the hassle of setting it up. The biggest problem with SignalR is when you need to scale to thousands of clients. Scaling at this level can become complicated, and this service can help you. At the moment of writing, this service is still in preview but from what I saw it's relatively easy to set up.

Link to the slides

Link to the presentation

Microsoft AI overview for developers

This talk was aimed to give developers an overview of the Microsoft AI capabilities. Developers today need to know how to build a bot or what you can do with cognitive services. AI and machine learning will become more and more critical in the future. If you are new to these concepts, you should look at the presentation which gives you an excellent overview of what is possible today with AI and Machine Learning in the Microsoft world.

The presentation also has a great demo where the presenter, Dr. Harry Shum, has a conversation with Brian Trager, who is deaf, speaking English while Dr. Shum speaks Chinese. This conversation is shown in real-time, including translations, on the screen. This demo shows the potential of using these technologies in real life situations.

During the presentation, they made the announcement of ML.NET which is a machine learning framework for .NET you can use to create your machine learning models.
Microsoft already has Cognitive Services which you can include in your applications to make them more intelligent. The difference is that Cognitive Services uses prebuild models. You can customize these prebuild models, but ML.NET takes customizing machine learning models to the next level. There was a presentation on ML.NET of which I have put the link at the bottom.

Link to the presentation

Link to the ML.NET presentation

Visual Studio Live Share

One of the things I am excited about is Visual Studio Live Share. Gone are the days that you need to share your screen with Skype or any other instant messaging product.
Now, what is Visual Studio Live Share? Imagine you're stuck with a code problem and you need the assistance of a colleague. Well, you can share your view with your colleague by using Visual Studio Live Share by generating a link and sending it to your colleague. Your colleague opens the link, and now he can see your code. From that moment you can start following your colleague or start editing code. But Thomas, what is the difference between using Skype? Well, for first VSLS is built with collaboration in mind and how to improve this between developers.

VSLS has a couple of nice features:

The plugin comes for Visual Studio and Visual Studio Code and is in public preview. You can install the plugin by searching Visual Studio marketplace.

You can find more information here.

Conclusion

As this was my first Microsoft Build, I must say there is a lot of information you need to process. Microsoft Build has 350+ sessions on various topics, so you have to choose wisely.

In this post, I only scratched the surface of all these new bits. The coming months I am going to write more in-depth about the things I saw. I hope you enjoyed reading this post.

Here is a list of talks I saw but didn't cover in the post:

Share This Post