Microsoft Build 2023: New dashboard and new configuration system
On the second day of this year’s Build conference from Microsoft, the company presented a new Windows application for developers in the keynote under the name “Dev Home”. configuration of the development system.
New dashboard as a Windows application
While there was already interesting news for developers on the first day of Build 2023 in Seattle, where a lot revolved around the Dev Boxes, Microsoft presented Dev Home, a Windows application in the keynote on the second day, which is now available free of charge in the Windows Store is available as a preview version. In addition to the core application, developers in the Windows Store will also find an initial extension for accessing GitHub under “Dev Home” – it is automatically installed together with the main application.
In addition to the core application, there is also an extension for accessing GitHub in the Windows Store under “Dev Home”.
(Image: Dr. Holger Schwichtenberg)
Alternatively, you can install “Dev Home” using the Windows Package Manager:
winget install –id Microsoft.DevHome -e
Configurable dashboard with widgets
The core of the DevHome application is a configurable dashboard. Here, development teams can currently display system information (CPU, GPU, network and memory) as well as lists from GitHub (issues, pull requests, assigned to me, mentioned me and review requested) with the appropriate link. Direct actions are not possible except for ending processes in the CPU widget.
Each GitHub widget refers to a single GitHub repository. The underlying URL can be recorded for each widget. In this way, developers can transfer queries compiled in the browser to Dev Home via URL. The program can manage multiple GitHub accounts, but not yet GitHub Enterprise accounts. On this topic, the app shows “coming soon”.
Currently, the size and position of the widgets cannot be freely selected. The system information widgets come in small, medium, and large sizes. For the GitHub widgets, users can only set medium and large. In addition, the widgets cannot be moved using drag & drop,
Applications can be installed via Windows Package Manager.
(Image: Dr. Holger Schwichtenberg)
but arrange themselves automatically. In addition to the light normal display, Dev Home also offers a dark theme.
The configurable dashboard in Dev Home shows system information and GitHub issues.
(Image: Dr. Holger Schwichtenberg)
Computer configuration also via YAML file
In the “Machine Configuration” section, developers can specify Git repositories that they want to clone by URL or selection from the connected GitHub accounts. You can also install applications there using the Windows Package Manager (WinGet). Microsoft proposes some popular applications like Visual Studio, Notepad++, Android Studio, Visual Studio Code, GitHub Desktop, Docker Desktop, Postman and Node.js. All packages in the Windows Package Manager can be accessed via the search. Packages previously installed via WinGet are greyed out.
Applications can be installed via Windows Package Manager.
(Image: Dr. Holger Schwichtenberg)
As an alternative to manually clicking and entering, developers in Dev Home can also specify a WinGet configuration file in YAML format for automatic configuration of the development system.
Configuration files are based on PowerShell DSC
The YAML-based WinGet configuration files are also an announcement of this year’s BUILD conference. Microsoft provides instructions online for creating such a YAML file. In the configuration file, programmers can not only specify a WinGet package installation, but also make system settings.
This includes activating developer mode in Windows, setting environment variables, writing to the Windows registry, installing Windows features and MSI packages, as well as starting and stopping Windows processes and running any PowerShell scripts. This goes way beyond what’s clickable in the dev home app.
An example WinGet configuration file that installs npm and the Grunt CLI
(Image: Microsoft)
The system settings are based on the Desired State Configuration (DSC) resources of PowerShell, which has been available since PowerShell version 4.0 (released in 2013). WinGet uses DSC version 2.0, which has existed since PowerShell 7.0 but has been a standalone project since version 7.2. The PowerShell team is currently developing version 3.0, which is intended to work across platforms.
Own DSC modules and those from third parties from the PowerShell Gallery can also be used. This allows development teams to include other package managers, such as Chocolatey and Scoop, as well as orchestration tools such as Puppet, Chef, and Ansible, in addition to WinGet. The Visual Studio development team provides a new module for workload installation in Visual Studio in the PowerShell Gallery.
There is no graphical tool for creating the WinGet configuration files. Microsoft recommends using Visual Studio Code with the Red Hat YAML extension. Exporting a XAML file from a “clicked together” configuration in Dev Home is also not possible so far. The configuration file should be named xy.dsc.yaml and located in the git repository at ./configurations/xy.dsc.yaml. Microsoft provides sample configurations on GitHub. Developers can also start WinGet configuration files via command line without the Dev Home app:
winget configure -f xy.dsc.yaml
The prerequisite for this is that the current preview version 1.5.1361 of WinGet is installed.
Dev Drive uses the ReFS file system
Within the Dev Home application, developers can create a Dev Drive. This drive uses the Resilient File System (ReFS) and, according to Microsoft, is said to provide a 30 percent increase in performance when compiling applications compared to an NTFS file system by accelerating I/O. Microsoft’s “Microsoft Defender Antivirus” virus scanner also plays an important role here; which should get a special “Non-Blocking-Performance-Mode” for Dev Drive.
With the new Dev Drive, Microsoft wants to avoid the common practice that developers exclude files or processes from the virus scan in order to speed up the translation. Such a Dev Drive can currently only be created by Windows users who are using the current Windows 11 Insider Build and have 50 gigabytes of free storage space on the hard drive.
Create a Dev Drive in the Windows Control Panel
(Image: Microsoft)
Dev Home is based on .NET 6.0 and WinUI3
Interested developers can find the source code of the Dev Home application on GitHub. A look at this source code shows that the application is based on .NET 6.0. There is also a user interface based on the WindowsUI Library 3 (WinUI3) in the Microsoft.UI.Xaml namespace, the Model-View-ViewModel library from the .NET Community Toolkit and Windows widgets based on Adaptive Card. With “Dev Home” it should also be possible to configure Microsoft Dev Boxes and GitHub Codespaces.
Later in the build, the Windows development team announced in a talk titled “New Developer Experiences in Windows” that Azure DevOps (ADO) will have the same support as GitHub. There will also be desktop notifications for events such as failed builds. Dev Home will also run on Windows 10 in an upcoming version. The WinGet configuration files now also work under Windows 10. (fms)
To home page