Introducing Microsoft New Platform .NET Core

Introducing Microsoft New Platform .NET Core

.NET Core is the small optimized runtime that is the basis of ASP.NET Core 5. It currently runs on Windows, and will be extended to support Linux and Mac. It is a high-performance and modular design, and supports full side by side to make it easy to adopt new .NET Core versions without affecting other apps. These products are actively developed by the .NET team and in collaboration with a community of open source developers. Together we are dedicated to improving and extending the .NET platform with new features and for new scenarios.

.NET Core has two major components. It includes a small runtime that is built from the same codebase as the .NET Framework CLR. The .NET Core runtime includes the same GC and JIT (RyuJIT), but doesn’t include features like Application Domains or Code Access Security. The runtime is delivered on NuGet, via the Microsoft.CoreCLR package.

.NET Core also includes the base class libraries. These libraries are largely the same code as the .NET Framework class libraries, but have been factored (removal of dependencies) to enable us to ship a smaller set of libraries. These libraries are shipped as System.* NuGet packages on NuGet.org.

Modular

.NET Core is a set of runtime, library and compiler components. Microsoft uses these components in various configurations for device and cloud workloads. You can do the same for your app or service.

Managed

Managed runtimes make code easy to write and guarantee safe execution. .NET Core manages memory with a garbage collector, compiles your code with a JIT compiler or ahead of time with .NET Native.

Cross-platform

You can create .NET Core apps that run on multiple OSes and CPUs. .NET Core runs on Windows. Ports are in progress for Linux, OS X and FreeBSD, as is integration with the LLVM compiler.

Modern

.NET Core brings with it a set of languages, led by C#, with VB and F# with support for modern language features, like generics, Language Integrated Query (LINQ), async support and more. It is backed by a managed compiler called "Roslyn" that is exposed to the runtime, usable as a service.

Inter-operable

The managed runtime of .NET Core allows for a streamlined and easy interoperability with native code through several ways. Each of them allows for a rich set of scenarios not to mention great performance.

Extensible

Runtime modularity allows for an extensibility model through a good set of abstractions for adding new components to the actual runtime and its class library, but also through its package manager NuGet, which allows for a powerful componentization strategies.

Adaptable

.NET Core is versatile in multiple scenarios, from client applications, across web, server workloads to mobile apps. With its "pay as you go" model, .NET Core can be adapted easily to perform great and provide a rich experience developing for each of these.

Portable

.NET Core is portable across various platforms, both in terms of operating systems and processor architectures. Code written for it is also portable across application stacks, such as Mono, making it feasible to move applications across app stacks as well.

Open

.NET Core is backed by an open ECMA standard that outlines all of its capabilities which can be used to make a new reference implementation. A lot of projects did exactly this, and there are various implementation out there, Mono and Unity being the most popular, non-Microsoft ones.


要查看或添加评论,请登录

Mizanur Rahman的更多文章

社区洞察

其他会员也浏览了