Dank Modularität zu mehr Produktivität - Allgeier (Schweiz)

Die Seite wird erstellt Milo Braun
 
WEITER LESEN
Dank Modularität zu mehr Produktivität - Allgeier (Schweiz)
Test Center

Dank Modularität
zu mehr Produktivität
Visual Studio 2017 Microsoft hat im März 2017 eine neue Version
seiner Entwicklersuite Visual Studio veröffentlicht. Im Vordergrund stehen
die Verbesserung der Produktivität und die Anbindung an die Cloud.

Von Christoph Möhring

M
                icrosoft hat am 7. März 2017 Visual Studio 2017                     Die Zusammenarbeit mit der Cloud ist für den Entwickler
                veröffentlicht und preist die Entwicklungsumge-                  transparent gestaltet. Dies betrifft die Microsoft-eigene Azure-­
                bung für alle Plattformen und Technologien un-                   Einbindung sowie Cloud-Plattformen anderer Anbieter. Alles
                ter dem Motto «Any Developer, Any App, Any                       kann direkt und zentral gesteuert und verwaltet werden. Mit der
Platform» an. Die implementierten Änderungen und Neuerun-                        Taste F5 wird die Debug Session gestartet, unabhängig davon,
gen sollen sich positiv auf die Produktivität auswirken. Visual                  wo der Code ausgeführt wird. Diese Möglichkeiten sind nicht nur
Studio ist ausserdem neu auch unter MacOS (Visual Studio for                     auf die Entwicklung beschränkt. Microsoft ermöglicht es, den
Mac) verfügbar. Damit werden nun alle relevanten Plattformen                     kompletten DevOps-Prozess abzubilden. Von der Entwicklung
unterstützt, nämlich Windows, MacOS, Linux, iOS, Android                         bis hin zur Produktion in mehreren Stufen für alle gewünschten
und Windows Mobile.                                                              Umgebungen: Test, Integration und Produktion. Kurz vor Ende
   Die Oberfläche der Entwicklersuite hat sich nur im Detail                     der Betaphase sind die Redgate Data Tools in die RTM-Version
geändert. Die darunterliegende Architektur ist jedoch komplett                   mit aufgenommen worden. Die interessanteste Funktion ist hier-
überarbeitet worden. Dies macht sich vor allem bei der Instal-                   bei die automatische Erstellung von SQL Skripts. Im Skript sind
lation bemerkbar. Über eine Auswahl von 16 unterschiedlichen                     die Änderungen zwischen den verschiedenen Datenbank-Versi-
«Workloads» werden nur die Komponenten installiert, die für                      onen ersichtlich. Das erstellte Skript wird als Teil des Projekts
eine spezifische Art der Entwicklung benötigt werden. Xama-                      behandelt und in die Versionskontrolle eingebunden. Leider sind
rin ist neu Teil von Visual Studio und wird über den Workload                    die Tools bis auf die Redgate SQL Search nur in der Enterprise
Mobile Development with .NET installiert. Interessant ist die                    Version verfügbar. Die Familie von Visual Studio ist nochmals
Möglichkeit, mit dem Xamarin Inspector zur Laufzeit das UI                       gewachsen – und zwar auf einen Umfang, der den Rahmen die-
zu analysieren und anzupassen. Mit diesem Release kommen                         ses Tests bei weitem sprengen würde. Der Test fokussiert sich
auch weitere Zielplattformen wie TvOS und Tizen for .NET                         daher im Nachfolgenden auf die spezifischen Neuerungen von
hinzu. .NET Core wird nicht nur von Xamarin unterstützt. Mit                     Visual Studio 2017 in der Enterprise-Version.
dem zeitgleich veröffentlichten .NET Core Tooling können alle
Anwendungstypen mit oder ohne Cloud-Unterstützung auch im                        Modularisierung
Container entwickelt werden.                                                     Mit Visual Studio 2017 hat Microsoft die Entwicklungsumge-
                                                                                 bung grundlegend modularisiert. Das Installationsprogram ist
                                                                                 übersichtlich und in Bereiche gegliedert, die durch Kacheln
                                                                                 mit dem Anwendungstyp dargestellt werden. Durch Auswahl
     VISUAL STUDIO 2017                                                          einer oder mehrerer Kacheln werden nur die, für die benötigten
                                                                                 Aufgaben notwendigen Komponenten installiert. Microsoft be-
     ➤➤ Visual Studio ist modular aufgebaut und installiert nur die benötigten
                                                                                 zeichnet diese Aufteilung wie eingangs bereits beschrieben als
       Komponenten.
                                                                                 «Workloads» (in der deutschen Version noch etwas unglücklich:
     ➤➤ Die Komponenten sind in «Workloads» nach Aufgaben gruppiert.
                                                                                 «Arbeitsauslastungen»). Dadurch wurde der Installationsauf-
     ➤➤ Alle Komponenten von Xamarin sind integriert, ein interaktiver
                                                                                 wand massiv verringert. Was früher durchaus mehrere Stunden
       Formular-Designer steht zur Verfügung.
     ➤➤ Die Cloud-Unterstützung wurde weiter ausgebaut, DevOps-Prozesse
                                                                                 dauern konnte, ist neu bereits in wenigen Minuten erledigt. Die
       können abgebildet werden.
                                                                                 Minimalinstallation hat eine Grösse von nur 753 MB und bein-
     ➤➤ Visual Studio for Mac und Visual Studio Mobile Center sind neu dazu
                                                                                 haltet die Visual Studio Shell ohne besondere Funktionen. Eine
       gekommen.                                                                 typische Auswahl wie Webentwicklung oder .NET-Desktop­
                                                                                 entwicklung ist zirka 3 bis 6 GB gross.

50                                                                                                             Nr. 04 | April 2017   Swiss IT Magazine
Dank Modularität zu mehr Produktivität - Allgeier (Schweiz)
Test Center

                                                                                das Verzeichnis hinzugefügt. Im täglichen Einsatz erhält man
                                                                                somit eine Flexibität, wie man sie von Visual Studio Code oder
                                                                                anderen Editoren gewohnt ist.
                                                                                   Bei den Sprachen wurden keine besonders nennenswerte
                                                                                Neuerungen implementiert. Vielmehr wurden etliche kleine Er-
                                                                                weiterungen eingeführt, wie zum Beispiel die Option, Tupeln
                                                                                als Paremeter und Rückgabewert unter C# 7.0 und Visual Basic
                                                                                14 einzusetzen. Für die tägliche Entwicklung werden die Erwei-
                                                                                terungen keinen besonderen Mehrwert bringen. In Spezialfällen
                                                                                können sie aber eine spürbare Erleichterung bedeuten.

                                                                                Mobile Entwicklung
                                                                                Wie bei den Frameworks werden für die mobile Entwicklung
                                                                                unterschiedliche Ansätze angeboten. Neben der klassichen Ent-
                                                                                wicklung mit C++ können unter Javascript mit Apache Cordova
Im Marketplace sind alle Erweiterungen für Visual Studio 2017 aufgelistet und   oder unter Xamarin mobile Anwendungen entwickelt werden.
stehen zum Download bereit.                                                     Hierfür existieren eigene Workloads mit den zugehörigen Pro-
                                                                                jektvorlagen.
                                                                                   Es ist spürbar, dass die Untersützung für Xamarin im Vor-
                                                                                dergrund steht. Während der Präsentation am Launch-Event
   Der modulare Ansatz setzt sich auch nach der Installation                    wurden fast auschliesslich Xamarin und dessen Tools vorge-
fort. Wird ein Projekttyp oder Designer während der Arbeit oder                 stellt. Visual Studio 2017 hat Version 4.3 von Xamarin integ-
von geladenen Projekten benötigt, kann die Erweiterung direkt                   riert. Die grössten Änderungen sind eine Vorschaufunktion für
instal­liert werden. Über das Installationsprogramm können wei-                 die XAML-basierten Xamarin Forms und eine Analyse- und
tere Workloads oder einzelne Komponenten nachträglich manu-                     Editierfunktion des XAML Code durch den Xamarin Inspec-
ell hinzugefügt werden. Bei der Installation von neuen Projekt-                 tor. Dieser Inspector ermöglicht es, sich während der Laufzeit
typen kann es sein, dass Visual Studio beendet werden muss,                     mit der im Emulator ausgeführten App zu verbinden und die
um die Installation fortsetzen zu können. Dies ist zum Beispiel                 Oberfläche in den einzelnen Ebenen zu betrachen. Dabei können
bei der Erweiterung für Office/SharePoint aufgetreten. In Pra-                  Anpassungen im Design vorgenommen werden, die wiederum
xistests zeigt sich, dass solche Fehler davon abhängen können,                  zu einer Anpassung im Code führen. Dies ist eine sehr beein-
welche Tools bereits installiert waren. Glücklicherweise sind                   druckende Funktion, die besonders bei der Vielfalt der mobilen
solche Bugs aber die Ausnahme und dürften mit der Weiteren-                     Betriebssystemversionen viel Zeit einspart.
entwicklung der Workloads behoben werden.

Workloads
Mit den Workloads werden Komponenten für typische Aufgaben                        VERSIONEN UND INHALTE
zusammengefasst. Es existieren 16 unterschiedliche Workloads,
die nach Themen gegliedert sind, wie zum Beispiel Windows,                        Visual Studio 2017
Web und Cloud oder Mobile und Gaming.                                             ➤➤ Community: Public kostenlos
  Interessant ist, dass Microsoft neben den klassischen Desk-                     ➤➤ Professional: für Einzelentwickler und kleine Teams
top- und Web-Workloads auch Workloads für Node.js, Python                         ➤➤ Enterprise: für Unternehmen oder Software-/Beratungsfirmen
und Unity anbietet. Die Vielfalt des Angebots zeigt, wie viele                    Visual Studio Team Foundation Server 2017 oder VSTS
unterschiedliche Technologien und Frameworks unterstützt                          ➤➤ Codeverwaltung
werden. Zum Teil überlappen oder konkurrieren diese, aber Vi-                     ➤➤ Abbildung von Entwicklungsprozessen
sual Studio kann mit allen umgehen. Die Entscheidung, wie und                     ➤➤ Deployment (Release Management) und DevOps
was genutzt wird, liegt letztlich beim Entwickler, die Auswahl
                                                                                  Visual Studio Mobile Center
gestaltet sich jedoch nicht immer einfach.
                                                                                  ➤➤ Testsuite für mobile Anwendungen

.NET Core und .NET                                                                Visual Studio for Mac
Die Beantwortung der Frage, welches Framework oder welche                         ➤➤ Web und Mobile; überwiegend auf Xamarin basierend
Sprache eingesetzt werden soll, kann eine Herausforderung                         Xamarin Developer Studio
sein. Mit .NET, .NET Core und Xamarin werden gleich drei                          ➤➤ Crossplattform Development für Mobile und Web
hauseigene Frameworks angeboten. Hinzu kommen die unter-
schiedlichen Javascript Frameworks oder Bibliotheken. Die                         Visual Studio Code
Unterstützung ist für alle ungefähr gleichwertig. Für .NET Core                   ➤➤ leichtgewichtig, kostenlos
                                                                                  ➤➤ Windows, Linux, MacOS
v1.1.1 gibt es jetzt die .NET Core Tools. Interessanterweise wird
                                                                                  ➤➤ Web und Mobile
ein neues Format für die Projektdatei (csproj) eingesetzt. Diese
                                                                                  ➤➤ Git-Integration
enthält nicht mehr die einzelnen Dateien, sondern nur noch die
Verzeichnisse. Neue Dateien werden einfach durch Kopieren in

Swiss IT Magazine        Nr. 04 | April 2017                                                                                                        51
Test Center

Javascript                                                                      gang in den Betrieb. Microsoft spricht hier von Continuous In-
Die Entwicklung mit Javascript wird nicht nur bei der mobilen                   tegration (CI) und Continuous Delivery (CD). Mit diesen beiden
Entwicklung unterstützt. Vielmehr ist Javascript in fast allen                  letzten Schritten wird ein kompletter DevOps-Prozess abgebil-
Bereichen vertreten. Deswegen bietet Visual Studio in allen Ja-                 det. Der gesamte Ablauf kann mit Hilfe der Visual Studio Teams
vascript-Projekten einen neuen Language Service an. Dieser ist                  Services erweitert und konfiguriert werden. Nach und nach kön-
schnell und bietet eine erweiterte Intellisense-Unterstützung für               nen weitere Schritte in den Auslieferungsprozess aufgenommen
Sprachfeatures aus JSDoc, ES2016 und JSX Syntax an. Der Per-                    werden. Hat man eine Umgebung (zum Beispiel Test) fertig,
formance-Gewinn macht sich insbesondere bei grösseren Pro-                      können für die weiteren Umgebungen die Konfigurationen ge-
jekten mit vielen Dateien bemerkbar. Die Vorschläge erscheinen                  klont und über Variablen an die Umgebung angepasst werden. In
praktisch unmittelbar und unterstützen den Entwickler.                          der Präsentation während des Launch-Events wurde innerhalb

Cloud
Egal wo der Javascript Code letztendlich ausgeführt wird, Visual
Studio bietet eine Unterstützung zum Debuggen oder Deployen.
Am umfangreichsten ist diese bei der hauseigenen Azure-Platt-
form gegeben, aber auch die Cloud-Dienste von Google und
Amazon werden unterstützt, sowohl von Microsoft wie auch
von den Cloud-Anbietern. Über die mitgelieferten Projektvor­
lagen werden alle Daten für den Cloud-Dienst gesammelt und in
einem vorgefertigten Projekt mit Deployment erstellt. Die Pro-
jekt-Konfigurationen können nachträglich angepasst werden,
um weitere Deployment-Umgebungen oder Container hinzuzu-
fügen. Diese Projektvorlagen sind sehr hilfreich bei der Kon-
figuration. Visual Studio speichert die Cloud Services (sprich                  Die Filterung mit Intellisense.
Azure-Konten) und macht sie überall verfügbar. So kann rasch
das richtige Konto gewählt werden. Werden weitere Ressour-
cen innerhalb Azure benötigt, können diese gleich mit erstellt                  von zehn Minuten gezeigt, wie auf diese Weise der komplette
werden. Dies verringert den Verwaltungsaufwand enorm. Nicht                     Auslieferungsprozess für drei Umgebungen inklusive Testing
vergessen darf man allerdings, die Kosten für Azure unter Kon-                  erstellt werden kann. Dies sind eindrückliche Zahlen. Auch
trolle zu halten.                                                               wenn es in der Praxis länger dauern wird – hier gewinnt man
   Im ersten Schritt muss aber nicht immer ein Cloud-Dienst ein-                an Effizienz.
gesetzt werden. Für die Entwicklung können Container genutzt
werden, die lokal ausgeführt werden. Als Container kommt eine                   Weitere Features
Kombination von HyperV und Docker zum Einsatz. Der Docker                       Trotz der sehr guten Unterstützung des kompletten DevOps-Pro-
Container wird in einer speziellen Linux VM in HyperV ge­                       zesses kann der Code wie gewohnt in Visual Studio entwickelt
hostet und ausgeführt. Visual Studio übernimmt die komplette                    werden. Innerhalb der Entwicklungsumgebung hat Microsoft
Konfiguration und den Start des Containers. Der Entwickler                      die Verwaltung der Projekte optimiert. Es gibt neu die Option,
kann die Debug-Session wie gewohnt mit einem Druck auf                          die Projektinformationen erst zu laden, wenn sie benötigt wer-
die Taste F5 starten. Diese einfache Art des Debuggens ist eine                 den. Bei grösseren Projekten kann damit das Arbeiten innerhalb
grosse Erleichterung bei der täglichen Arbeit, da sie auch in der               der Solution beschleunigt werden, da man oft nur ein bis zwei
Cloud funktioniert. Zur Kontrolle zeigt Visual Studio während                   Projekte aktiv nutzt. Erweitert wurde auch die Suchfunktion in
des Startens und Verbindens alle Ausgaben an.                                   der Projektliste (Solution Explorer). Die Suchergebnisse werden
                                                                                in einem eigenen Fenster ausgegeben und navigieren direkt zu
DevOps                                                                          der gefundenen Stelle in der Datei.
Nachdem die Entwicklung mit einem Container und/oder der                           Neu ist es auch möglich, ohne Projektdatei zu arbeiten. Dies
Cloud integriert wurde, kommt als nächster Schritt der Über-                    ist vor allem für kleinere Tests oder Änderungen sehr nütz-
                                                                                lich. Der Entwickler kann den Code schreiben und kleine Tests
                                                                                durchführen, ohne zusätzlich eine Konfiguration anzugeben.
                                                                                Visual Studio 2017 hat zudem viele kleinere Erweiterungen
     DER AUTOR                                                                  bekommen, die direkt aus dem Editor genutzt werden können.
                                                                                Intellisense bietet die Möglichkeit, nach Typen (Namensräume,
     Christoph Möhring ist CTO von Allgeier (Schweiz)
                                                                                Klassen, Schnittstellen, etc.) zu filtern, um das Ergebnis besser
     AG. Möhring hat mehr als 25 Jahre Erfahrung in der
     Software-Entwicklung und -Architektur. Er hat haupt-
                                                                                einschränken zu können.
     sächlich mit Produkten von Microsoft gearbeitet und
                                                                                   Diese Filterungsmöglichkeiten finden sich auch bei den Such-
     Visual Studio seit seinen Anfängen eingesetzt. In seiner Rolle als Chief   ergebnissen unter «Alle Referenzen finden» wieder. Die visuelle
     Technology Officer haben sich seine Schwerpunkte gewandelt hin zu          Darstellung ist nun flacher und nach Typen gegliedert. Über die
     Entwicklungs-/DevOps-Prozessen und Qualitätssicherung sowie zur            Glyphen können viele Aktionen direkt ausgelöst werden. Diese
     strategischen Auswahl neuer Technologien.                                  gab es bereits in Visual Studio 2015, mit der Version 2017 sind
                                                                                aber weitere hinzugekommen. Über Vorschläge, die visuell als

52                                                                                                                Nr. 04 | April 2017   Swiss IT Magazine
Test Center

Glühbirne dargestellt werden, können Refactoring-Aktionen
wie das Extrahieren von Klassen oder das Umwandeln von Pro-           VISUAL STUDIO 2017
perties in Methoden ausgelöst werden. Bei Unit-Tests werden
                                                                      Fazit
die Ergebnisse als Glyphe dargestellt und können damit direkt
                                                                      Visual Studio 2017 bietet eine sehr umfangreiche Funktionsvielfalt für die
neu gestartet werden. Fehlende Unit-Tests werden erkannt und
                                                                      unterschiedlichsten Entwicklungssysteme und Plattformen. Der modulare
können über die Glyphe erstellt werden. Mit einem Klick auf
                                                                      Ansatz und die zentrale Steuerung aller Verteilungsprozesse aus der
die Ausführung-bis-Klick-Glyphe wird der Debugger gestartet
                                                                      Entwicklungsumgebung heraus ermöglichen ein effizientes Arbeiten.
und die Ausführung stoppt an der gewünschten Stelle. Über
eine weitere Glyphe werden mögliche Performance-Probleme              Features
im Code angezeigt.                                                     · modulare Installation und Architektur
                                                                       · viele Erweiterungen beim Editieren während des Debuggings
                                                                       · dynamisches Ladeverhalten und bessere Navigation innerhalb einer
                                                                         Solution
                                                                       · Einsatz von Glyphen, um kontextsensitive Aktionen auszulösen
                                                                       · Filterfunktionen nach Sprachkonstruktionstypen bei Intellisense
                                                                       · Integration von Xamarin, Vorschau für XAML Xamarin Forms
                                                                       · Unterstützung von Cloud-Umgebungen und DevOps-Abläufen aus
                                                                         Visual Studio heraus

«Ausführung bis Klick».                                               Positiv
                                                                      + Die modulare Installation beschleunigt den Installationsvorgang.
                                                                      + Das Handling innerhalb einer Solution wird durch das dynamische
  Analysen von Laufzeitfehlern sind mit dem neuen Exception             Laden der Projekte beschleunigt. Die Navigation wird durch die Such-
Handler nun einfacher möglich. Es werden alle Exceptions dar-           funktion mit Ergebnisfenster vereinfacht. Diese Funktionen machen
gestellt, einschliesslich der Inner Exceptions. Bei den Tests ist       sich besonders bei grossen Projekten bemerkbar.
positiv aufgefallen, dass die Reaktionszeit deutlich kürzer ist als   + Das direkte Editieren im Code während des Debuggings und die
                                                                        Glyphen mit ihren kontextsensitiven Aktionen helfen spürbar bei der
in Visual Studio 2015. Während des Debugging ist es nun auch
                                                                        Entwicklung. Die Turn-Around-Zeiten werden kürzer.
möglich, direkt XAML-Code zu editieren, ohne den Debugger
                                                                      + Die zentrale Steuerung des Auslieferungsprozesses und die Unter-
neu zu starten.
                                                                        stützung von Containern helfen einen DevOps-Prozess schneller zu
                                                                        integrieren und zu etablieren
Mehr Produktivität und mehr Komplexität
Die neuen Features und Erweiterungen führen zu signifikanten          Negativ
Zeitersparnissen. Die modulare Installation beziehungsweise           − Durch die modulare Architektur wurde viel angepasst. Darunter leidet
Architektur und das dynamische Nachladen von Projekten be-              auch die Stabilität und bestehende Visual-Studio-Erweiterungen funk­
schleunigen die Antwortzeiten. Der konsequente Einsatz von              tionieren (noch) nicht. Bei manchen noch zu installierenden Komponen-
Glyphen im Editor, um kontextsensitiv weitere Aktionen auszu-           ten muss Visual Studio immer noch beendet werden.
lösen, und das direkte Editieren während des Debuggings tragen        − Unterschiedliche Produkte wie Visual Studio Community 2017 oder
                                                                        Visual Studio Code können für die gleiche Aufgabenstellung eingesetzt
zu kürzeren Durchlaufzeiten bei. Aus diesen Gründen lohnt sich
                                                                        werden. Wie sich die Produkte in Zukunft ausrichten, ist noch offen.
das Update für bereits bestehende Projekte, zumal mit Visual
                                                                      − Die Komplexität für den einzelnen Entwickler steigt. Die Erweiterungen
Studio 2017 die gleiche Kompatibilität zu Projektdateien be-
                                                                        hinsichtlich Frameworks, Plattformen und Entwicklungsprozessen
steht wie unter Visual Studio 2015.
                                                                        verlangen viel mehr Verständnis und Know-how der Materie. Für
   Auf der anderen Seite wird es durch die grosse Vielfalt von
                                                                        Neueinsteiger ist die Lernkurve steiler geworden.
Einsatzmöglichkeiten schwieriger, die richtigen Produkte und
Komponenten für die eigene Entwicklung auszuwählen. Micro-            Hersteller / Anbieter
soft versucht dies durch die Workloads zu entschärfen, erhöht         Microsoft
aber durch die Unterstützung immer weiterer Frameworks und            Preis
Plattformen gleichzeitig auch die Komplexität. Es bleibt also         Die Editionen Visual Studio Professional und Enterprise 2017 sowie Visual
abzuwarten, welche Frameworks sich durchsetzen werden.                Studio for Mac sind in entsprechenden MSDN-Abonnements enthalten.
Viele stehen in direkter Konkurrenz, so zum Beispiel UWP zu           Die Preise werden über Distributoren angeboten. Visual Studio Commu-
Xamarin, Cordova/Ionic zu Xamarin oder .NET v4.6 zu .NET              nity 2017 wie auch Visual Studio Code sind kostenlos.
Core.
   Durch die Modularisierung musste auch die Architektur da-
hingehend angepasst werden, wodurch das Risiko besteht, dass             Wertung
dies auf Kosten der Stabilität gehen kann. Dies bestätigt die
lange Liste der bekannten Probleme in den Release Notes im
                                                                         Die Wertung gilt, sofern die Stabilitätsprobleme in der fertigen
Feedback-Kanal. Während den Tests mit dem letzten Release
                                                                         Version behoben sind. Es kann gesagt werden, dass mit Visual
Candidate konnten jedoch keine grösseren Probleme festgestellt           Studio 2017 massiv produktiver entwickelt werden kann, und die
werden. Dies mag auch daran liegen, dass nicht alle Features             Cloud-Anbindung sehr gelungen ist.
genutzt werden konnten und insbesondere die neuen Funktionen
getestet worden sind.

Swiss IT Magazine         Nr. 04 | April 2017                                                                                                      53
Sie können auch lesen