MSDN-abonnees konden zich vorige week verheugen op de uiteindelijke versie van Visual Studio. Tevens werd een nieuwe, gratis Community-editie uitgebracht. Visual Studio 2015 is ontzettend interessant, want het laat zien dat Microsoft de manier waarop het zijn eigen apps ontwikkeld verandert en dat het probeert te sturen waar de rest van de branche zich naartoe verplaatst.
Al sinds de jaren 90 schrijf ik over Visual Studio. In die jaren heb ik geleerd dat Microsofts developmenttooling een interessante inkijk geeft in hoe het bedrijf denkt voor applicatieontwikkeling - het laat ook zien hoe Microsoft zelf code schrijft. Visual Studio 2015 toont aan dat er bij Microsoft serieus wordt nagedacht over het ondersteunen van nieuwe patronen en werkwijzen van developers.
Openheid in de praktijk
Duik je in Visual Studio 2015, dan vind je hierin tooling voor vele moderne platforms, niet alleen voor die van Microsoft (.Net). Er is ondersteuning voor bijvoorbeeld Python, Node.js en cross-platform mobile support voor Apache Cordova.
Microsofts open-source .Net Core wordt ook ondersteund, dus je kunt hiermee aan de slag om cross-platform server apps te bouwen die zowel op Windows, Linux als Mac OS X draaien. Webapplicaties die gebouwd worden met ASP.Net 5 gebruiken .Net Core. Downloadbare pakketten bieden hierbij eventueel platformspecifieke API's. Omdat .Net Core modulair is opgebouwd, hoef je niet het hele framework te downloaden, maar alleen de pakketten die je voor je huidige applicatie nodig hebt.
Deze cross-platform aanpak geldt niet alleen voor de code aan de serverkant. Het gaat ook op voor de clientapplicaties. Visual Studio ondersteunt ontwikkeling van cross-platform C++ bibliotheken die draaien op zowel iOS als Android (Kitkat en Lollipop). Apps die gebouwd zijn in Visual Studio draaien native op beide platforms, al heb je een Mac nodig om de iOS-code uit te werken.
Gebruik van Microsofts eigen compiler is niet verplicht, omdat Visual Studio ook de populaire Clang en LLVM compilers ondersteunt, evenals GCC. Toevoeging van third-party Xamarin tools aan Visual Studio laten je nog veel meer devices ondersteunen, waaronder Apple Watch.
Gebundelde templates zorgen voor simplificering van het bouwen van cross-platformapps. Code hiervan kun je ook gebruiken in Xamarin apps. Ook fijn is dat Microsoft een setje Android emulators meelevert, zodat je code kunt debuggen zonder Visual Studio te verlaten. Daarbij is het aan te raden om via Visual Studios Nuget aanvullende tooling voor je apps te downloaden, zoals Ionic templates die je in combinatie met Cordova kunt inzetten.
De reus groeit verder
Ondanks de terugkeer van ranke editors voor programmeurs, zie je dat zwaargewicht IDE's als Visual Studio nog steeds een rol van betekenis spelen. Projecten in Visual Studio kunnen alle elementen van een moderne applicatie bevatten, van ondersteuning van meerdere typen mobiele apparaten tot IoT-endpoints tot microservices in de cloud. Ondersteuning voor Microsofts cloudgehoste Visual Studio Online betekent dat het ook mogelijk is met GitHub te integreren en ook hiermee meerdere besturingssystemen te bedienen; naast Windows ook iOS en Android apps.
De mogelijkheid om uit te kunnen breiden blijft belangrijk voor Visual Studio. Nu de nieuwe Community-versie de oudere Express-edities vervangt, krijgen ook kleine en hobbyistische developers toegang tot zelfde mogelijkheden als developers die met de Professional en Enterprise-pakketten werken. Dat houdt in dat ze ook via NuGet add-ons kunnen downloaden en ook toegang krijgen tot de meer geavanceerde debugging en code intelligence features van Visual Studio (waaronder elementen van de nieuwe .Net Roslyn compiler).
Het gaat niet alleen om applicaties, maar ook om de technieken die we gebruiken om moderne applicaties te bouwen. Microservices en API's zijn de hoofdbestandsdelen van schaalbare cloudapplicaties. Het is dan ook niet verwonderlijk dat servicedevelopers een NuGet-library kunnen gebruiken om met de Swagger API-beschrijvingstaal in Visual Studio te gaan werken. Hiermee kunnen ze servicedescripties lezen en aanmaken voordat er code geschreven wordt die met en achter deze API's werkt.
Uit gesprekken die heb gevoerd met leden van het Visual Studio productteam blijkt dat cross-platform development ongelooflijk belangrijk was voor het design van het product. Dat begon al toen de huidige CEO Satya Nadella nog de Cloud en Enterprise-groep van het bedrijf runde en werd nog duidelijker toen hij het stokje overnam van Steve Ballmer, die liever voor een beperkt ecosysteem koos. Technologieën als Cordova en cross-platform C++ vormen hierin slechts het topje van de ijsberg.
Het voeden van de IoT-honger
Er is een groter plan aan het werk voor de nieuwe Visual Studio; miljoenen nieuwe devices zullen code nodig hebben. Het Internet of Things vormt een enorme kans voor developers en dus ook voor developmenttooling. Het moment is nu echt aangebroken dat we wat betreft het IoT niet alleen maar hacks zien, maar ook volledige, volwassen producten.
Enkele weken terug hoorde ik van de verschillende go-to-market processen die leveranciers op Silicon Valley doormaken om hardware te kunnen gaan maken tijdens Maker Faire. Microsoft wil hezelfde gaan doen voor software en heeft hiervoor een partnerschap gesloten met Particle.
Volgens partnerdirecteur programmamanagement John Montgomery van de Microsoft Developer Division, ligt de voornaamste uitdaging erin services waarop IoT-apparaten draaien op grote schaal te laten draaien. Hier steken architecturele issues de kop op, vooral als je met devices werkt die gateways gebruiken. Door een open development omgeving te bieden die werkt van cloud naar device, kan volgens Montgomery hierin Visual Studio helpen gaten te dichten door met rijke protocollen data naar diensten over te brengen.
Al met al is er veel om mooi te vinden in de nieuwste Visual Studio. Het is duidelijk dat Microsoft het product gebruikt om developers richting de ontwikkeling van moderne applicaties te pushen. Dat zie je bijvoorbeeld aan de ondersteuning van cloudgecentreerde designmethoden en cross-platform mobiele endpoints voor applicaties en services. Als Visual Studio 2015 een voorbode is van wat de developers van Microsoft zelf komende jaren gaan doen, treden we een zeer interessant tijdperk tegemoet.
Reageer
Preview