Notes from Build 2020
With the COVID-19 pandemic underway globally, a number of things are different this year. Like many other freelancers, I am currently out of work as
many companies quite rightfully try to cut costs and weather the storm.
While not ideal, this has actually been a bit of blessing in disguise. It’s given me time to stop and reflect on the current state of the tech industry,
and given me the time to learn and catch up on various technical developments so that I might be able to hit the ground running when the economy jump start occurs.
Because of the pandemic, Microsoft also moved their annual Build conference to an online capacity, and it was clear from the start that they clearly thought it through and
managed to bring the feeling of an in-person conference to the online audience. On the plus side it was free for all attendees and there was no awful food, but on the negative side I didn’t get
my semi-annual trip to the states for “work”.
On to the announcements then, and this year these were the things that caught my eye
- Project Reunion - bringing the elements of win dev together
- .NET 5.0
- WinUI 3
- MAUI - Xamarin.Forms evolved
- Windows Terminal v1
- Blazor WebAssembly (or WASM which I love)
- WinGet - a new package manager for Windows
- Visual Studio 2019 v16.6
And here are some of my raw notes I made during some of the sessions I attended, and as this is a digital conference there is some digital swag including
wallpapers and watch faces which can be found here
.NET 5 and the Journey to One .NET
.NET doing well
Blazor WebAssembly - C# direct in browser & can run on desktop
Can do Shift Alt + D for debugger in browser - same debugging in VS - full stack dev experience
Windows Forms Designer
.NET Core support
Ml.net & Model Builder - run locally or on Azure. Adds completed projects to solution
One vision - .NET Framework - .NET Core - Mono/Xamarin combined to one SDK/ BCL / Toolchain
.NET 6 LTS
modular design
clean docker file
single exe, very small
Project Tye - run multiple projects all together
tye run - process orchestration
good if project has multiple microservices
1 layer above docker but not trying to be Kubernetes
Top Level Programs - remove “main” so you can ship a 2 line app - not sure I’m keen on that
MAUI
.NET is open source, cross platform to build anything. Learn once and apply skills everywhere
Mono -> Xamarin
Share code across iOS and android
Xamarin.Forms for ui, xamarin.essentials for platform specific stuff like Bluetooth/geofencing
Reflector app to mirror physical device on screen
No need for a mac to get started
hot reload and restart
Visual=”Material”
Dual Screen support - helpers in preview nuget package
Xamarin/app/xamarintv
Xamarin Forms 5
Shell 2.0
Shell routes
Gradient Brush
Shapes & Paths
TabView
AppBar
Nov 2020 after preview releases
Multi App UI - MAUI
Ships with .NEt 6.0 in 2021
WinUI 3 + Project Reunion
1 framework, state-of-the-art for windows developers on desktop.
1992 - MFC on Windows 3.1
2002 - WinForms .NET
2006 - WPF .NET
2012 - UWP XAML C++ & .NET
Desktop (win32) Apps and UWP Apps
Windows UI Library
WinUI3 = UWP XAML + WinUI2 + Visual Layer
WinUI3 will work on all platforms
Older platforms still alive and kicking
Project Reunion - 1 platform to work across all platforms - no more “desktop” and “uwp” apps.
Winui3 Preview 1 released at build - desktop Win32 support
will go open source autumn 2020
Marketplace - Win UI 3 Project Templates - adds the preview nuget packages
Xaml Window
SwapChainPanel, WebView 2
Not production ready - needs VS 16.7 Preview 1
Desktop only - no Xbox / hololens etc