Einmal mehr hat
Microsoft Anfang Mai die Entwicklerkonferenz Build 2019 abgehalten. Rund 6000 Teilnehmer, die sich aus erster Hand über die Zukunftspläne der Redmonder informieren wollten, liessen sich nach Seattle locken. Ein Trend, der sich bereits im letzten Jahr abzeichnete, wurde dieses Jahr noch deutlicher: Windows rückt weiter aus dem Zentrum von Microsofts Plattformstrategie. Die Zukunft gehört den Cloud-Plattformen Azure und Microsoft 365, welche die Grundlage für moderne Anwendungen liefern sollen. Trotz dem Fokus auf die Cloud gab es auch eine Reihe von Ankündigungen zu Windows, Edge und Visual Studio.
Windows 10 erhält Linux Kernel
Für Windows konnte Microsoft mit einer Ankündigung aufwarten, mit der so wohl niemand gerechnet hätte: Windows 10 und Windows Server werden einen "echten" Linux Kernel erhalten.
Bereits seit dem Anniversary Update (Build 1607) verfügt Windows 10 über ein Subsystem für Linux. Dieses leidet allerdings unter schlechter Performance bei Dateioperationen und mangelnder Kompatibilität. Der Grund: Linux-Systemaufrufe in die Windows API müssen erst mit Hilfe eines Transition Layers übersetzt werden.
Mit dem neuen Windows Subsystem for Linux 2 (WSL 2) wirft Microsoft den bisherigen Ansatz über Bord und integriert einen echten Linux Kernel (derzeit basierend auf Linux 4.19). Dieser soll in einer schlanken Virtual Machine betrieben werden und für den Start nur rund eine Sekunde benötigen. Neben dem nativen Support von Linux-Treibern wird das neue Linux-Subsystem auch den direkten Betrieb von Linux-Docker-Containern ermöglichen. Eine erste Fassung von WSL 2 soll ab Ende Juni über das Windows Insider Programm (Fast Ring) zur Verfügung stehen. Basierend auf WSL 2 wird man via Microsoft Store auch Linux-Distributionen wie Ubuntu, Opensuse oder Debian installieren können.
Windows 10 und Windows Server werden ein vollwertiges Linux-Subsystem erhalten. (Quelle: SITM)
.NET 5.0 wird künftig die Grundlage für alle .NET-Anwendungsarten sein. (Quelle: SITM)
Visual Studio wird es künftig auch in einer Online-Variante geben, welche sich direkt via Webbrowser nutzen lässt. (Quelle: SITM)
Das Fluid Framework liefert die Basis für die Umsetzung von kollaborativen Anwendungen. (Quelle: SITM)
Die Microsoft Graph API ermöglicht Entwicklern, in der Microsoft 365 Cloud gespeicherte Informationen in eigenen Anwendungen zu nutzen. (Quelle: SITM)
Mit dem Machine Learning Visual Interface sollen sich AI-Lösungen in einer visuellen UI konzipieren lassen, ohne Code schreiben zu müssen. (Quelle: SITM)
In seiner Vision Keynote lieferte Microsoft-CEO Satya Nadella einen Überblick über die neuesten Trends und Technologien seines Unternehmens. (Quelle: Microsoft)
Modernes Windows Terminal
Mit Windows Terminal werden Windows 10 und Windows Server endlich um eine moderne Kommandozeilen-Konsole erweitert. Windows Terminal kann sowohl für den guten alten Command Prompt (CMD), für Powershell als auch als Shell für das Linux-Subsystem (WSL) genutzt werden. Eine neue Textrendering-Engine soll dank GPU-Support alle Unicode-Zeichen, Glyphen, Symbole und sogar Emoticons in ansprechender Qualität ausgeben können. Sehr praktisch: Das neue Terminal bietet Support für Registrierkarten, über die mehrere offene Sessions in eigenen Fenstern verwaltet werden können. Weitere Features sind vorkonfigurierbare Farb- und Layout-Themes sowie Support für Shortcuts und Erweiterungen (Plug-ins). Windows Terminal soll diesen Sommer via
Microsoft Store in einer Preview-Fassung zur Verfügung stehen. Version 1.0 ist für Ende 2019 geplant.
IE-Modus für Chromium-Edge
Für die neue, auf Chromium-basierte Variante des Edge-Browsers wurde ein Internet-Explorer-Kompatibilitäts-Modus angekündigt. Dieses Feature richtet sich vor allem an Firmenkunden, welche für die Nutzung von Legacy-Web-Anwendungen nach wie vor auf die Nutzung des Internet Explorers angewiesen sind. Dank IE-Modus sollen diese jetzt auf Edge als Standard-Browser migrieren können.
Edge soll auch drei Privacy-Modi erhalten: Unrestricted, Balanced und Strict. Damit können Benutzer Einfluss auf das Sammeln von Nutzungsdaten durch Drittfirmen im Web nehmen.
Als dritte grosse Edge-Ankündigung wurde das Feature Collections gezeigt. Diese erlauben es, Inhalte von Webseiten per Click in einem eingeblendeten Panel abzulegen. Die erstellten Sammlungen können anschliessend in ein Word-Dokument exportiert oder mit anderen Anwendern geteilt werden.
Natürlich wird
Microsoft mit dem neuen Edge den Browsermarkt nicht umkrempeln können. Vor allem durch den Wechsel auf die Chromium-Engine und den IE-Modus könnte sich Edge aber für Unternehmen zu einer valablen Alternative zu anderen Web-Browsern mausern. Der Chromium-basierte Edge-Browser soll neben Windows 10 auch für Windows 7, MacOS und Linux verfügbar werden.
NET 5.0: Vereinheitlichte .NET-Plattform
Einmal mehr hat
Microsoft zu ihrer Entwicklungsplattform .NET eine tiefgreifende Strategieänderung angekündigt. So sollen die bisherigen .NET-Varianten .NET Framework, .NET Core und Mono zusammengeführt und unter der Bezeichnung .NET 5.0 im November 2020 neu lanciert werden.
Dabei wird .NET 5.0 die Grundlage für alle auf .NET aufbauenden Applikationstypen werden. Dazu zählen Desktop-Anwendungen (Windows Forms, WPF, UWP), Web-Anwendungen (ASP.NET), mobile Apps (UWP, Xamarin) sowie Spiele (Unity).
Wie .NET Core kann .NET 5.0 plattformunabhängig eingesetzt werden. Das gilt allerdings nicht für alle Anwendungsarten. So wird man Desktop-Applikationen basierend auf WPF und Windows Forms auch künftig nur unter Windows nutzen können. UWP-Apps (Universal Windows Plattform) werden nach wie vor nur unter Windows 10 ausgeführt werden können.
Microsoft plant einen Grossteil der Funktionen aus dem klassischen .NET Framework und Mono in .NET 5.0 einfliessen zu lassen. Dazu gehören unter anderem die Lauffähigkeit auf iOS und Android und die Ahead-of-Time-Kompilierung (AOT) aus Mono. Bereits in .NET Core 3.0 (verfügbar im September 2019), das an der letztjährigen Build angekündigt wurde, werden zahlreiche Features aus dem .NET Framework (z.B. WinForms, WPF) übernommen. Diese werden auch in .NET 5.0 zu finden sein. Als ganz neues Feature in .NET 5.0 will Microsoft erstmals auch eine Code-Integration mit Java, Objective-C und Swift anbieten
Definitiv nicht in .NET 5.0 enthalten sein werden ASP.NET Webforms, ASP.NET Webservices, WCF (Windows Communication Foundation), .NET Remoting und Windows Workflow. Diese werden aber weiterhin über das klassische .NET Framework 4.8 unterstützt, welches im April als letzte neue Version erschienen ist. Microsoft hat versprochen, .NET Framework 4.8 weiterhin zu pflegen und mit Sicherheitsupdates zu versorgen, neue Features wird es allerdings keine mehr erhalten.
Ausserdem hat Microsoft in Aussicht gestellt, nach Erscheinen von .NET 5.0 in Jahresintervallen neue .NET-Versionen (.NET 6.0, 7.0 etc.) auf den Markt bringen zu wollen.
Visual Studio: Entwickeln aus der Ferne
Mit Visual Studio Online hat
Microsoft einen Ableger von Visual Studio Code angekündigt, der via Webbrowser genutzt werden kann. Die Benutzeroberfläche der Online-Version ist stark an Visual Code angelehnt. Ausserdem kann der Online-Editor mit gängigen Visual-Studio-Projekt-Formaten (Workspaces, Projects, Solutions) umgehen, lässt sich mit Plug-ins erweitern und hat neuere Visual-Studio-Features wie Intellicode und Liveshare bereits integriert. Eine Preview des Online-Editors soll noch im Laufe dieses Jahres verfügbar werden.
Des Weiteren hat Microsoft ein neues Feature mit der Bezeichnung Visual Studio Remote Development vorgestellt. Damit können Entwickler auf einem entfernten System vorhandenen Sourcecode lokal bearbeiten und kompilieren, auch wenn auf der lokalen Visual-Studio-Installation die für die Lösung nötigen Frameworks und Programmiersprachen nicht installiert sind.
Ergänzend dazu planen die Redmonder künftig sogenannte Cloud Hosted Development Environments anzubieten, auf denen die nötigen Frameworks und Werkzeuge bereits vorinstalliert sind. Zur Nutzung braucht man lediglich die Adresse eines Repositorys anzugeben, die Cloud-Umgebung sorgt dann dafür, dass alle für die Entwicklung notwendigen Packages in der Cloud bereitgestellt werden. Vor Ort kann Visual Studio oder Visual Studio Code genutzt werden, ohne dass Anpassungen am lokalen System erforderlich sind. Microsoft will damit Entwicklern entgegenkommen, die an unterschiedlichen Projekten arbeiten und bisher viel Zeit damit verbrachten, ihre Entwicklungsumgebung mit den notwendigen Werkzeugen und Frameworks einzurichten. Die beiden Remote-Features finden sich noch in einem frühen Entwicklungsstadium und stehen erst in Form einer privaten Preview zur Verfügung.
Enttäuschend wenig Neues zu hören gab es zu Github, Microsofts 7,5-Milliarden-Dollar-Übernahme, welche im letzten Oktober abgeschlossen wurde. Immerhin gibt es einige Verbesserungen, die Doppelspurigkeiten beim Identitätsmanagement ausräumen sollen: Github-Enterprise-Benutzer werden künftig in der Lage sein, sich via Azure Active Directory bei Github anzumelden. Umgekehrt wird es möglich sein, den Github-Account zur Anmeldung bei Azure zu nutzen.
Fluid Framework
Eine der spannendsten Ankündigungen der Build war zweifellos das Fluid Framework. Dabei handelt es sich um ein Software Development Kit, mit dem Entwickler kollaborative, über die Cloud hinweg verteilte Anwendungen entwickeln können.
Geht es nach dem Willen von
Microsoft, sollen mit dem Fluid Framework die Barrieren des traditionellen Dokuments aufgehoben und die Ära der frei fliessenden Leinwand (Free Flowing Canvas) eingeleitet werden. Will heissen: Der Anwender braucht nicht mehr zu überlegen, mit welcher Anwendung er einen bestimmten Inhaltstyp (Text, Tabelle, Grafik etc.) erstellt, sondern erzeugt diese in der Anwendung und im Kontext, in dem er gerade arbeitet. In einer Demo wurde gezeigt, wie zwei Benutzer eine Tabelle, welche in Word und in einem Microsoft-Teams-Chat-eingebettet wurden, gleichzeitig bearbeiten können. Die vorgenommenen Änderungen werden dabei in Echtzeit synchronisiert (siehe Screenshot). In einem weiteren Beispiel demonstrierte
Microsoft, wie ein Dokument während der Bearbeitung simultan in neun verschiedene Sprachen übersetzt wurde, wobei jeder der neun Benutzer in der Lage war, das Dokument in seiner eigenen Sprache zu bearbeiten.
Im Kern stellt das Fluid Framework drei Grundfunktionen zur Verfügung. Erstens soll es Co-Authoring via Web ermöglichen und das mit einer extrem geringen Latenz. Zweites sollen sich Dokumente in modulare Komponenten (kollaborative Bausteine) dekonstruieren und diese in anderen Anwendungen zu neuen Dokumenten zusammensetzen lassen. Drittens können intelligente Agenten in eine Fluid-Lösung eingebunden werden, welche Aufgaben wie etwa Übersetzung, Compliance-Prüfungen oder Änderungsvorschläge übernehmen können.
Microsoft plant, Fluid noch in diesem Jahr in einigen seiner Office-365-Anwendungen wie Teams, Word oder Excel zu integrieren. Für Microsoft-Kunden soll das Fluid SDK gegen Ende dieses Jahres verfügbar werden.
Datenschnittstellen für MS Graph
Ein zentrales Element von Microsofts Cloud-Strategie bildet der
Microsoft Graph. Dabei handelt es sich um eine universelle Programmierschnittstelle, die Entwicklern den Zugriff auf die Services von Microsoft 365 erlaubt. Dazu zählen Office 365 (Exchange, Teams, Sharepoint etc.), Windows 10 (Activities, Notifications etc.), Enterprise Mobility & Security (Azure AD, Intune etc.) und seit kurzem auch Dynamics 365. Microsoft Graph wird ständig ausgebaut. Nahezu im Monatstakt kommen neue API-Erweiterungen hinzu. Zur Build wurden beispielsweise neue APIs für Microsoft Teams, Onedrive und Azure Active Directory angekündigt.
Um Daten in grossen Mengen aus Microsoft 365 auslesen zu können, wurde Microsoft Graph Data Connect vorgestellt. Unternehmen können damit Daten via Azure Data Factory exportieren und für die weitere Verarbeitung oder Analyse an andere Cloud-Dienste übergeben.
Gab es bislang nur die Möglichkeit, Daten aus Microsoft auszulesen, wird man künftig über die neu angekündigten Microsoft Graph Connectors (vorerst nur als private Preview verfügbar) in der Lage sein, auch eigene Daten in den Microsoft Graph einzuspeisen. Microsoft 365 Services lassen sich dadurch um firmeneigene Daten oder Informationen aus Services von Drittanbietern anreichern. Spannend: Dank der Connector-Technologie sollen sich künftig auch firmeneigene Daten in den universellen Suchdienst Microsoft 365 Search einbinden lassen.
Des Weiteren hat Microsoft erste Blicke auf das Microsoft Graph Toolkit gewährt. Dabei handelt es sich um vorgefertigte Web-Komponenten. Mit wenigen Codezeilen lassen sich damit UI-Komponenten (z.B. eine Task-Liste oder ein Login-Dialog) inklusive Datenzugriff via MS Graph in eigene Web-Anwendungen integrieren.
Mehr Focus mit Myanalytics
Der "Fitnesstracker fürs Business" Myanalytics wird um eine Funktion erweitert, die dabei hilft, Zeit für konzentriertes Arbeiten zu finden. Das Feature sucht im Kalender nach passenden Zeitblöcken und blockiert diese. Während dieser Zeit soll man dann ohne Unterbrechung und Benachrichtigungen arbeiten können. So werden beispielsweise während den Fokus-Zeiträumen Nachrichten aus
Microsoft Teams per Microsoft Graph automatisch stummgeschaltet.
Cognitive Services – AI aus der Box
Mit den Cognitive Services bietet
Microsoft seit geraumer Zeit vortrainierte AI-Modelle für Sprach-, Bild- und Texterkennung an. Diese lassen sich von Entwicklern über Programmierschnittstellen in eigene Anwendungen integrieren und können durch Trainings den eigenen Bedürfnissen angepasst werden. Zur Build hat Microsoft nun eine Reihe neuer Dienste für ihre Cognitive-Plattform angekündigt.
Dazu gehört der Dienst Personalizer, der bei der Umsetzung von Personalisierungslösungen helfen soll. Das Besondere am Personalizer ist, dass Microsoft anstelle des üblichen Ansatzes des Supervised Learnings mit beschrifteten Trainingsdaten auf das sogenannte Reinforcement Learning setzt. Dabei versucht ein Reinforcement Agent basierend auf dem Nutzerverhalten ständig zu lernen, um Benutzern bessere Vorschläge machen zu können. Microsoft setzt den Personalizer-Dienst bereits seit einiger Zeit in ihren Xbox-Diensten ein und hat damit gemäss eigenen Angaben eine 40-prozentige Steigerung des User-Engagements erreicht.
Für Firmen als besonders spannend könnte sich der Form Recognizer herauskristallisieren. Dieser Dienst macht es möglich, Daten aus Businessformularen und Dokumenten zu extrahieren, um diese in strukturierter Form an andere Systeme übergeben zu können. Zum Antrainieren soll der Forms-Service nur fünf Beispiele eines Formulars benötigen, um die Daten sicher auslesen zu können.
Die Azure Speech Services werden um den neuen Transkriptionsservice erweitert. Dieser kann Gespräche mit mehreren Teilnehmern in Echtzeit in ein Textprotokoll umwandeln. Es kann verschiedene Sprecher erkennen und sogar mit Übersprechern umgehen. Der Dienst lässt sich via Microsoft Teams nutzen, kann aber auch in eigene Anwendungen integriert werden.
Werkzeuge für eigene AI-Modelle
Um Firmen die Erstellung von eigenen AI-Modellen zu erleichtern, hat
Microsoft neue Werkzeuge für ihre Azure Machine Learning Services angekündigt. So wird der Automated-Machine-Learning-Dienst (AutoML) um eine neue Benutzeroberfläche erweitert, welche das Erzeugen von Modellen intuitiver machen soll. Ebenfalls neu ist das grafische AI-Werkzeug mit dem sperrigen Namen "Azure Machine Learning Visual Interface". Das stark an das bereits existierende Azure ML Studio erinnernde Werkzeug erlaubt die Konzeption von AI-Modellen auf einer grafischen Oberfläche mittels Drag&Drop.
Mit MLOps haben die Redmonder zudem ein neues Framework für die Verwaltung des Lebenszyklus von AI-Modellen vorgestellt. Vom Grundgedanken her orientiert sich MLOps stark an der Devops-Philosophie und erlaubt es, Deployment, Validerung und Neutrainieren von AI-Modellen zu automatisieren.
Sprachassistent als Allrounder
Nachdem
Microsoft bei den digitalen Assistenten gegenüber Amazon (Alexa) und Google (Google Assistant) stark ins Hintertreffen geraten ist, wagt der Softwarehersteller nun offenbar einen Neustart. In einer eindrücklichen Videodemo wurde eine sprachgesteuerte Kalenderapplikation gezeigt, die in der Lage war, Befehle aus dem Kontext der Konversation zu erkennen. Zudem vermochte der Sprachassistent der Konversation über insgesamt 34 Schritte zu folgen, ohne dabei den Faden zu verlieren. Des Weiteren konnte der Assistent verschiedene Skills miteinander kombinieren und beispielsweise vorgängig das Wetter prüfen, bevor ein Termin auf der Terrasse eines nahegelegenen Cafés arrangiert wurde.
Die grundlegende Technologie des neuartigen Assistenten stammt von Semantic Machines, welche von Microsoft im letzten Jahr akquiriert wurde. Microsoft plant, die neue Konversationstechnologie in naher Zukunft einerseits in Cortana zu integrieren und andererseits auch Entwicklern und Kunden über das Microsoft Bot Framework und andere Azure-Dienste zur Verfügung zu stellen. Die neue Agenten-Technologie soll dabei vor allem auf Unternehmen ausgerichtet werden, welche diese auf ihre eigenen Bedürfnisse anpassen können.
SQL und Plug & Play für IoT
Für IoT- und Edge-Geräte wurde mit Azure SQL Database Edge eine neue SQL Engine vorgestellt. Die neue SQL-Datenbank, welche ARM- und x64-Prozessoren unterstützt, wurde speziell auf die geringere Leistung von IoT-Geräten optimiert und stellt lokal Funktionen für Data Streaming, Machine Learning und Graph-Fähigkeiten bereit. Azure SQL Database Edge soll sich nahtlos mit den "grossen" SQL-Varianten Azure SQL Database und SQL Server integrieren lassen, sodass Unternehmen Datenströme von IoT Devices in ihre zentralen Datenbanken weiterleiten und zusammenführen können. Eine permanente Cloud-Anbindung ist dabei nicht zwingend notwendig: SQL Database Edge kann auch auf Offline-Geräten eingesetzt werden.
Darüber hinaus hat
Microsoft IoT Plug & Play vorgestellt. Dahinter verbirgt sich eine neue offene Modellierungssprache, welche die Integration zwischen IoT-Geräten und Cloud-Diensten erleichtern soll. Eines der grössten Probleme bei IoT Rollouts ist die spezifische Integrationssoftware, die für die Cloud-Anbindung geschrieben werden muss. Indem Hersteller Geräte für IoT Plug & Play zertifizieren können, soll dieser Prozess nun deutlich einfacher und IoT-Geräte flexibler einsetzbar werden.
Blockchain as a Service
Microsoft arbeitet bereits seit einigen Jahren an eigenen Blockchain-Angeboten, welche im Rahmen von Azure als Services angeboten werden. Bereits an der letztjährigen Build wurde die Azure Blockchain Workbench für die Modellierung von Blockchain-Lösungen vorgestellt. Mit dem Azure Blockchain Service gesellt sich nun ein Basisdienst hinzu, mit dem der Aufbau, die Verwaltung und die Überwachung von konsortialen Blockchains vereinfacht werden soll. Die Blockchain-as-a-Service-Plattform (BaaS) stellt ein vollständig verwaltetes Konsortialnetzwerk bereit und bietet auch eine integrierte Governance für allgemeine Verwaltungsaufgaben, wie etwa das Hinzufügen neuer Mitglieder, das Setzen von Berechtigungen und die Authentifizierung von Benutzeranwendungen. Ergänzend zur Blockchain-as-a-Service-Ankündigung haben die Redmonder ein Plug-in für Visual Studio Code vorgestellt, das bei der Erstellung und Kompilierung von Ethereum Smart Contracts behilflich ist.