Review: Visual Studio 2017 is de beste ooit

Twee jaar geleden, toen ik Visual Studio 2015 recenseerde, dacht ik dat Microsoft's IDE het meest gecompliceerde product ooit was geworden, en Microsoft zou het in de toekomst moeten vereenvoudigen. In één opzicht had ik het mis: hoewel Microsoft een paar functies weggooide voor Visual Studio 2017, voegde het nog veel meer toe. Maar inderdaad, Microsoft is erin geslaagd om een ​​eenvoudigere - en wendbaardere - IDE te leveren in Visual Studio 2017, ondanks het vergroten van de mogelijkheden.

In tegenstelling tot sommige eerdere versies van Visual Studio die zich concentreerden op de introductie van gecompliceerde nieuwe Microsoft-specifieke technologieën zoals Windows Communication Foundation en Windows Workflow Foundation, wordt Visual Studio 2017 beter en sneller geïnstalleerd en werkt het, ondersteunt het meer programmeertalen en platforms, verbetert het de productiviteit van ontwikkelaars en is het van toepassing op natuurlijke manieren platformonafhankelijke workloads.

Voor de meeste gebruikers van Visual Studio 2015 is upgraden naar Visual Studio 2017 een makkie. Laten we eens kijken waarom.

Groter en kleiner

In sommige opzichten ziet Visual Studio 2017 er zelfs meer uit als een grote grabbelton met verwante producten dan eerdere versies van Visual Studio. De groeiende verzameling ontwikkelingsdoelen omvat nu Windows, Android, iOS, Linux, MacOS, .Net Core, Anaconda, Azure-webapps en verbonden services, Docker, Office en webontwikkeling met ASP.Net, HTML5 / CSS3, JavaScript, Node .js, Python of (grote adem) TypeScript. Wat een lijst - en het is niet eens compleet, want er zijn aanvullende ondersteunde technologieën, zoals SQL Server, Visual Studio Extensions en R.

Hoe begin je überhaupt webontwikkeling met ASP.Net te koppelen aan Android- en iOS-ontwikkeling? Welnu, er is een manier om al het bovenstaande te doen in C #, met Xamarin en Mono als de technologieën voor de mobiele kant. Dat is echter niet de enige optie voor mobiel in Visual Studio 2017.

Misschien vind je C # niet leuk, maar wil je toch ontwikkelen voor Android en iOS. Hoe zit het dan met het gebruik van C ++ of JavaScript? Beide talen ondersteunen workloads voor mobiele ontwikkeling. Terwijl je dieper graaft, begint de Visual Studio-strategie om iets voor iedereen te hebben, allemaal verbonden met gemeenschappelijke interfaces (zowel UI als API), logisch te worden. De meeste softwareontwikkelaars zijn immers meertalig als het gaat om programmeertalen en aanverwante technologieën. De tijd dat je alles in Fortran kon schrijven is voorbij. En de meeste bedrijven hebben een uitgesproken mening over hun "standaard" ontwikkeltalen en -omgevingen.

Maar hoe zit het met de installatie? De enorme omvang van de Visual Studio-installatie is een probleem sinds het eerste Visual Studio-product 20 jaar geleden. Visual Studio 2017 heeft een veel modulairer installatieprogramma dan eerdere versies (zie onderstaande afbeelding), een welkome verbetering. De minimale installatie is verrassend genoeg een relatief kleine paar honderd megabytes. Een volledige installatie van de Enterprise Edition kost echter 30 tot 40 GB, afhankelijk van de vereisten die al op het systeem aanwezig zijn. Microsoft vertelt me ​​dat de gemiddelde installatie ongeveer de helft is.

De grootte van de volledige installatie is niet allemaal de schuld van Microsoft. De Google Android Emulator alleen gebruikt bijvoorbeeld meer dan 17 GB. Dat betekent dat Visual Studio zelf veel kleiner is dan vroeger, hoewel het alle aanvullende doelsystemen dekt.

Wat is er nieuw?

Wat is er nieuw en opwindend in Visual Studio 2017 dat u zou kunnen verleiden om te upgraden van Visual Studio 2015 met het huidige servicepack? Microsoft beweert dat de IDE sneller is "van opstarten tot afsluiten" en nu een manier biedt om code te bekijken, bewerken en debuggen zonder projecten en oplossingen. Microsoft beweert ook dat verbeteringen in codenavigatie, IntelliSense, refactoring, codefixes en debugging u tijd en moeite besparen bij alledaagse taken, ongeacht de taal of het platform. Die zijn zeker allemaal leuk om te hebben, maar is de verbeterde productiviteit voldoende om je te laten upgraden? Ik zal proberen te beschrijven hoe ze zich in de praktijk voelen als ik de IO bespreek.

Als u geen volledige installatie wilt uitvoeren, omdat u geen schijfruimte heeft of niet geïnteresseerd bent in elk aspect van het product, is het modulaire installatieprogramma veel handiger dan het installatieprogramma van Visual Studio 2015. Aan de andere kant, hoe vaak installeert u Visual Studio? Een paar keer per jaar, met updates om de paar weken? Ik waardeer de verbetering, maar het zou niet veel impact moeten hebben, tenzij je te weinig schijfruimte hebt - bijvoorbeeld als je ontwikkelt op een laptop die werd geleverd met een 128 GB solid-state schijf.

Een snellere IDE daarentegen heeft een enorme impact. Het opstarten van Visual Studio en het laden van de oplossing zijn merkbaar sneller geworden in de laatste paar iteraties, gaande van "Ik kan beter water koken en thee zetten terwijl mijn project wordt geopend" in Visual Studio 2008 tot het huidige "Laat me gewoon opstaan ​​en uitrekken voor een paar seconden terwijl mijn project wordt geopend. " Wat betreft het werken met code minus-projecten en -oplossingen, nou, ik wilde dat maar 20 jaar, sinds Visual Studio 97.

Microsoft heeft een ingebouwde reeks Azure-tools waarmee u toepassingen en services op Microsoft Azure rechtstreeks vanuit de IDE kunt configureren, bouwen, debuggen, verpakken en implementeren. Als u Azure gebruikt, is dat een overwinning: springen tussen de Azure-console, de Azure-opdrachtregel en Visual Studio kan uw stroom afleiden en onderbreken. Als AWS echter uw primaire cloud is, geeft u hier misschien helemaal niets om.

Ten slotte belooft Microsoft dat het met Visual Studio 2017 en Xamarin sneller en gemakkelijker dan ooit is om mobiele apps voor Android, iOS en Windows te bouwen, testen en debuggen. Als Xamarin eindelijk naar beneden is geschud om zonder bugs op Android en iOS te werken (die ik niet uitgebreid heb getest), en als de XAML-ontwerper snel genoeg is om te gebruiken zonder dat ik de computer op straat wil gooien, zal dat wees een groot pluspunt.

Over het laatste probleem beweert Microsoft dat ongeveer 90 procent van de overhead voor het openen van de XAML-ontwerper verdwenen is. In overeenstemming met die bewering, neem ik nu een pauze van vijf seconden in acht met het bericht "loading the designer ...", wat zeker beter is dan de minuut die de ontwerper vroeger nam om te laden. Ik zie ook een snellere reactie op zowel het slepen van widgets naar het ontwerpoppervlak als het typen in het XAML-codevenster. De vertraging bij het synchroniseren van de twee vensters is nog steeds merkbaar, maar doet me niet langer denken dat Visual Studio is gecrasht.

U kunt ook cross-platform mobiele apps ontwikkelen in Visual Studio 2017 met Apache Cordova of Visual C ++. De use case voor mobiele ontwikkeling met JavaScript en Cordova is duidelijk, en veel mensen vertrouwen er al op voor platformonafhankelijke mobiele apps. Maar waarom hebben we Visual C ++ platformonafhankelijke bibliotheekontwikkeling nodig tussen iOS en Android? Het blijkt dat er veel mobiele C ++ -ontwikkelaars zijn die het zullen waarderen. Voor mobiele games en consumenten-apps blijkt de gemeenschappelijke code, meestal in C of C ++, een aanzienlijk percentage van het project te zijn, met een gebruikersinterface geschreven in Objective C ++ of Java bovenaan.

Hoewel Visual Studio 2017 sommige iOS- en MacOS-ontwikkeling vanuit Windows ondersteunt, heb je nog steeds een Mac nodig. Waarom? Voor het debuggen van consoletoepassingen en ASP.Net voor MacOS, om GUI's voor MacOS te bouwen en om apps voor iOS te bouwen en te debuggen.

C ++ is het model van een moderne draagbare taal en wordt vaak gebruikt voor het ontwikkelen van applicaties die op meerdere besturingssystemen draaien. Dat is gedeeltelijk de reden waarom Microsoft in deze release ook C ++ -ondersteuning voor Linux-ontwikkeling heeft toegevoegd en de naleving van de C ++ -standaard heeft verbeterd.

Wat is er weg?

Visual Studio 2017 heeft een aantal zelden gebruikte functies achterwege gelaten. U kunt momenteel echter vertrouwen op enkele van de functies die naar de fjorden smachtten; ze zijn nog steeds beschikbaar, maar alleen als u een oude versie naast de nieuwe draait. Dat kan uw acceptatie nog steeds belemmeren, omdat het installeren van meerdere exemplaren van Visual Studio (vooral de oudere versies) op een enkele schijf praktisch smeekt om een ​​probleem met de schijfruimte.

Silverlight, een ongepaste subset van Windows Presentation Foundation voor het leveren van media en rijke interactieve toepassingen vanuit een browserinvoegtoepassing, was begin 2010 een ware rage en is nu verouderd. Ik zal de interne machtsstrijd van Microsoft tussen het Silverlight-kamp en het HTML5-kamp overslaan; het volstaat om te zeggen dat Silverlight verloor. Het is daarom geen verrassing dat Visual Studio 2017 Silverlight-ontwikkelingsondersteuning weglaat. Als u oude Silverlight-applicaties moet onderhouden, moet u Visual Studio 2015 blijven gebruiken.

Evenzo maakt Microsoft niet langer Windows Phone-smartphones en schaft oudere Windows Phone- en Windows Store-versies af ten gunste van Windows 10. Afhankelijk van de versie van Windows Phone die u moet onderhouden, houdt u zich aan Visual Studio 2015 of Visual Studio 2012.

Microsoft heeft UML-modellering uit Visual Studio 2017 laten vallen en heeft geen plannen om verder te investeren in UML. In plaats daarvan heeft het laagmodellering, afhankelijkheidsdiagrammen en controles van de architectuurlaag op code. U kunt ook uitbreidingen voor laagmodellering maken en implementeren.

Als u UML echt nodig heeft in Visual Studio 2017, kunt u een van de honderden UML-tools gebruiken die vandaag beschikbaar zijn, waarvan er vele gratis en open source zijn, en waarvan sommige momenteel Visual Studio-extensies bevatten.

Visual Studio 2017 installeren

Ik heb Visual Studio 2017 op twee Windows 10-machines geïnstalleerd: een laptop met een hele kleine SSD en een toren met een behoorlijke harde schijf. Merk op dat ik een release candidate van februari gebruikte, niet de definitieve releaseversie uit de tweede week van maart. Op de laptop was Visual Studio 2015 al geïnstalleerd; de toren had de Visual Studio 15 preview geïnstalleerd, die de voorganger was van Visual Studio 2017. Ik gebruikte het webinstallatieprogramma van MSDN. In feite heb ik nooit een ISO-installatie-image gezien, hoewel dat niet betekent dat er geen bestaat.

Ik hoopte dat het installatieprogramma van Visual Studio 2017 slim genoeg zou zijn om aan te bieden om Visual Studio 2015 te verwijderen toen het zag dat er niet genoeg ruimte was op de SSD van de laptop voor beide versies. Geen geluk. Omdat er gebruiksmogelijkheden zijn om zowel Visual Studio 2017 als Visual Studio 2015 op dezelfde machine te hebben, heeft de installatie van Visual Studio 2017 mij in feite gered. Ik moest mijn toevlucht nemen tot het handmatig verwijderen van alles wat leek op Visual Studio 2015 en oudere versies van gerelateerde technologieën zoals SQL Server, een klus die me ongeveer een uur kostte en waarvoor ik constant moest ingrijpen. Ik was toen in staat om een ​​nuttig groot deel van Visual Studio 2017 te installeren. Het installatieprogramma hield een actief tabblad bij van de schijfruimtevereisten van de workloads en modules die ik had gekozen, en het ging pas verder als zeker was dat alles wat geselecteerd was zou passen.

Ik dacht echt dat het handmatig de-installeren een onnodige moeilijkheid was. Aan de andere kant, het enige dat ik kon bedenken dat mijn werk gemakkelijker zou hebben gemaakt, zou een de-installatiewizard voor oude Visual Studio-versies zijn geweest.

Op de toren kon ik alle workloads van Visual Studio 2017 selecteren en op Installeren drukken. Het proces heeft misschien een uur geduurd. Ik weet het niet zeker, want ik kon weglopen en terugkomen om het voltooid te vinden. Ik denk dat dit de eerste keer is dat ik dat ooit over een Visual Studio-installatie kan zeggen.

De nieuwe modulaire installatie lijkt een grote overwinning. De keuzes die het biedt, zijn logisch onderverdeeld in "workloads", en binnen elke workload kun je gemakkelijk specifieke componenten opnemen of uitsluiten, zoals de Google Android Emulator die ik aanvankelijk moest uitsluiten op de laptop om de rest van de Xamarin Mobile-workload te installeren. Je kunt vermoedelijk slechts een paar honderd megabytes installeren en toch een werkomgeving hebben, wat prettig is voor teamleden met gerichte verantwoordelijkheden en kleine schijven.

Sneller, slimmer, beter

Zolang ik IDE's heb gebruikt (en ontwikkeld), en dat is meer dan 25 jaar, is de naam van het spel de productiviteit van programmeur geweest. Zelfs in de slechte oude tijd van minicomputers en werkstations waren de grootste kosten voor het maken van software de salarissen van ontwikkelaars. Nu de hardware- en softwarekosten worden gemeten in duizenden dollars in plaats van tienduizenden, en de jaarlijkse salarissen van programmeurs meer dan $ 100.000 bedragen in plaats van minder dan $ 50.000, is de productiviteit van de programmeur zelfs nog belangrijker voor het eindresultaat. Laten we eens kijken naar de kenmerken van Visual Studio 2017 die gericht zijn op het verbeteren van de productiviteit - en het "verrukken" van de ontwikkelaar, om Microsoft te citeren.

Score kaart Vermogen (30%) Prestaties (30%) Gebruiksgemak (20%) Documentatie (10%) Waarde (10%) Totaalscore (100%)
Visual Studio 2017 10 10 9 8 9 9.5