Video: Adam Savage's One Day Builds: Drafting Tools Sorting Drawer! (November 2024)
Bei der diesjährigen Microsoft Build, der regelmäßigen Entwicklerkonferenz des Unternehmens, hat mich am meisten beeindruckt, dass das Unternehmen offenbar die Spannungen zwischen den eigenen Plattformen von Microsoft gelöst hat und offen sein muss, indem es auf Interoperabilität und plattformübergreifende Bemühungen Wert legt.
In mehreren Sitzungen konnten Entwickler die Teile des Microsoft-Entwicklerstapels auswählen, die sie verwenden möchten: Bringen von Web-, Android- und iOS-Objective-C-Anwendungen auf Windows; Aufrufen von Azure-Funktionen und -APIs aus Anwendungen mithilfe alternativer IDEs und Sprachen; oder mit Visual Studio plattformübergreifende Anwendungen erstellen.
Es scheint eine große Änderung in der Betonung.
"Im Kern sind wir in erster Linie ein Entwickler- und ein Plattformunternehmen", sagte Microsoft-CEO Satya Nadella bei der Eröffnung der Konferenz. Er merkte an, dass Microsoft von zwei Entwicklern gegründet wurde - Paul Allen und Bill Gates - deren erstes Produkt darauf abzielte, anderen Entwicklern zu helfen.
Nadella sagte, Microsofts Mission sei es, "jede Person und jedes Unternehmen auf dem Planeten dazu zu befähigen, mehr zu erreichen", und das fängt bei den Entwicklern an. Er sagte, das Unternehmen konzentriere sich auf drei "Plattform-Möglichkeiten" - die Cloud, Office und Windows.
Was mich sowohl bei den neuen Funktionen für Windows als auch für die Azure-Cloud-Produkte am meisten beeindruckte, war die Betonung der Arbeit mit anderen Plattformen und Tools. In den letzten Jahren hat Microsoft erkannt, dass Entwickler nun Plattformen jenseits von Windows, insbesondere mobile Plattformen, ansprechen müssen. Was ich jedoch interessant fand, war, wie viele der Tools jetzt für die Anbindung an andere Technologien entwickelt wurden.
Scott Guthrie, Executive Vice President der Cloud- und Enterprise-Gruppe, sprach darüber, dass die Azure-Funktion des Unternehmens eine Komplettlösung ist, die mit neuen und vorhandenen Anwendungen, mehreren Geräten, Betriebssystemen und der Programmierung zusammenarbeiten kann Sprachen mit Tools, die in der Microsoft-Cloud, vor Ort oder in anderen Clouds ausgeführt werden.
Einiges davon ist nicht neu. Beispielsweise hat Microsoft zuvor Funktionen veröffentlicht, mit denen die Azure-Plattform Linux-Server ausführen kann. Aber ich war beeindruckt, wie viele der Sitzungen jetzt nicht nur darüber sprachen, wie man Anwendungen auf verschiedenen Betriebssystemen einsetzt und sie in Windows 10 einbindet, sondern wie man Microsoft-Dienste und -Tools verwendet, um plattformübergreifende Anwendungen zu erstellen. und wie viele zeigten, wie Sie Microsoft-Produkte in Verbindung mit anderen Sprachen und Tools verwenden können, insbesondere mit Produkten aus der Open Source-Community.
Als der Browser zum ersten Mal erschien, begann Microsoft über eine Strategie zu sprechen, mit der verschiedene Webstandards "angenommen und erweitert" werden sollten. Das hat nicht so gut geklappt - Internet Explorer war mit proprietären Microsoft-Standards wie ActiveX überfordert und konnte sich nicht schnell genug bewegen, als neue Standards auftauchten. In der Tat ist dies etwas, worauf Microsoft mit dem neuen Edge-Browser in Windows 10 endlich reagiert - es ist ein viel schnellerer, standardbasierterer Browser.
Dieses Mal scheint Microsoft wirklich verstanden zu haben, dass viele Entwickler es vorziehen, mit Tools anderer Leute zu arbeiten, insbesondere mit Open Source- und webbasierten. Anstatt wirklich zu versuchen, sie zu überzeugen, sollten sie vollständig auf Microsoft-Tools umsteigen - was wahrscheinlich ein Verlust ist. Stattdessen wird hart daran gearbeitet, die Entwicklertools mit den anderen Tools zu kombinieren und den Entwicklern zu ermöglichen, die ihnen gefallen.
Unter den Besonderheiten befanden sich viele Dinge, die mit Open-Source-Plattformen zu tun hatten. Microsoft hatte beispielsweise Docker-CEO Ben Golub und Azure-CTO Mark Russinovich auf der Bühne, um zu zeigen, wie Sie mit dem Standard-Docker eine beliebige Windows-App "dockern" und dann auf einem beliebigen Server ausführen können, einschließlich.NET unter Linux Server.
Microsoft zeigte sowohl Windows- als auch Android-Emulatoren, die in Visual Studio ausgeführt werden, und nutzte dabei Apache Cordova, eine Reihe von Geräte-APIs, mit denen Entwickler mobiler Apps auf native Gerätefunktionen zugreifen können.
Das Unternehmen kündigte Visual Studio Code an, einen kostenlosen, kompakten Code-Editor, der nativ auf Mac und Linux ausgeführt wird und dann eine Verbindung zu Visual Studio Online- und Azure-Diensten herstellen kann. (Das Unternehmen pusht Visual Studio 2015 immer noch als die vollständigste IDE, aber das ist immer noch unter Windows).
Heutzutage liegt der Schwerpunkt hauptsächlich auf Software-as-a-Service-Anwendungen und in jüngerer Zeit auf kleineren "Microservices", die andere Anwendungen aufrufen können. Microsoft demonstrierte eine Vielzahl dieser Dienste und kündigte das Azure Service Fabric an, um solche Dienste zusammenzubinden.
Es gab viele neue Datendienste, die für einige der neueren Arten von Anwendungen entwickelt wurden. Dazu gehört ein neuer SQL Data Warehouse-Dienst (der mit Dingen wie AWS Redshift konkurrieren wird), der vorgeführt wurde, um zu zeigen, wie es mit maschinellem Lernen funktionieren könnte. und ein neuer Data Lake-Dienst, der mit Event Hub- und Streaming-Analysediensten zur Erfassung von Informationen und mit den Versionen von Hadoop für Cloudera und Hortonworks zusammenarbeiten kann. Darüber hinaus enthält die Azure SQL-Datenbank jetzt eine Option für elastische Datenbanken und neue Sicherheitsfunktionen.
Die Keynote am zweiten Tag enthielt weitere solche Features. David Treadwell, Corporate Vice President der Microsoft Operating System Group, und Kevin Gallo, Director für Developer Ecosystem and Platform, sprachen darüber, wie Windows 10 über 2.500 neue Plattformfeatures und 8.000 neue Funktionen bietet. Das Spektrum reicht von der Cortana-Integration über das schnellere Media-Streaming bis hin zu DirectX 12, den neuen APIs für Spiele. (Eine Demo von Square Enix war wirklich beeindruckend.)
Sie zeigten, wie relativ einfach es ist, "universelle" Anwendungen zu erstellen, die von PCs und Telefonen über den 84-Zoll-Surface Hub bis hin zum Raspberry Pi 2 IoT-Gerät und HoloLens skaliert werden können. Sie betonten aber auch, wie einfach es ist, Anwendungen aus dem Web auf Windows zu verschieben, bestehende Win32-Apps, eine Java- oder C ++ - App für Android und Objective-C-Code für Apples iOS. In all diesen Fällen haben sie erneut gezeigt, wie ein Entwickler relativ einfach Windows-spezifische Funktionen wie Live Tiles oder Cortana-Integration zum vorhandenen Code hinzufügen kann.
Später zeigten Steve Guggenheimer und John Shewchuk von Microsoft neue Tools zum Erstellen plattformübergreifender Anwendungen mit einigen neuen JavaScript-Bibliotheken und einer Enterprise-Version von GitHub.
Die vielleicht interessantesten Beispiele stammten von Joseph Sirosh, einem Vice President of Corporate, der das maschinelle Lernen leitet. Er zeigte eine Reihe von Anwendungen im Bereich Predictive Analytics, darunter eine Fujitsu-Anwendung für "The Connected Cow", die die Azure-Cloud verwendet. (In dieser Anwendung werden mit einem Schrittzähler, der an einem Bein der Kuh angebracht ist, Daten zu Schritten erfasst, anhand derer vorhergesagt wird, wann die Kühe für die künstliche Befruchtung bereit sind, und sogar, wie sie für weibliche oder männliche Kälber optimiert werden können.)
Er zeigte auch, wie Sie mithilfe der Funktionen für maschinelles Lernen Ihre eigenen APIs erstellen, die dann von anderen Anwendungen aufgerufen werden können. Er zeigte auch, wie die R-Sprache zum Erstellen von APIs verwendet werden kann, und zeigte eine Anwendung, die sein eigenes Genom verwendete, um potenzielle medizinische Risiken zu identifizieren. Maschinelles Lernen ist heutzutage ein heißes Thema, und Microsoft pusht das Konzept eindeutig zu seinen Entwicklern.
In einer Reihe anderer Sitzungen, an denen ich in den letzten Tagen teilgenommen habe, war ich überrascht, wie wichtig die plattformübergreifende Entwicklung war und wie viele Microsoft-Entwickler tatsächlich die Microsoft-Tools zeigten, die mit anderen Tools wie Open Source zusammenarbeiten Eclipse IDE für Java. Es ist eine große Veränderung in der Betonung, die anzeigt, wie sehr sich Microsoft in den letzten Jahren verändert hat.