Microsoft Build 2023: Neues Dashboard und neues Konfigurationssystem

Microsoft hat auf der BUILD 2023 für Entwickler ein neues Dashboard, ein optimiertes Dateisystem und ein YAML-basiertes Konfigurationssystem vorgestellt

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen

(Bild: Microsoft)

Lesezeit: 7 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

Am zweiten Tag der diesjährigen Build-Konferenz von Microsoft stellte das Unternehmen in der Keynote unter dem Namen "Dev Home" eine neue Windows-Anwendung für Entwickler vor, die es unter anderem ermöglicht, eine WinGet-Configuration-Datei im YAML-Format zur automatischen Konfiguration des Entwicklungssystems einzusetzen.

Gab es schon am ersten Tag der Build 2023 in Seattle interessante Neuigkeiten für Developer, bei denen sich viel um die Dev Boxes drehte, stellte Microsoft in der Keynote des zweiten Tages mit Dev Home eine Windows-Anwendung vor, die ab sofort kostenfrei im Windows Store als Vorschauversion zur Verfügung steht. Unter "Dev Home" finden Entwicklerinnen und Entwickler im Windows Store neben der Kernanwendung auch eine erste Erweiterung für den Zugriff auf GitHub – sie wird automatisch gemeinsam mit der Hauptanwendung installiert.

Unter "Dev Home" findet sich im Windows Store neben der Kernanwendung auch eine Erweiterung für den Zugriff auf GitHub.

(Bild: Dr. Holger Schwichtenberg)

Alternativ ist eine Installation von "Dev Home" per Windows Package Manager möglich:

winget install --id Microsoft.DevHome -e

Kern der DevHome-Anwendung ist ein konfigurierbares Dashboard. Hier können sich Entwicklungsteams derzeit Systeminformationen (CPU, GPU, Network und Memory) sowie Listen von GitHub (Issues, Pull Requests, Assigned to me, Mentioned me und Review requested) mit entsprechender Verlinkung einblenden lassen. Direkte Aktionen sind mit Ausnahme des Beendens von Prozessen im CPU-Widget nicht möglich.

Jeweils eines der GitHub-Widgets bezieht sich auf ein einzelnes GitHub-Repository. Für jedes Widget kann die zugrundeliegende URL erfasst werden. Auf diese Weise können Entwicklerinnen und Entwickler im Browser zusammengestellte Abfragen per URL in Dev Home übernehmen. Das Programm kann mehrere GitHub-Konten verwalten, aber noch keine GitHub-Enterprise-Konten. Zu diesem Thema zeigt die App "coming soon" an.

Aktuell ist die Größe und Position der Widgets nicht beliebig wählbar. Die Systeminformations-Widgets gibt es in den Größen klein, mittel und groß. Für die GitHub-Widgets können Nutzer nur mittel und groß einstellen. Zudem können die Widgets nicht der Drag&Drop verschoben werden,sondern ordnen sich automatisch an. Dev Home bietet neben der hellen Normaldarstellung auch ein Dark-Theme an.

Das konfigurierbare Dashboard in Dev Home zeigt Systeminformationen und GitHub-Issues.

(Bild: Dr. Holger Schwichtenberg)

Im Bereich "Machine Configuration" können Entwicklerinnen und Entwickler Git-Repositories festlegen, die sie per URL oder Auswahl aus den verbundenen GitHub-Konten klonen möchten. Dort können sie zudem Anwendungen per Windows Package Manager (WinGet) installieren. Microsoft schlägt einige populäre Anwendungen wie Visual Studio, Notepad++, Android Studio, Visual Studio Code, GitHub Desktop, Docker Desktop, Postman und Node.js vor. Über die Suche sind alle Pakete im Windows Package Manager erreichbar. Bereits zuvor per WinGet installierte Pakete sind ausgegraut.

Anwendungen lassen sich per Windows Package Manager installieren.

(Bild: Dr. Holger Schwichtenberg)

Alternativ zum manuellen Klicken und Erfassen können Entwicklerinnen und Entwickler in Dev Home auch eine WinGet-Configuration-Datei im YAML-Format zur automatischen Konfiguration des Entwicklungssystems angeben.

Die YAML-basierten WinGet-Konfigurationsdateien sind ebenfalls eine Ankündigung der diesjährigen BUILD-Konferenz. Microsoft stellt online eine Anleitung für das Erstellen einer solchen YAML-Datei bereit. In der Konfigurationsdatei können Programmierer und Programmierinnen nicht nur eine WinGet-Paketinstallation festlegen, sondern auch Systemeinstellungen vornehmen.

Dazu gehören etwa die Aktivierung des Developer-Modus in Windows, das Setzen von Umgebungsvariablen, das Schreiben in die Windows-Registry, die Installation von Windows-Features und MSI-Paketen sowie das Starten und Stoppen von Windows-Prozessen sowie das Ausführen beliebiger PowerShell-Skripte. Dies geht weit über das hinaus, was in der Dev-Home-App zusammenklickbar ist.

Ein Beispiel für eine WinGet-Konfigurationsdatei, die npm und die Grunt-CLI installiert

(Bild: Microsoft)

Die Systemeinstellungen basieren auf den Desired State Configuration (DSC) Resources der PowerShell, die es seit PowerShell-Version 4.0 (erschienen 2013) gibt. WinGet verwendet DSC-Version 2.0, die seit PowerShell 7.0 existiert, aber seit Version 7.2 ein eigenständiges Projekt ist. Derzeit entwickelt das PowerShell-Team Version 3.0, die plattformübergreifend arbeiten soll.

Eigene DSC-Module und solche von Dritten aus der PowerShell Gallery sind ebenfalls nutzbar. Dies erlaubt es Entwicklungsteams, neben WinGet auch andere Paketmanager wie beispielsweise Chocolatey und Scoop sowie Orchestrierungswerkzeuge wie Puppet, Chef und Ansible einzubinden. Das Visual Studio-Entwicklungsteam stellt in der PowerShell Gallery ein neues Modul für die Workload-Installation in Visual Studio bereit.

Ein grafisches Werkzeug zum Erstellen der WinGet-Konfigurationsdateien gibt es nicht. Microsoft empfiehlt, Visual Studio Code mit der YAML-Erweiterung von Red Hat zu verwenden. Eine XAML-Datei aus einer in "zusammengeklickten" Konfiguration in Dev Home zu exportieren, ist bisher ebenfalls nicht möglich. Die Konfigurationsdatei sollte xy.dsc.yaml heißen und im Git-Repository unter ./configurations/xy.dsc.yaml liegen. Beispielkonfigurationen stellt Microsoft auf GitHub bereit. Entwicklerinnen und Entwickler können WinGet-Konfigurationsdateien auch ohne die Dev-Home-App per Kommandozeile starten:

winget configure -f xy.dsc.yaml

Dafür ist es Voraussetzung, dass die aktuelle Preview-Version 1.5.1361 von WinGet installiert ist.

Innerhalb der Dev-Home-Anwendung können Entwicklerinnen und Entwickler einen Dev Drive anlegen. Dieses Laufwerk verwendet das Resilient File System (ReFS) und soll laut Microsoft durch Beschleunigung der I/O eine Leistungssteigerung von 30 Prozent bei den der Kompilierung von Anwendungen im Vergleich zu einem NTFS-Dateisystem bringen. Eine wichtige Rolle spielt dabei auch Microsofts Virenscanner "Microsoft Defender Antivirus"; der einen speziellen "Non-Blocking-Performance-Modus" für Dev Drive erhalten soll.

Microsoft möchte mit dem neuen Dev Drive die bisher übliche Praxis vermeiden, dass Entwicklerinnen und Entwickler Dateien oder Prozesse aus dem Virenscan ausschließen, um die Übersetzung zu beschleunigen. Ein solches Dev Drive können derzeit aber nur Windows-Nutzerinnen und Nutzer anlegen, die den aktuellen Windows 11 Insider Build verwenden und 50 Gigabyte freien Speicherplatz auf der Festplatte haben.

Ein Dev Drive in der Windows-Systemsteuerung anlegen

(Bild: Microsoft)

Interessierte Entwickler und Entwicklerinnen finden den Quellcode der Dev Home-Anwendung auf GitHub. Ein Blick in diesen Quellcode zeigt, dass die Anwendung auf .NET 6.0 basiert. Dazu kommen eine Oberfläche auf Basis der WindowsUI Library 3 (WinUI3) im Namensraum Microsoft.UI.Xaml, die Model-View-ViewModel-Bibliothek aus dem .NET Community Toolkit und Windows Widgets auf Basis von Adaptive Card. Mit "Dev Home" soll es auch möglich sein, Microsoft Dev Boxes und GitHub Codespaces zu konfigurieren.

Das Windows-Entwicklungsteam hat im weiteren Verlauf der Build in einem Vortrag unter dem Titel "New Developer Experiences in Windows" angekündigt, dass es für Azure DevOps (ADO) die gleiche Unterstützung wie für GitHub geben wird. Zudem wird es Desktop-Benachrichtigungen bei Ereignissen wie fehlgeschlagenen Builds geben. Dev Home soll in einer kommenden Version auch auf Windows 10 laufen. Die WinGet-Konfigurationsdateien funktionieren jetzt bereits auch unter Windows 10. (fms)