Improved Networking APIs for Universal Windows Apps
Nestled inside the Universal Windows Application Development Tools for Visual Studio 2015 that was released last week are a few improvements that will make network and cloud connectivity much smoother.
Lucian Wischik, a Microsoft program manager with the Managed Languages team, recently blogged extensively on the release of the Universal Windows Application Development Tools for Visual Studio 2015 last week. It's a timely release, since it supports development of Windows 10-based apps on a myriad number of devices upon which Windows 10 now runs.
Developers using Visual Studio 2015 Community Edition get the most recent version of the tools by default, and you can get it immediately by clicking the link on Wischik's blog, and even so, users of the Community edition should check for the most recent updates, as there have been a number of new features with the release of Windows 10. Those using Professional or Advanced need to download it explicitly, and it's available at VisualStudio.com.
One significant difference in developing apps with UWP is that apps now are written with .NET Core 5 in mind, which opens up apps to porting over to the variety of Windows 10-enabled devices. A separate post from Sidharth Nabar, a Microsoft program manager on the Windows networking team, highlights changes to networking APIs that have been added to .NET Core specifically for UWP developers:
- System.Net.Sockets -- for asynchronous socket communication, it has "been significantly changed to eliminate dependencies on APIs that are not part of .NET Core, as well as to use the same underlying threading APIs as other WinRT APIs."
- System.Net.Http -- Not new, but enhanced to support HTTP/2, a version of HTTP that is supposed to provide much lower latency from Web apps. Also, with HTTP/2 support, a version of HTTPclient has been replaced by a "lightweight wrapper on top of native Windows OS HTTP components such asWindows.Web.Http, which is based on WinINet," with the benefit of improving memory consumption of .NET apps on Windows 10.
For the most part, Nabar writes that these APIs appear similar, but it's "the underlying implementation for some of these APIs has undergone a significant change as we move from the .NET Framework to .NET Core."
As well, he writes that libraries related to System.Net.HttpWebRequest and System.Net.HttpWebResponse have been "provided purely for backward compatibility and to unblock usage of .NET libraries that use these older APIs."
About the Author
You Tell 'Em, Readers: If you've read this far, know that Michael Domingo, Visual Studio Magazine Editor in Chief, is here to serve you, dear readers, and wants to get you the information you so richly deserve. What news, content, topics, issues do you want to see covered in Visual Studio Magazine? He's listening at [email protected].