After 20 years of Visual Studio, Microsoft unfurls its 2017 edition
New cross-platform tools and streamlined setup options
Here comes C# 7.0
The various programming languages Visual Studio supports are updated in this edition. C++ has new support for various C++11 and C++14 features, and preliminary support for some C++17 features, though it is still not quite complete for C++11 and C++98. There is also builtin support for CMake, a widely used open-source build tool.
In the .NET world, Visual Studio 2017 supports C# 7.0 and Visual Basic 15. C# 7.0 includes nested local functions, pattern matching extensions, and the ability for functions to return values by reference.
F# is now at version 4.1 with new language features, and has a new Roslyn-based editor (Roslyn being the .NET Compiler platform which exposes APIs useful to rich editors).
Tools for Apache Cordova now features Cordova Simulate, a browser-based simulator that lets you exercise your app quickly on different device types and screen sizes.
SQL Server developers will find Redgate Developer Tools Core Edition bundled into Visual Studio 2017. This includes ReadyRoll for managing database changes and migrations, SQL Prompt for SQL coding assistance, and SQL Search for finding SQL code across multiple databases (such as in stored procedures or functions).
Half the point of Visual Studio, from Microsoft’s perspective, is to attract developers to its cloud services. The new Add Connected Service dialog, which replaces the old Service Capabilities, lets you add to your project HockeyApp crash reporting, an Azure App Service mobile backend, Azure Cloud Storage, or Office 365 APIs. You can also add Microsoft or third-party services from the online Visual Studio marketplace.
Adding cloud services to a Visual Studio project
There is also a Cloud section in the Visual Studio New Project dialog, offering various Azure-hosted application types.
Visual Studio 2017 is available in three main editions. The free version, Visual Studio Community, designated as for “students, open source and individual developers”, is surprisingly capable. You can target all the platforms Visual Studio supports, including Xamarin cross-platform mobile.
Microsoft’s main differentiation in the paid-for Professional Edition, for “small teams”, is collaboration support through Team Foundation Server, including version control using Git-based or Team Foundation Server repositories. Of course there is nothing to stop you using the Community Edition with another source management system.
The Enterprise Edition adds testing features – coded UI, Code Coverage, Web Load and Performance testing, Test case management and so on – Redgate data tools, Xamarin Profiler and Test Recorder, Architecture Layer Diagrams, and Lab Management, which lets you deploy and test to multiple virtual servers with automatic setup and teardown.
You can compare the features of the various editions here.
The energy behind Visual Studio is impressive, and this release, which packs in plenty of new features, comes less than two years after Visual Studio 2015, released in July of that year.
There are some disappointments. I had expected that Microsoft’s Desktop App Converter, which lets you simplify the installation of any Windows application by wrapping it as a Store app, would be fully integrated in this release, but it turns out to be a convoluted process.
The IDE remains capable of unexpected or unhelpful behaviour, which is not surprising considering its scope. Trying to add a project reference in a new solution, for example, I got a dialog that stated “unable to add a reference” with no reason given. Another puzzle is the new Xamarin Forms visual previewer, which does not work yet for me and gives unhelpful error messages.
Microsoft platform developers will be happy with this update. The wider question is how effective Visual Studio is as a means of attracting new developers to the platform or to Azure. The well-featured Community Edition along with developer-friendly features like the Windows Subsystem for Linux, which you can use to develop Linux applications entirely on Windows, are positive steps in this regard. According to Microsoft, active Visual Studio users have grown by about 25 per cent in the last year.
Still, it takes a lot to wrest developers away from the Macs favoured in the developer community, or from leaner coding tools, not least Microsoft's cross-platform Visual Studio Code, which now has 1.3 million active users.
None of this diminishes the strength of the tool overall, which despite some frustrations is a key strategic asset for Microsoft's platform. ®