- Views: 3
- Report Article
- Articles
- Computers
- Software
Unifying software development with the addition of.NET Standard 2.0 Support
Posted: Oct 30, 2017
Microsoft’s UWP or Universal Windows Platform is an attempt for fostering development of applications across numerous devices that are all running on Windows 10. Now, it announces support for the.NET Standard 2.0 specification for.NET unification. The move comes right after Microsoft revealed that it was pulling the plug effectively on its Windows Mobile platform for smart phones, which make Universal Windows applications less universal. Microsoft in fact has been expanding support for iOS and Android in its different development tools as it effectively cedes the market for Apple and Google.
THE NET STANDARD 2.0 SUPPORT AND ADVANTAGE
.NET Standard 2.0 is a specification of APIs, which all implementation of the framework have to implement. Now, UWP has support for 2.0 standard. The main advantage of.NET Standard 2.0 is that it makes implementations of.NET Standard much more the same to.NET Framework. For a .NET development company, it is good to know that with Standard 2.0, around 20,000 more APIS have become available, than the.NET Standard 1.6. The huge majority of the existing.NET Framework APIS that include missing reflection APIs, DataSet, non-generic collections, XML Schema, binary serialization and a whole lot more. In ASP.NET web development, this makes it easier for porting current framework code to UWP. This includes both, copy and pasting the existing code, but extends referencing current.NET framework binaries as well, through the compatibility mode.
PRIMARY GOAL OF.NET CORE STANDARD IN.NET APPLICATION DEVELOPMENT
The primary goal of.NET Core’s Microsoft and.NET Standard was to make more of the APIs or the app programming interface that’s consistent across the various versions of.NET. The officials of Microsoft said the team has moved from 13,000 APIs in.NET Standard 1.6 to 32,000 in.NET Standard 2.0. Many of the newly added APIS are the APIs, meaning that developers must have an easier time to port their current framework to code to.NET Standard.
The framework to make the.NET Core subset of it more portable across platforms in 2014..NET Core became an open source cross-platform implementation of the development platform, which runs on Linux, Windows and MacOS. It includes the.NET runtime, a set of software development kit tools, set of framework libraries and language compilers. The standard is an API specification, which describes the interfaces, which developers could use across all platforms of.NET. It provides performance enhancements in the framework and runtime. Moreover, it adds support for.NET to six new platforms, which include SUSE Linux Enterprise Server 12 SP2, Debian Stretch and MacOS High Sierra.
KEY NOTE FOR NET APPLICATION DEVELOPMENT SERVICE PROVIDERS
Existing developers of.NET Core upgrades from 1.X must be aware of the change that involves the dot net restore command. Beginning in.NET Core 2, this command now is implicit when the situation calls for it. It may be continuously used like in the past, but.NET Core now will call it on one’s behalf when required by commands such as run, build and publish. This is meant to be a quality of life enhancement as previously if restore was required. The system simply would emit an error message and stop.
A major inclusion for the release is the ability of referencing the framework libraries from.NET Standard. This helps developers manage legacy code and intended to simplify the transition from.NET Framework to.NET Standard compliant code. For instance, a library that targets anything from NET 1.0 to 4.6.1 could be referenced from.NET Standard compliant code. The benefit is that it enables developers to migrated code to Standard 2 at their own pace and still use the existing code when budget or time does not allow for full rewrite. Developers of Visual Basic would find support for their language in.NET Core 2, while with the release, this support is limited to console based apps and class libraries.
Visual Studio 2017 version 15.3 today implicitly supports the new release as well as supports side-by-side installation of numerous.NET Core software development kits. This makes development simpler and would make it easier to explore both new releases and beta software development kits in the future without jeopardizing the existing environment of a developer. Another benefit provided by the Core 2 release and the updates to Visual Studio 2017 is that the changes in the future to the.NET Core software development kit would not need a coinciding update to Visual Studio 2017. Meaning that.NET Core SDK could advance without requiring a developer to upgrade their Visual Studio copy.
THE MANY ENHANCEMENTS OF.NET CORE 2.0
There are many enhancements of.NET Core 2.0 that’s necessary to provide a good experience. These include the following.
- LARGER API SURFACE. The set of available APIs have been doubled from 13,000 to 32,000. Most of the APIs added are.NET Framework APIs. The additions make it much easier for porting the existing code to the standard.
- NET FRAMEWORK COMPATIBIITY MODE. The huge majority of NuGet packages currently still are targeting.NET. A lot of projects currently are blocked, from moving to the.NET Standard since not all dependencies are targeting.NET Standard yet. This is why a compatibility mode is added, which lets projects of.NET Standard to depend on the framework libraries as if they’re compiled for.NET Standard. This of course may not work in all instances. But 70 percent of all NuGet packages on nugget.org are API compatible with.NET Standard 2.0 and thus in practice unblocks a lot of projects.
With the new release and improvements for UWP applications, one could have access to a lot more APIs, could use the.NET Standard 2.0 libraries and could much more migrate existing code easily into the UWP applications. The Visual Studio debugging experience must be faster and more capable, and the applications one creates should be more stable and faster. The current release is the biggest one and is a huge step forward.
Dhrumit Shukla is Business Development Manager with TatvaSoft - a custom software development company. He writes about Technology Trends, experience working with B2B and B2C clients.