As part of a road map for its open source .Net Core runtime, Microsoft is planning more APIs, an upgrade to the F# language, and expanded processor and Linux support.
.Net Core, a multi-platform, modular subset of the .Net Framework programming model, was released as a 1.0 version late last month, along with ASP.Net Core 1.0 Web application framework.
"This release will bring back many of the missing APIs in .Net Core, including networking, serialization, data, and more," said Microsoft's Scott Hunter, a member of the .Net engineering team. "These APIs will be part of .Net Standard 2.0, which will be released at the same time, resulting in APIs being consistent across .Net Framework, .Net Core, and Xamarin." The APIs will make it easier to write portable code that can run on major .Net platforms, targeting .Net 2.0 standard.
F#, a "functional first" language developed by Microsoft, is to be upgraded as part of .Net Core plans. Due later this year or in the first quarter of 2017, F# 4.1 will include full .Net Core support and a better IDE experience with workspace support on the F# langauge service. Features like tuples to interoperate with ValueTuple will be added, along with more support for annotating types as structs and support for the "fixed" keyword.
Hunter noted Microsoft's intentions to bring functional concepts to .Net languages overall, including tuples and pattern matching. The languages also are slated to receive code quality and performance improvements like throw expressions and binary literals, as well as developer productivity enhancements including local functions. "These features will be all available in C# 7," said Hunter
Microsoft also plans to accommodate ARM 32/64 processors in the .Net Core runtime and libraries next year, both on Windows and Linux, albeit at different times. Additional Linux distributions will be supported as well, though Microsoft didn't specify which ones would be added. Version 1.0 supported distributions like Red Hat Enterprise Linux 7.2 and openSuse 13.2.
Also in the late-2016 or early-2017 timeframe, a minor update will be released for .Net Core, moving tooling from the xproj/project.json project system to .csproj/MSBuild so all .Net projects can use the same build system. ASP.Net Core will receive WebSockets capabilities as well as several improvements for running on the Azure cloud service, including startup time enhancements and providers for service logging and Key Vault secure key management. SignalR, a library for bidirectional communications, will be previewed in ASP.Net Core.
First up on the road map is a 1.0.1 patch release, expected in early-August. It will speed up performance in dotnet build to improve ASP.Net Core publishing times, Hunter said. The "dotnet new" templates for F# will be updated for use with the latest alpha of the F# on .Net Core.