If you missed MS Build - Day 1 Notes, see here.
Introduction
This article is intended as a summary of MS Build – Day 2, from my point of view. It focuses on key technical takeaways. For example, which technology should you watch out for? Which technology might become obsolete in 2 years? It is not meant the capture small /incremental process improvements, cool flashy things, excitement or hype. It is mainly to serve as a starting point to research a topic that interests you, if you did not have time to attend MS Build (or watch the videos, which I am sure will be published for everyone soon).
All this information is based on the notes I took when watching online MS Build event. Because every developer can set up their own path, it might be different from other developer’s experiences (because they chose to watch other videos). Which is why I think it is useful to document, even if multiple developers attempt to document the same information (and you see other similar articles popping up in google search). There is minimal formatting to make it readable, but otherwise it is often a one sentence summary with external link if you want to research the topic further.
Notes
Blazor Pizza workshop – hard core in-depth training for Blazor.
Blazor WebAssembly was released a few days ago, needs version SDK 3.1.300.
Video - Modern Web UI with Blazor WebAssembly
MAUI – unified UI development for multiple platforms (desktop, mobile), coming as part of .NET 6, preview – end of this year. Evolution of Xamarin. Official announcement.
Microsoft is working on improving Javascript development in VS code and Azure. Things you can do for free on Azure:
- Static web apps
- Functions
- Cosmos DB
- Cognitive Services (Search, Anomaly Detection, Computer Vision)
- Active Directory
- Event Grid
- Notification Hubs
To use serverless, you need Azure Static Web Apps (Preview) extension for VS code. It adds a new Azure tab, where you can add functions.
Part of One .NET recording (little bit more info that live session). ML.NET in Visual Studio Model Builder starter tool. Model Builder is Free, can run locally or on Azure. Resulting model can be added as a project to the existing solution. Presenter ended up with AI enabled Blazor app (via right click -> add Machine Learning
to solution).
Project Tye platform for microservice development. Provides orchestration and dashboard for debugging of the micro services and the front-end process. Intended to be simpler to use than Kubernetes. Need less knowledge to get started.
ASP.NET Core is 7x faster than Node.js.
.NET core is faster on Linux than on Windows.
.NET Conf 2020 will be on Nov 10-12, celebrating .NET 5 launch, free 3-day virtual event.
AI must become a “platform” to be next new thing. Example case study - healthcare bot self-assess symptoms deployed in 23 countries.
Larger AI model (in bytes) performs better than a small AI model. AI trend is towards self-supervised learning using unlabeled data (humans are not involved). NLP natural language processing, DeepSpeed 2:
Early adopters of DeepSpeed have already produced a language model (LM) with over 17B parameters called Turing-NLG.
Microsoft has a cloud supercomputer with 256K CPU cores and 10K GPU cores.
AI writing code based on provided code description (trained on GitHub code).
First year medical students practice anatomy at home with VR.
Sample app concept - pizza delivery app where license plate is scanned and pizza is delivered by robot, runs offline (would be very helpful in COVID environment).
Distributed application runtime (dapr), not to be confused with dapper, the ORM.
In terms of world transformation, AI is doing to the world what Calculus did when it came in 18th century. It is basically the new math.
3.5 million developers are writing apps using Power Platform. Demo app - mixed reality on mobile for medical / ERP applications. Custom functionality can be implemented via Azure functions (serverless). Power Studio makes non-developers feel like developers.
My thoughts - the idea looks like continuation of Workflow Foundation. UI is pretty dated, what a web app would look 10-15 years ago. Target audience seems to be small to medium sized businesses (same as before). I can hardly imagine such generic toolkit will ever be useful to large enterprises.
Demo application on Power was supposedly built in a few days instead of months but based on UI shown it could have been built by 5 people in 1-2 weeks using bare code. Too much buzz words and screen switching - seamless, powerful, no code - not impressed. What about seeing history of changes in the workflow (the diff)? If something broke or does not work as intended, how do you troubleshoot? 90% of code is to handle errors and workflow exceptions. Happy path takes little to no time. For a 2-week user story, the happy path could be 2 hours of work, without Power, just bare code. Rest is edge cases, error handling and unit tests.
Part of Power, the Azure bot framework I think will get replaced by NLP, which would not require human intervention to define workflows in a diagram like view. This is based on other Build 2020 videos.
Running SQL queries on Power Platform data. Given that Azure itself is Mongo / Cosmos, I would expect a trajectory away from SQL, and let you write queries in a more high-level language. Excel demo with live data, super slow and laggy during screen refresh. This kind of performance would be acceptable 10 years ago. Today people want butter smooth 60FPS, with <100ms rendering delays.
Mixed reality applications is an evolution from Mobile which itself is an evolution from PC.
Mixed Reality Toolkit works together with Unreal or Unity (your choice) and can be deployed to Azure. Allows to add mixed reality interaction to existing models.
Presentation of augmented reality UI looked laggy, but could be due to network issues. Azure spatial anchors allow persisting 3D content in real world (everyone can see mixed reality in the same way). Drag and drop UI is nice though. I can imagine it makes a lot more sense for pro Unity or Unreal devs.
Regarding Azure Quantum, here are some useful links I found on the internet:
- Q# 0.6: Language Features and More (May 25th, 2019)
- Getting started with QDK.
- Tutorial: Explore entanglement with Q#
And these are from the demo:
According to some case study, quantum programming offered 20% improvement over traditional algorithms, which is not a lot. While it sounds cool, I have yet to see the revolutionary benefit of it. It would make much more sense if some task takes 1 million years on a normal CPU and can be solved in seconds on quantum. This is the kind of scale we gotta be at, before letting ourselves be amazed with buzzwords.