What is new from BUILD 2020 in Azure, .NET & Tooling
May is a hot month for .NET developers and Microsoft fans because of Microsoft BUILD conference. As in previous years Microsoft brings us many new products, improvements for existing one and some doze of innovation. This year Microsoft maintained the standard and we saw many new announcements.
But BUILD 2020 is a little different than previous editions because whole conference is 100% online event. This allow me to watch whole event and select some interesting topics for me personally and things which we look carefully in Altkom Software & Consulting.
Azure
Static Web Apps
Most modern application are based on JavaScript frameworks like Angular, React, Vue or are build using static site generators like Hugo, Gatsby. In mean time if we need to choose hosting option in Azure, we take Blob Storage or App Service currently this change with dedicated service Static Web Apps.
Static Web Apps are currently in public preview and we hope will be released in next few months as GA. Under the hood they are based on App Service and have built in feature for serverless API (JavaScript or TypeScript only for now).
In our opinion, it is quite an interesting direction and we will observe such changes in Azure. If you would like to read more about Static Web Apps here is the link to the documentation.
Azure Cosmos DB Serverless
A new billing plan is introduced into Azure Cosmos DB. Till today cost estimation of Cosmos database was a kind of magic with divination from coffee grounds but now it changes. A new serverless billing mode is introduced for workloads where we are unable to predict traffic.
According to Microsoft Build 2020 Book of News
This new model offers per-operation compute pricing ideal for noncritical, intermittent and small workloads with moderate performance requirements. Consumption-based pricing bills customers for the total resources (request units) used for each discrete database operation.
Cosmos DB Serverless is currently in private preview and will be released as public preview in next couple of months.
.NET
C# 9.0
Recently C# 8.0 was released and now we have preview of C# 9.0.
Does numbers go so fast so to summarize what interesting is coming to new version of C# we would like to select most interesting “new” features.
One of key changes coming in C# 9.0 is type initialization and immutability features like Init-only properties, Records and with expression allow us to create better code with immutable data. Also, as .NET developers with spend many times with comparisons and write the same boilerplate code to compare two objects. Here is coming Value-based equality in other words there will be no need to write equal to compare ex. First name it will be done automatically.
We can event create simpler “Hello World” application just typing
using System;
Console.WriteLine("Hello World!");
News about C# 9.0 can take whole article so if want to know more go to already mentioned blog post about.
Blazor Web assembly
Finally, Blazor Web assembly is production ready so we as .NET developers can start to develop SPA applications using our main skills like .NET and C#. The main benefit is for teams without JavaScript skills of course this is connected strictly with modern web browsers which support Web assembly.
If you would like to know more please go to link.
Microsoft intensively develops idea of .NET everywhere, so MAUI is introduced.
MAUI
MAUI is an evolution of Xamarin.Forms which was intensively developed during last several years. Many missing features was introduced and community around framework grows. The next step is a Multi-platform App UI which is a modern UI framework build on top of .NET platform.
One of key benefits of it are support for patterns like MVVM (Model-View-ViewModel) or MVU (Model-View-Update). So far MAUI is still a song of future with a release date in November 2021.
Tooling
Windows Terminal 1.0
Windows have finally cool and modern Terminal with a lot of great features. Me personally the one is multiple tabs support and integration with WSL. If want to know more or maybe customize your terminal go to great series by Scott Hanselman
Windows Subsystem for Linux 2.0
Windows Subsystem for Linux is a Linux kernel in Windows which greatly improve developer productivity on Windows.
Whole previous year I work mainly on macOS because I want a native Linux environment for .NET Core development but now Windows with WSL 2.0 is event cooler.
WSL 2 gives us many improvements like:
- Greatly improved speed
- Docker integration
- Tux in Explorer (May 2020 Windows 10 update)
Together with Visual Studio 2019 16.6 it produces great developer experience for every .NET developer.
If want knows more I also directs you to Scott blog
For more click here
Visual Studio Codespaces
In current world of remote work Codespaces (previously known as Visual Studio Online) is a direction to simplify live of developer by provide cloud-hosted development environments.
Such an environment could by provisioned in minutes and removed when work is done. These environments can be accessed from Visual Studio Code, Visual Studio, or event directly from GitHub.
Summary
As you can see in this year Microsoft brings many improvements for developers. Personally, I will be carefully looking on evolution of Static Web Apps, Blazor and Visual Studio Codespaces.