.NET Core features
Posted: May 22, 2022
Today, the challenge of developing applications that cover different devices is very common: there is almost always some back-end running on a web server, often an administrative front-end using desktop Windows, and also a set of mobile applications available to people with a wide variety of devices. So it's critical for us to support developers creating components that cover all.NET verticals.
Hire dotnet developers https://devoxsoftware.com/hire/hire-dotnet-developers/, to get lightweight, scalable and future-ready web applications. Whether it's a website update or a large-scale web application.
When the.NET Framework was designed, there was an assumption that it would always be distributed as a single unit, so decomposition issues were not seen as critical. The very core of the assembly on which everything depends is mscorlib. The mscorlib library, which comes with the.NET Framework, contains many features that are not universally supported (remote execution and AppDomain, for example). This leads to each vertical making its own subset of the platform core itself. Hence the difficulty of making class libraries designed for multiple verticals.
The idea behind contracts is to provide a thoughtful set of APIs suitable for code decomposition tasks. Contracts are simply assemblies under which you can compile your code. Unlike regular assemblies, contract assemblies are designed specifically for decomposition tasks. We clearly trace the dependencies between contracts and write them so that they are responsible for one thing and not a dump of APIs. Contracts have independent versioning and follow appropriate rules, for example, if a new API is added, it will be available in the build with the new version.
Today we use contracts to model APIs across all verticals. A vertical can simply pick and choose which contracts it will support. The important point is that the vertical must support the contract in its entirety or not at all. In other words, it cannot include a subset of the contract.
This allows us to talk about API differences between verticals already at the assembly level, as opposed to individual API differences as it used to be. This allows us to implement a mechanism for code libraries that target multiple verticals. Such libraries are now known as portable class libraries.
.NET Core is a modular implementation that can be used by a wide range of verticals, from datacenters to touchscreen devices, available as open source, and supported by Microsoft on Windows, Linux and Mac OSX.
The.NET Core platform is a new.NET stack optimized for open-source development and flexible delivery via NuGet.
Nowadays, software development is becoming quite relevant. The reason for this is the instinctive desire of people to have in their arsenal everything individual, designed in accordance with personal parameters and requirements.