Home  >  Article  >  Backend Development  >  A brief analysis of .NET Core and its relationship with .NET Framework

A brief analysis of .NET Core and its relationship with .NET Framework

黄舟
黄舟Original
2017-02-22 10:17:061403browse

It has been nearly 15 years since Microsoft launched the .NET platform in 2002. In the wave of rapid iteration of the Internet, many languages ​​have been eliminated, and more new languages ​​have emerged, but .Net is still standing firmly on the system development platform. In the first-line camp, and with the upcoming official A brief analysis of .NET Core and its relationship with .NET Framework of .NET Core (June 27, 2016), a new round of spring is bound to come.

1. NET Frameworks

To understand .NET Core, it is necessary to understand the many Frameworks of the previous .NET platform. In 2002, Microsoft released the first .NET framework - .NET Framework. Soon after, it released .NET Compact Framework for use on smaller mobile devices (Windows mobile), and .NET Compact Framework also contains a It is similar to the .NET Framework system (Runtime, Framework, Application Model), which is a simplified A brief analysis of .NET Core and its relationship with .NET Framework of the .NET Framework. Over the past few years, Microsoft has continuously launched several frameworks similar to the .NET Framework to run on different devices and platforms. Each Framework has a similar system but not exactly the same, so there are more and more Frameworks. For developers, different devices need to maintain multiple sets of codes even if they have the same functions, which increases the complexity of development.

.net 的框架

2. The arrival of .NET Core

Microsoft’s rethinking and improvement of these issues allowed .NET Core to emerge.

.NET Core is an open source modular Framework. Whether developing web or mobile devices, they all run under the same Framework (.NET Core), and .NET Core can also run on different operating systems. Running, including Windows, Linux, MacOS, achieving cross-platform and cross-device.

What’s even better is that .NET Core does not need to install the Framework in advance when publishing the program but downloads it through Nuget. In this way, there is no need to install a complex and huge Framework during the initial deployment, but it is downloaded on demand. This Nuget-based on-demand loading makes .NET Core cross-platform.

A brief analysis of .NET Core and its relationship with .NET Framework

.NET Core composition system is as follows:

1. Runtime

There are two types of RunTime implemented in .NET Core, NativeRuntime and CoreCLR. NativeRuntime converts C# or VB.net code directly into native machine code. CoreCLR is an open source JIT runtime that compiles the code into an intermediate language (IL) and then converts it into machine code at final runtime.

 2. Unified BCL

Base Classlibrary is the basic class, such as FileSystem, Console, XML operations, etc.

 3. Windows Store AppModel & A brief analysis of .NET Core and its relationship with .NET Framework Core 1.0

Provides a set of basic libraries for developing various touch screen devices and A brief analysis of .NET Core and its relationship with .NET Framework programs for Windows systems.

3 The relationship between .NET Core and other .NET Frameworks

A brief analysis of .NET Core and its relationship with .NET Framework

A brief analysis of .NET Core and its relationship with .NET Framework

## 1 .NET Core & .NET Framework

.NET Core & .NET Framework are both implementations of NET Standard Library. One is cross-platform, and the other is unique to Windows. In addition to implementing NET Standard Library, .NET Core and .NET Framework both Each has its own unique implementation. .NET Standard Library is the key to cross-operating systems. It defines a set of interfaces, and each operating system has its own implementation. .NET Core can dynamically download the implementation of the current operating system through nuget, thus achieving cross-operating systems (cum sharing code across operating systems).

 .NET Core relies more on Nuget, allowing local applications to dynamically download required class libraries during deployment. The .NET Framework needs to be pre-installed in the system. In this way, the deployment of .NET Core is simpler, faster and lighter than the .NET Framework.

 2.NET Core & A brief analysis of .NET Core and its relationship with .NET Framework

A brief analysis of .NET Core and its relationship with .NET Framework

As you can see from the picture above, A brief analysis of .NET Core and its relationship with .NET Framework Core has two forms:

 A brief analysis of .NET Core and its relationship with .NET Framework Core Web Application(.NET Core)

A brief analysis of .NET Core and its relationship with .NET Framework that depends on .NET Core can only call the API of .NET Core and can run on multiple operating systems. run.

(You can see the Reference Manager in the lower half of the picture below, there is no library in the .NET Framework in the assemblies)

 A brief analysis of .NET Core and its relationship with .NET Framework Core Web Application (.NET Framework)

A brief analysis of .NET Core and its relationship with .NET Framework, which relies on .NET Core & .NET Framework, can call the API of .NET Core & .NET Framework and can only run under Windows. (You can see the Reference Manager in the upper part of the picture below, which contains all the libraries in the .NET Framework in the assemblies)

A brief analysis of .NET Core and its relationship with .NET Framework

 3.NET Core & Mono

Mono is an implementation of the open source A brief analysis of .NET Core and its relationship with .NET Framework of the .NET Framework. It is very similar to .NET Core in some features, such as open source and cross-operating systems. At present, .NET CORE will learn from Mono's experience and develop and eventually be able to run better on other operating systems besides Windows. In addition, Mone supports more App Models than .NET Core (such as Windows Forms).

Summary

Microsoft CEO Satya Nadella wisely decided to abandon PC-centricity, embrace various devices and platforms, and become a software services company. In order to achieve this vision, a new Microsoft ecological chain must be built, including Windows, Linux, OS X and other operating systems, covering processors such as X86/ARM and different devices (including PCs, Phones, holographic glasses and others). These show Microsoft's "ambition". With the official release of .NET Core taking a solid step forward, let us wait and see on June 27.

The above is a brief analysis of .NET Core and its relationship with .NET Framework. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn