API y compatibilidad de .NET.NET APIs and Compatibility

.NET Core puede considerarse una versión multiplataforma de .NET Framework, en la capa de las bibliotecas de clases base (BCL) de .NET Framework..NET Core can be thought of as a cross-platform version of the .NET Framework, at the layer of the .NET Framework Base Class Libraries (BCL).Implementa la especificación de .NET Standard.It implements the .NET Standard specification..NET Core proporciona un conjunto de las API que están disponibles en .NET Framework o Mono/Xamarin..NET Core provides a subset of the APIs that are available in the .NET Framework or Mono/Xamarin.En algunos casos, los tipos no están completamente implementados (algunos miembros no están disponibles o se han movido).In some cases, types are not fully implemented (some members are not available or have been moved).

Diseñado para adaptabilidadDesigned for Adaptability

.NET Core se ha creado como un producto muy similar, pero único, en relación con otros productos .NET..NET Core has been built as a very similar but unique product relative to other .NET products.Se ha diseñado para permitir una amplia adaptabilidad a nuevas plataformas, para nuevas cargas de trabajo y con nuevas cadenas de herramientas de compilador.It has been designed to enable broad adaptability to new platforms, for new workloads and with new compiler toolchains.Tiene varios puertos de CPU y SO en curso y se puede portar a muchos más.It has several OS and CPU ports in progress and may be ported to many more.Por ejemplo, el proyecto LLILC, es uno de los primeros prototipos de compilación nativa para .NET Core mediante el compilador LLVM.An example is the LLILC project, which is an early prototype of native compilation for .NET Core via the LLVM compiler.

En el gráfico siguiente puede ver que la gran mayoría de CoreFX es código independiente de la plataforma que se comparte en todas las plataformas.You can see in the chart below that the vast majority of CoreFX is platform-neutral code that is shared across all platforms.El código independiente de la plataforma se puede implementar como un solo ensamblado portátil que se usa en todas las plataformas.Platform-neutral code can be implemented as a single portable assembly that is used on all platforms.

Las implementaciones de Windows y Unix son de tamaño similar.Windows and Unix implementations are similar in size.Windows tiene una implementación mayor ya que CoreFX implementa algunas características que son exclusivas de Windows, como Microsoft.Win32.Registry pero aún no implementa ningún concepto exclusivo de Unix.Windows has a larger implementation since CoreFX implements some Windows-only features, such as Microsoft.Win32.Registry but does not yet implement any Unix-only concepts.Verá que la mayoría de las implementaciones de Linux y macOS se comparten en una implementación de Unix, mientras que las implementaciones específicas de macOS y Linux son bastante similares en tamaño.You will also see that the majority of the Linux and macOS implementations are shared across a Unix implementation, while the Linux- and macOS-specific implementations are roughly similar in size.

Hay una mezcla de bibliotecas específicas de la plataforma e independiente de la plataforma en .NET Core.There are a mix of platform-specific and platform-neutral libraries in .NET Core.Puede ver el patrón en algunos ejemplos:You can see the pattern in a few examples:

Modelos de aplicación: .NET Core no admite todos los modelos de aplicación de .NET Framework, en parte porque muchos de ellos se basan en tecnologías de Windows, como WPF (basado en DirectX).App-models -- .NET Core does not support all the .NET Framework app-models, in part because many of them are built on Windows technologies, such as WPF (built on top of DirectX).La consola y los modelos de aplicación de ASP.NET Core se admiten tanto en .NET Core como en .NET Framework.The console and ASP.NET Core app-models are supported by both .NET Core and .NET Framework.