News
Microsoft Ships Visual Studio 2017 v15.7, Xamarin.Forms 3.0, .NET Core 2.1 RC, More
To mark the opening of its signature Build developers conference, Microsoft shipped a bunch of Visual Studio-related projects that have been in preview, including Visual Studio 2017 v15.7, Xamarin.Forms 3.0, .NET Core 2.1 Release Candidate and many more.
Along with those projects coming out of preview, the company also announced some new goodies, including an advanced AI-assisted IntelliSense-like offering called Visual Studio IntelliCode and a public preview of the collaborative Visual Studio Live Share service.
Visual Studio 2017, version 15.7
The release notes for VS 2017 15.7 detail a dizzying array of new features, but Microsoft boiled down the highlights to:
- Cloud development: Including improvements to the project scaffolding and unit testing. Developers can also directly publish .NET applications to Kubernetes containers. For ASP.NET and ASP.NET Core applications, coders can configure the Key Vault connected service directly from the IDE.
- Debugging: IntelliTrace's new step-back debugging, first shipped in Visual Studio 2017 version 15.5 (which we covered here), is now available for .NET Core applications. The feature lets developer traverse backward through a series of snapshots that are generated for each breakpoint that was set.
- MSVC C++ 17 conformance: Microsoft announced full C++ 17 conformance, along with ClangFormat support for C++ developers. The latter helps developers automatically style and format code as it's typed so it can be enforced across a development team. This builds on improved C++ functionality introduced in v15.5.
- Python: The Python debugger based on the popular open source pydevd debug engine is available as an opt-in preview, providing better performance for many debugging scenarios. We detailed the improved Python experience in Visual Studio in our coverage of preview 4.
- iOS and Android mobile development with Xamarin: Mobile developers now get full IntelliSense support for XAML editing. Also, Microsoft said, "iOS devices can be provisioned for development with a single click, saving developers a lot of time and steps. Android and iOS project templates have been re-written to use the latest modern navigation patterns and are now better organized for improved discoverability." The improved XAML IntelliSense and device provisioning was detailed in our coverage of preview 3.
Microsoft's John Montgomery goes into more details on all of the above and more -- including the announcement of Visual Studio 2017 version 15.8 Preview 1 -- in this blog post.
Xamarin.Forms 3.0
Mobile developers specializing in cross-platform UI for iOS and Android apps have been awaiting this release for a while now. "The framework is still evolving quickly and becoming an increasingly powerful choice for developers," VSM's Greg Shackles noted in his preview coverage. "Between the performance improvements, extending the target reach to a host of new major platforms, and an increased ability to mix and match Xamarin.Forms with native applications wherever it makes sense, it's a good time to be a Xamarin developer."
Microsoft couldn't agree more. "Xamarin.Forms 3.0 delivers improved stability, faster performance, and new capabilities aimed at making it easier for you to create beautiful apps that work on Android, iOS, macOS, and Windows devices," the company said in its announcement blog post.
With Xamarin.Forms moving away from the entrenched Portable Class Library (PCL) approach in favor of multi-platform functionality provided by the new .NET Standard 2.0, the new release now builds with the latter. .NET Standard 2.0 provides a formal spec for .NET APIs that should be available to developers working with all .NET implementations. Though .NET Standard 2.0 is now the default for Xamarin.Forms 3.0, support for PCL and previous .NET Standard versions is still available.
"Xamarin.Forms 3.0 also includes a strong focus on developer productivity," Microsoft said. "Many developers are already familiar with the Visual State Manager already found in XAML for UWP and WPF. It's now available for Xamarin.Forms, too. We've also heard from many ASP.NET developers who can build amazing layouts for the web using Flexbox and CSS. To empower these developers to build equally impressive layouts on mobile, we've added two features to Xamarin.Forms: FlexLayout and CSS. Xamarin.Forms 3.0 introduces both features without compromising the existing XAML experience desktop developers have come to know and love. Finally, because Xamarin apps are deployed globally, we also included right-to-left language support and many quality improvements in the 3.0 release."
.NET Core 2.1 Release Candidate
.NET Core, Microsoft's modular, cross-platform development platform maintained by the company and the .NET community on GitHub, is a general-purpose offering that supports Windows, macOS and Linux, and can be used for device development cloud projects, embedded/IoT scenarios and more.
.NET Core 2.1 has been going through its own preview series and .NET Core is a primary focus in the Visual Studio roadmap.
"As of today, .NET Core 2.1 Release Candidate (RC) is available with a 'Go-Live' license to use in production," Microsoft said during the opening day of Build. ".NET Core 2.1 improves on previous releases with hard-won performance gains and many new features."
Those features, as detailed by Microsoft, include:
- ASP.NET Core SignalR. Developers have been using SignalR to build real-time Web communication solutions since 2013 on the .NET Framework. The stack has been streamlined and improved to run on the cross-platform and higher performance .NET Core runtime. Microsoft also released SignalR as an Azure service.
- ASP.NET Core Web platform enhancements including support for Razor UI in class libraries, improvements in building WebAPIs, security enhancements, a new Identity UI library and HttpClientFactory.
- Entity Framework Core 2.1 introduces significant capabilities like lazy loading, data seeding, new data providers and enhanced support for CosmosDB.
- .NET Core 2.1 significantly improves build and runtime performance. It also introduces a new deployment and extensibility model for global tools.
- ASP.NET Core 2.1 is more than 15 percent faster than version 2.0. This means that when ASP.NET Core is released, it will top the TechEmpower benchmarks as the fastest mainstream web framework on the planet.
Those features were previewed by Microsoft's Scott Hunter in last week's Visual Studio Live! keynote address. Microsoft provides more about the new offering here and provides an initial look at .NET Core 3 and support for Windows desktop applications here.
Visual Studio Live Share Public Preview
As noted, Microsoft also announced a public preview of Live Share, which the company debuted at last fall's Connect conference.
"Now any developer can use Live Share to collaborate in real-time with other developers, with instant bi-directional collaboration directly from their existing tools like Visual Studio 2017 and Visual Studio Code," the company said, following up on a live demo held during the Build keynote.
More details on Live Share are available here.
Visual Studio IntelliCode
This experimental Visual Studio extension released in preview brings artificial intelligence to bear to improve the IDE's IntelliSense experience.
It basically leverages AI and machine learning to provide context-aware autocomplete suggestions, and much more.
"Visual Studio IntelliCode is a new capability that enhances everyday software development with the power of AI," Microsoft said. "Today, IntelliCode provides intelligent suggestions to improve developer productivity and code quality in the tool that developers love, Visual Studio. Our vision is to apply AI to empower developers across the entire development lifecycle."
More VSM coverage of Visual Studio IntelliCode is available here.
And Much More
Microsoft also released Visual Studio for Mac v7.5 and a host of other products and services touching upon AI, the Azure cloud and much more. Conference information is available here, while Visual Studio-specific posts are listed in this blog and other developer tooling news is available in this blog.
About the Author
David Ramel is an editor and writer at Converge 360.