Microsoft Build 2022: .NET MAUI ist da, Dev Box in der Preview, und Windows setzt auf Arm

24.–26. Mai 2022, hybrid, Seattle. Die Build 2022 war die Konferenz, auf der eine ganze Reihe von Dingen, die wir monatelang in der Preview beobachtet hatten, endlich zu Dingen wurden, die wir ausliefern konnten. Sie lief als Hybrid-Event – eine kleine, nur per Einladung zugängliche Präsenz in Seattle, kombiniert mit einem kostenlosen Digital-Stream für alle anderen – der erste behutsame Schritt zurück zur Präsenz nach zwei vollständig digitalen Jahren. Wir haben sie so verfolgt, wie es der Großteil der Welt in jenem Jahr tat: über den Stream, im Büro, mit der Keynote auf dem einen Monitor und einem Sandbox-Projekt auf dem anderen.

Eine Tech-Konferenz-Keynote, mit Entwicklern im Publikum

Es war eine dichte Build. Microsoft legte über drei Tage mehr als fünfzig Produktankündigungen auf den Tisch, und der rote Faden war ungewöhnlich praktisch: weniger „hier ist die Zukunft", mehr „hier ist das Ding, es ist ab heute GA, leg los". Für einen Microsoft-Stack-Laden wie unseren ist das die beste Sorte Build. Wir brauchen kein weiteres Vision-Deck. Wir brauchen ein plattformübergreifendes UI-Framework, das wirklich ausliefert, eine Container-Runtime, für die wir nicht erst Kubernetes lernen müssen, und Entwicklermaschinen, die wir ohne Beschaffungsticket hochfahren können. 2022 bekamen wir alle drei.

.NET MAUI erreichte endlich 1.0

Die Schlagzeile war für uns .NET MAUI – .NET Multi-platform App UI –, das allgemeine Verfügbarkeit erreichte. Dazu eine kleine Korrektur an unserer früheren Notiz: Der GA-Blogpost ging am 23. Mai 2022 online, einen Tag vor der offiziellen Eröffnung der Build, und Microsoft band die Feier in die Konferenz ein. MAUI war also faktisch der Auftakt und nicht eine Enthüllung am ersten Keynote-Tag – aber in der Praxis landete es als Teil des Build-Zyklus.

MAUI ist die offizielle Weiterentwicklung von Xamarin.Forms: eine Codebasis, ein Projekt, das Android, iOS, macOS und Windows aus einem einzigen .NET-UI-Stack bedient. Wer die Xamarin.Forms-Ära durchlebt hatte – und wir hatten das, über mehr Kundenprojekte hinweg, als uns lieb ist –, dem war das Versprechen sofort klar und die Skepsis verdient. Plattformübergreifende UI hat einen langen Friedhof aus Frameworks, die wunderbar demonstrieren und in dem Moment zerfallen, in dem man eine native Geste, einen plattformspezifischen Berechtigungsdialog oder einen Build braucht, der keine Kaffeepause einlegt. MAUIs Argument war, dass es gar keine neue Wette war – es war Xamarins ausgereifter Mobile-Stack, neu gebaut auf dem modernen .NET-Tooling und dem Single-Project-Modell, mit abgeschliffenen Kanten.

Zwei Smartphones nebeneinander gehalten

Der Grund, warum das so wichtig war: Es beendete eine Diskussion. Jahrelang war unsere interne Standardfrage bei jedem Mobile-Projekt „nativ oder hybrid?" – und die ehrliche Antwort lautete meist „kommt drauf an, lass uns eine Woche scopen". Mit der GA von MAUI brach diese Frage für eine ganze Klasse von Arbeit in sich zusammen. Eine einzige C#-Codebasis, die Basisklassenbibliothek, die wir ohnehin kennen, das Tooling, das wir ohnehin besitzen, laufend auf iOS- und Android-Geräten im Feld. Das ist kein Kompromiss, den wir hinnehmen; es ist die Architektur, die wir aktiv wählen würden.

Wir wollen fair sein zum Zustand, in dem es ausgeliefert wurde. MAUI 1.0 war echtes GA, aber ein frühes GA – die ersten Monate hatten ihren Anteil an scharfen Kanten, und die breitere Community sagte das auch laut. Die Version, die die meisten Teams als den eigentlichen „bereit"-Moment nennen, kam später im Jahr zusammen mit .NET 7. Aber GA ist GA: Es bedeutete Support, es bedeutete einen Release, den wir einem Kunden vorlegen konnten, und es bedeutete, dass die Planungsfrage geklärt war.

Azure Container Apps erreichte GA

Der andere saubere GA-Gewinn war Azure Container Apps – Serverless-Container für Microservices, unter der Haube auf Kubernetes und den Open-Source-Projekten KEDA, Dapr und Envoy aufgebaut, aber ohne dass man selbst ein Cluster aufstellen und betreiben muss.

Das lässt sich leicht unterschätzen. Die Lücke zwischen „ich habe einen containerisierten Dienst" und „ich habe einen produktionsreifen Ort, an dem er läuft" war historisch eine ganze Disziplin: ein Kubernetes-Cluster, das YAML, die Upgrades, die Node-Pools, der Pager um 3 Uhr nachts. Für viele der Workloads, die wir bauen – ein Hintergrund-Prozessor, eine API, ein ereignisgesteuerter Worker, der über Nacht auf null skaliert –, ist das enorm viel Zeremonie für einen bescheidenen Bedarf. Azure Container Apps schob eine Serverless-Option zwischen die nackten Azure Functions und ein vollwertiges AKS-Cluster, mit Scale-to-Zero, Revisionen und Traffic-Splitting von Haus aus. Genau die Sorte unglamouröser Infrastruktur-Entscheidung, die einem Kunden leise jeden Monat echtes Geld spart.

Microsoft Dev Box und Project Volterra: die Entwicklermaschine, neu gedacht

Zwei der zukunftsgewandteren Previews drehten sich um die eigene Arbeitsumgebung der Entwickler.

Microsoft Dev Box zeigte sich als Cloud-gehostete, vorkonfigurierte Entwicklerarbeitsplätze auf Azure – eine startbereite Windows-Maschine mit den richtigen Tools, SDKs und bereits eingerichtetem Quellcode hochfahren, statt die ersten zwei Tage eines neuen Kollegen mit Umgebungs-Setup zu verbrennen. Es ergab sich nahtlos aus den GitHub Codespaces des Vorjahres und trug dieselbe Idee hinauf bis zum vollen Windows-Desktop. Wer je einen Entwickler in eine komplexe .NET-Solution eingearbeitet hat, kennt die Steuer, auf die das zielt: der halbe Tag, der zu zwei Tagen „bei mir baut's, bei dir nicht" wird.

Project Volterra war die Hardware-Überraschung – ein kompaktes Arm-basiertes Entwickler-Kit, gebaut auf einer Qualcomm-Snapdragon-Plattform mit einer dedizierten NPU (Neural Processing Unit) und, ein schönes Detail, einem Gehäuse aus recyceltem Ozeanplastik. Es war Microsofts Signal, dass Windows on Arm ein erstklassiges Ziel sein sollte, für das Entwickler bauen, und dass On-Device-KI-Beschleunigung auf den Desktop kommt. Um das einzulösen, verpflichtete sich Microsoft, seine Toolchain Arm-nativ zu machen – Visual Studio 2022, VS Code, .NET, das Windows Terminal, WSL und mehr. Volterra hatte keinen Preis und ein vages „später dieses Jahr" als Liefertermin, blieb also fest in der Preview-Spalte, aber die Absicht war klar.

Das Bindeglied zwischen beiden war ein Entwicklungsmuster, das Microsoft Hybrid Loop nannte – die Idee, dass KI-Workloads fließend zwischen der NPU des lokalen Geräts und der Cloud wandern könnten, über ONNX Runtime und Azure Machine Learning. Panos Panay, damals Chef von Windows und Devices, formulierte den Anspruch so:

„In the future, moving compute workloads between client and cloud will be as dynamic and seamless as moving between Wi-Fi and cellular on your phone today."

Liest man dieses Zitat aus dem Jahr 2026, klingt es anders als damals. Im Mai 2022 klang es nach einer Vision. Im Rückblick war es eine frühe, treffende Landkarte dessen, wohin sich die ganze Branche bewegen würde.

Der KI-Faden, bevor KI die ganze Konferenz war

Es lohnt sich, daran zu erinnern, welchen Platz KI auf der Build 2022 hatte, denn es war eine Beilage, nicht das Hauptgericht. Das war sechs Monate vor ChatGPT. Die große Ankündigung in dieser Spur war die Öffnung des Azure OpenAI Service in der Preview – Zugang, für freigegebene Kunden, zur GPT-3-Modellfamilie von OpenAI (Ada, Babbage, Curie und Davinci) und zu den Codex-Code-Modellen, eingebettet in Azures Enterprise-Kontrollen.

Eine Session bei einem KI-Symposium

Und GitHub Copilot – seit dem Sommer zuvor eine Research-Preview – bekam seine Ankündigung der allgemeinen Verfügbarkeit, mit bestätigtem kostenpflichtigem GA zum 21. Juni 2022. Microsoft merkte damals an, dass mehr als ein Drittel derer, die sich für die Preview angemeldet hatten, zu täglichen Nutzern geworden waren – für ein Tool, das noch umstritten war, eine bemerkenswerte Bindungsquote. Wir gehörten Mitte 2022 zu den Neugierig-aber-Vorsichtigen. Das Komische daran im Rückblick ist, wie klein das alles an jenem Tag neben MAUI und Container Apps wirkte. Das GA eines Code-Vervollständigungs-Tools und die Preview eines Enterprise-GPT-3-Endpunkts lasen sich damals als zwei interessante Punkte auf einer Fünfzig-Punkte-Liste – nicht als Auftakt der Ära, die seither jede Build dominieren würde.

Die Daten-Story, die zu Fabric wurde

Microsoft nutzte die Build 2022 außerdem, um die Microsoft Intelligent Data Platform vorzustellen – eine Neufassung von Azure SQL, Cosmos DB, Synapse, Purview und Power BI als ein integriertes Fabric für Datenbanken, Analytik und Governance, statt als Haufen separat eingekaufter Dienste. Damals las es sich vor allem als Positionierung. Im Rückblick war es die erzählerische Grundlage für Microsoft Fabric, das etwa ein Jahr später als echtes Produkt kam. Daneben kam eine Reihe von Cosmos-DB-Updates – Serverless-Container bis 1 TB, hierarchische Partitionsschlüssel, ein 30-tägiger kostenloser Test und ein Linux-Desktop-Emulator – die Sorte inkrementeller Verbesserungen, die keine Schlagzeilen machen, aber Reibung beseitigen.

Auf der Low-Code-Seite verwandelte Power Apps Express Design ein PDF, eine PowerPoint-Folie, eine Figma-Datei oder sogar eine handgezeichnete Skizze in ein lauffähiges App-Gerüst, und Microsoft Power Pages zeigte sich als Low-Code-Website-Baukasten in der Preview. Nicht unser tägliches Brot, aber ein klares Signal, wo Microsoft die App-bauende Bevölkerung wachsen sah.

Warum es für uns zählte

Schält man die Fünfzig-Punkte-Liste weg, tat die Build 2022 eine Sache, die wirklich veränderte, wie wir arbeiten: Sie beendete für eine ganze Kategorie von Kundenprojekten die „nativ oder hybrid?"-Debatte.

Bis zum Sommer bauten wir den Prototyp der Kühne+Nagel-CST-Mobile-App auf .NET MAUI – eine einzige C#-Codebasis, laufend auf iOS- und Android-Geräten von Menschen draußen im Feld, nicht am Schreibtisch. Dieses Projekt ging 2023 live und ist bis heute in beiden App-Stores aktiv. Wir hätten es zweimal bauen können, in zwei nativen Toolchains, mit zwei Teams und zwei Backlogs. Wir bauten es einmal. Das ist die gesamte Wertversprechen jenes Tages, konkret gemacht in einem Projekt: weniger Code zu pflegen, eine Stelle, an der ein Bug gefixt wird, ein Stack, den unser Team von oben bis unten kennt.

Der Rest der Konferenz ist in Kontext gereift. Azure Container Apps wurde zu einer Standardantwort auf „wo lebt dieser kleine Dienst?". Die Intelligent Data Platform wurde Fabric. Dev Box und Volterra waren frühe Skizzen einer Entwicklerumgebung, die noch immer neu gezeichnet wird. Und der KI-Faden, der sich im Mai 2022 wie eine Fußnote anfühlte, erwies sich als Prolog zu allem.

Wir sind ehrlich bei der einen Sache, die wir beim Lesen des Raums in jener Woche falsch eingeschätzt haben: Wir gewichteten Copilot und Azure OpenAI gegenüber MAUI zu niedrig. MAUI zahlte sich genau so aus, wie wir es erwartet hatten. Die KI-Ankündigungen zahlten sich weit, weit stärker aus, als wir es taten. Eine gute Erinnerung daran, dass das Wichtigste auf jeder Build selten das ist, was den größten Applaus bekommt.


Eine Anmerkung zu den Daten: Der GA-Blogpost zu .NET MAUI wurde am 23. Mai 2022 veröffentlicht, einen Tag vor dem offiziellen Lauf der Build vom 24.–26. Mai, und wurde als Teil der Konferenz gefeiert. Unser früherer Kurzbeitrag beschrieb es als „Tag 1 der Konferenz" ausgeliefert – nah dran, aber die genaue Abfolge ist es wert, korrekt wiedergegeben zu werden.

Bildnachweise

Alle Fotos werden unter ihren jeweiligen Creative-Commons-Lizenzen verwendet; wir danken den Fotografen.

  • Scaling New Heights 2013 Photo i005 by Grant Wickes — © Grant Wickes, CC BY 2.0, via Flickr (source).
  • A Smartphone for Each Hand — © cambodia4kidsorg, CC BY 2.0, via Flickr (source).
  • Artificial intelligence technology symposium in B.S Abdur Rahman Crescent University — © Mohamedudhuman05, CC BY-SA 4.0, via Wikimedia (source).
Microsoft Build .NET MAUI Azure Container Apps Microsoft Dev Box Project Volterra Azure OpenAI Service GitHub Copilot .NET Xamarin