Interpretation of .NET platform framework

overview

Microsoft has paid great hardships and done a lot of work on the .NET cross-platform road.

Firstly, the unified API standard specification library .NET Standard was launched, and the standard library was continuously supplemented and improved. As of now (2023-6-30), the latest version is .NET Standard 2.1.

In 2016 , .NET Core 1.0.0 was released. The open source code is located under the .NET Foundation, and vigorously develops ecological construction. World-renowned IT companies have joined and contributed, and the community development is extremely active. After the acquisition of Xamarin, Mono also officially joined the Microsoft family, filling the technical gap in the field of mobile APP development in the Microsoft technology stack.

Since then, Microsoft.NET has evolved into a new large architecture as shown in the figure below.

.NET Framework

1. .Net Framework is an implementation of Net. We can use C#, VB, and F# to write programs on this type of library. It is mainly used to build applications under Windows. It mainly consists of two parts:

  • The common language runtime (CLR) processes the application 
  • Base Class Library (BCL) This is the reusable code library with which applications are written

2. During the execution process, the code written by .Net will be compiled into an intermediate language (IL) storage form, mainly ending with DLL and EXE suffixes. When the program is running, CLR will compile and convert it into machine code.

3. The .Net Framework itself is not cross-platform, it is limited to running on the Windows platform, and a third party is needed to cross-platform.

Application scenario : For traditional desktop solutions, WPF and WinForm are used.

.NET Core

Early (before.NET Core) .NET applications are not cross-platform, they can only run on the Windows operating system, and the .NET Framework environment must also be installed in the operating system. If you want to run on other operating systems, you need to use a third-party framework, such as: Mono—an open source third-party .NET Framework framework that can run on Linux and Mac OS operating systems.

In May 2011, in order to use C# to develop cross-platform mobile device applications, Mono developers established and released Xamarin and was acquired by Microsoft in 2016.

With mobile devices quickly occupying the market, the general trend of the Windows platform is gone. Until .NET Core, .NET is not truly cross-platform, which is also a major strategic change for Microsoft. In December 2014, Microsoft embraced the open source community and announced the open source of the core code of .NET Core, which is also the most important step taken by .NET cross-platform.

After continuous iteration, .NET Core 1.0 was released in June 2016, and .NET Core 1.1.1 was released in March 2017. Currently (2023.06.30), the latest version of .Net is the preview version of .Net8.0.

.NET Core is a modular implementation that can be used in various verticals, from data centers to touch-based devices. It is open source, cross-platform, and can run on operating systems such as Windows, Linux, and MacOS. It also supports installation and deployment of containerized environments such as Docker. 

According to Scott Hunter , Microsoft's program manager for .NET : "40 percent of .NET Core customers are new platform developers. That's exactly what we want. We want to bring in new people."

.NET Core is fast because it can be deployed in parallel with the application, so .NET Core can change frequently because these changes do not affect other .NET Core applications on the same computer. The improvements Microsoft made to .NET Core cannot be added to .NET Framework. 

Application scenarios: solutions for cross-platform (Windows, Linux, macOS), such as Internet of Things IoT, artificial intelligence AI, AR, MR, Web, etc.

.Net Standard

Net Standard is a specification that defines the Api that must be implemented by .Net Framework and .Net Core. It appears to be developed on various platforms. .Net personnel solve the problem of code sharing, but only for the development of class libraries, which means that if your class library is .Net Standard compliant, then such libraries can be either .Net Framework or .Net Core class libraries.

Xamarin

A third-party company has developed a .NET Framework implementation called the Mono project. Mono is cross-platform, but it lags far behind the official implementation of the .NET Framework. Mono has found its value as the foundation of the Xamarin mobile platform and cross-platform game development platforms such as Unity.

Microsoft acquired Xamarin in 2016 and made the once expensive Xamarin extensions available for free in Visual Studio 2019. Microsoft renamed the Xamarin Studio development tool, which can only create mobile applications, to Visual Studio 2019 for Mac, and gave it the ability to create other types of applications. With Visual Studio2019 for Mac, Microsoft will be able to replace some of the functions of the Xamarin Studio editor with some of the functions of Visual Studio2019 for Windows to provide a closer experience and performance.

Application scenarios : solutions for mobile terminals, such as IOS, Android, and WinPhone. 

development tools

Visual Studio, the first IDE in the universe officially launched by Microsoft, is a complete set of development tools, which includes most of the tools needed in the entire software life cycle, such as UML tools, code management tools, integrated development environment (IDE) and so on. Currently (2023-06-30) the latest version is Visual Studio 2022.

Other development tools are Visual Studio for Mac and Visual Studio Code.

Summary (AI)

The .Net platform is a very mature, stable and efficient development platform, which can help developers quickly and flexibly build various applications. The .Net platform combines languages ​​such as C#, VB, and F#, and provides powerful development tools and frameworks that can easily meet various development needs.

At the same time, the .Net platform has rich scalability and portability, and can run in many different environments, including operating systems such as Windows, Linux, and macOS. In addition, the .Net platform fully supports cloud development, making it easy to create and manage cloud platform applications.

Overall, the .Net platform is a very good development platform, suitable for the development of various types of applications, and I highly recommend it.

references:

Guess you like

Origin blog.csdn.net/luobowangjing/article/details/131471218