5 Microsoft-Entwicklertools und -technologien, die im Jahr 2020 untersucht werden sollen

Ende 2019 lohnt es sich, einen Blick nach vorne zu werfen, wenn Sie Ihre Anwendungsentwicklungspläne und Ihre Technologie-Roadmaps zusammenstellen. Die letzten Jahre haben für jeden, der auf den vielen Plattformen von Microsoft aufbaut, eine Menge Veränderungen gebracht, und dieses Tempo verlangsamt sich nicht.

Was sollten Sie sich 2020 ansehen und warum? Hier sind fünf Optionen für Windows, Azure und darüber hinaus. Sie sind nicht die einzigen, aber sie sollten Sie auf den Weg zu moderneren Entwicklungsplattformen und -werkzeugen bringen.

Starten Sie den Übergang zu .NET 5

Die vielleicht größte Herausforderung für jeden, der .NET-Code erstellt, ist der Wechsel von .NET Framework zu .NET Core mit der Veröffentlichung von .NET 5 gegen Ende 2020. Die Zusammenführung der beiden .NET-Stränge ist sinnvoll, auch wenn dies der Fall ist erfordert den Verlust einiger älterer APIs. Microsoft hat eine Liste veröffentlicht, was den Übergang im .NET GitHub-Repository bewirken wird und was nicht. Einige der fehlenden APIs werden auf Community-Implementierungen umgestellt, während andere modernere Alternativen erhalten.

Wenn Sie .NET Framework-Code unterstützen und entwickeln, bietet Ihnen 2020 eine gute Gelegenheit zu untersuchen, wie Code in Zukunft bereitgestellt wird. Die aktuelle Version von .NET Core 3.1 ist eine Version mit langfristiger Unterstützung und unterstützt zusammen mit den .NET Standard-Bibliotheken viele der APIs, die in .NET 5 enthalten sein werden. Durch das Portieren von Code nach .NET Core 3.1 können Sie diese erkunden Nicht nur, welche Änderungen an Ihrem Code vorgenommen werden müssen, sondern auch, um eine neue Toolchain zu erstellen.

Die Zukunft von .NET Core ist plattformübergreifend, mit Blazor auf WebAssembly und serverseitig über ASP.NET und Razor. .NET Core unter Windows, MacOS und Linux; und mit Xamarin auf Mobilgeräten. Beim Verschieben von Code nach .NET 5 geht es nicht nur um die Unterstützung zukünftiger Windows-Versionen, sondern auch darum, ihn für viele weitere Plattformen und Benutzer bereitzustellen.

Beginnen Sie mit der Erkundung von WinUI 3.0

2020 ändert sich die Windows-Plattform. Microsoft teilt das Windows SDK endlich in zwei Teile: Aufteilen der UI-Komponenten in WinUI und Beibehalten der Funktionen auf Betriebssystemebene. Mit der kommenden Version von WinUI 3.0 können UI-Komponenten mit einer anderen Trittfrequenz als das Betriebssystem ausgeliefert werden und bei der Veröffentlichung neue Steuerelemente hinzufügen. Sie werden unter Windows 10 für die Verwendung in Win32- und WinForms-Apps sowie in UWP-Anwendungen (Universal Windows Platform) unterstützt.

WinUI wird auch in modernen Browsern wie dem neuen Chromium-basierten Edge durch eine Partnerschaft mit der Uno-Plattform unterstützt, die Steuerelemente auf WebAssembly portiert, sodass WinUI ein viel breiteres Publikum erreichen kann. Bestehende UWP-Anwendungen können WinUI 3.0 mit minimalen Änderungen verwenden, und C ++ - Code kann neue Steuerelemente verwenden, um die Unterstützung für die Fluent-Designsprache von Microsoft hinzuzufügen.

Verwenden Sie AKS für Cloud-native Anwendungen

Das Erstellen moderner Cloud-Anwendungen bedeutet das Erstellen verteilter mikroservicebasierter Anwendungen, das Bereitstellen von containerisiertem Code, wann und wo er benötigt wird, und das Verwalten von Ressourcen, um auf Anforderungen zu reagieren. Dies alles führt dazu, dass ein Orchestrator für die Verwaltung der Skalierung und Bereitstellung erforderlich ist. Sie können Kubernetes selbst implementieren und sich mit den kubectl- und YAML-Konfigurationsdateien vertraut machen. In Azure gibt es jedoch eine Alternative: eine verwaltete Option mit dem Azure Kubernetes-Dienst für Linux- und Windows-Container.

Dies vereinfacht die Bereitstellung Ihrer containerisierten Anwendungen und Dienste mithilfe des vertrauten Azure-Portals mit Zugriff auf die Azure-eigenen Netzwerkfunktionen und die Möglichkeit, mit Tools wie Terraform von HashiCorp zu arbeiten. Weitere Optionen sind die rollenbasierte Zugriffssteuerung, um den Zugriff auf Ressourcen zu sperren und Ihr Sicherheitsrisiko zu verringern.

AKS skaliert Ihren Kubernetes-Cluster automatisch nach oben und unten und lässt sich in die Überwachungstools von Azure integrieren, sodass Sie Ihre Servicevorgänge im Auge behalten können. Das Ergebnis ist eine Mischung aus einer reinen Kubernetes-Plattform, die mit Kubernetes-Tools für eine differenzierte Steuerung verwaltet werden kann, und dem bekannten Azure-Portal mit verwaltetem Zugriff auf andere Azure-Dienste. Diese Dienstintegration kann Kubernetes-Vorgänge vereinfachen, z. B. durch direkten Zugriff auf den Azure-Speicher für persistente Daten und Unterstützung für die Azure-eigene Containerregistrierung.

Wenn Sie Kubernetes-Anwendungen auf Azure erstellen, gibt es wirklich keine Alternative, insbesondere wenn Sie Dienste wie Azure Dev Spaces in Betracht ziehen. Dev Spaces baut auf AKS auf und bietet Ihnen eine sichere, private Umgebung zum Erstellen, Testen und Debuggen Ihres Cloud-nativen Codes, ohne die Produktionsservices zu beeinträchtigen.

Entwickeln Sie mit WSL 2 und Docker für die Cloud auf Ihrem Laptop

Es ist noch nicht lange her, dass Sie bei jedem Entwicklerereignis nur eine Reihe leuchtender Apple-Logos sehen würden. Jetzt ist die Aufstellung viel gemischter, da Microsoft daran gearbeitet hat, Entwickler für Windows zurückzugewinnen und einen schnellen Zugriff auf beliebte Sprachen wie Python, einen einfach anpassbaren Programmiereditor in Visual Studio Code, ein neues Windows-Terminal und die meisten anderen zu ermöglichen Wichtig ist das Windows-Subsystem für Linux (WSL).

Die WSL emuliert zunächst einen Linux-Kernel und wird in Kürze mit einem eigenen Linux-Kernel aktualisiert, der neben Windows ausgeführt wird. WSL 2 soll das Erstellen und Testen von Cloud-Anwendungen auf einem PC vereinfachen und enthält außerdem ein Linux-Dateisystem, auf das über Windows zugegriffen werden kann, sowie Unterstützung für die Remote-Bearbeitung mit Visual Studio Code. Docker hat begonnen, eine Version von Docker Desktop für WSL 2 zu testen. Dadurch wird Windows native Linux-Containerunterstützung hinzugefügt, indem vertraute Docker-Dateien zum Erstellen und Bereitstellen lokaler Containerinstanzen und Code zum direkten Arbeiten mit deren Inhalten verwendet werden.

Die Kombination von Windows, Linux und Docker bietet eine flexible Grundlage für die Erstellung eines leistungsstarken End-to-End-Satzes von Entwicklungstools, der jede Plattform vollständig nutzt und Ihnen die Flexibilität bietet, wie gewünscht zu arbeiten und gleichzeitig Code an gängige Repositorys zu liefern.

Sichern Sie IoT mit Azure Sphere

Es ist eine Weile her, seit ich mir das letzte Mal Azure Sphere angesehen habe, Microsofts Plattform für sicheres IoT. Durch das Mischen von hardwarebasierter Sicherheit mit einem benutzerdefinierten Linux-Kernel und einer in der Cloud gehosteten Verwaltungsplattform können Sie sicherstellen, dass das Betriebssystem und die auf Ihrer Hardware ausgeführten Anwendungen nicht manipuliert wurden und der Code nicht geändert oder eingefügt werden kann von böswilligen Dritten.

Ein Entwicklungsboard mit dem sicheren ARM-Mikrocontroller von Microsoft ist seit einiger Zeit verfügbar, und kürzlich sind billigere Alternativen hinzugekommen. Es ist klar, dass Azure Sphere jetzt für die Verwendung in Ihren Produkten bereit ist. Jetzt sind produktionsbereite Module und SOCs verfügbar, sodass Sie Ihre eigene Hardware darauf aufbauen können. Sie benötigen keine neuen Entwicklungswerkzeuge. Die gesamte Azure Sphere-Entwicklung findet im vertrauten Visual Studio statt.

Eine der interessanteren Entwicklungen ist eine Reihe von Sphere-basierten Wächtereinheiten, die mit vorhandenen industriellen Steuerungen zusammenarbeiten können und eine zusätzliche Schutzschicht bei der Integration von SPS und anderen vorhandenen industriellen Systemen in Ihre Anwendungen bieten, sodass Sie möglicherweise in Betracht gezogene Geräte verbinden können In der Vergangenheit war es zu riskant, eine IoT-Plattform zu erweitern.