NET and NET Core 1 1 NET architectural

  • Slides: 13
Download presentation
. NET and. NET Core 1. 1. . NET architectural components and. NET Core

. NET and. NET Core 1. 1. . NET architectural components and. NET Core Pan Wuming 2017

Topics • CTS • . NET Core References:. NET Documentation: https: //docs. microsoft. com/en-us/dotnet/index

Topics • CTS • . NET Core References:. NET Documentation: https: //docs. microsoft. com/en-us/dotnet/index

. NET architectural components • . NET Standard • . NET implementations • .

. NET architectural components • . NET Standard • . NET implementations • . NET runtimes • . NET tooling and common infrastructure

. NET implementations • Each implementation of. NET includes the following components: • One

. NET implementations • Each implementation of. NET includes the following components: • One or more runtimes. Examples: CLR for. NET Framework, Core. CLR and Core. RT for. NET Core. • A class library that implements the. NET Standard and may implement additional APIs. Examples: . NET Framework Base Class Library, . NET Core Base Class Library. • Optionally, one or more application frameworks. Examples: ASP. NET, Windows Forms, and Windows Presentation Foundation (WPF) are included in the. NET Framework. • Optionally, development tools. Some development tools are shared among multiple implementations.

. NET implementations • . NET Core • . NET Framework • It contains

. NET implementations • . NET Core • . NET Framework • It contains additional Windows-specific APIs. • Mono • The runtime powers Xamarin applications on Android, Mac, i. OS, tv. OS and watch. OS and is focused primarily on a small footprint. • It also features a full static compiler (ahead-of-time compilation) that is used on platforms like i. OS. • Universal Windows Platform (UWP) • Its target devices include PCs, tablets, phones, and even the Xbox and Holo. Lens.

. NET tooling and common infrastructure • The. NET languages and their compilers •

. NET tooling and common infrastructure • The. NET languages and their compilers • The. NET project system (based on. csproj, . vbproj, and. fsproj files) • MSBuild, the build engine used to build projects • Nu. Get, Microsoft's package manager for. NET • Open-source build orchestration tools, such as CAKE and FAKE

Common Type System - CTS • Establish a framework for cross-language execution. • Provide

Common Type System - CTS • Establish a framework for cross-language execution. • Provide an object-oriented model to support implementing various languages on a. NET implementation. • Define a set of rules that all languages must follow when it comes to working with types. • Provide a library that contains the basic primitive types that are used in application development.

Common Language Specification - CLS CTS C# F# CLS VB. NET • Set of

Common Language Specification - CLS CTS C# F# CLS VB. NET • Set of rules, applicable to the public interface of public types, that guarantee interoperability between languages.

. NET Core: creating web applications and services • Composition • A. NET runtime,

. NET Core: creating web applications and services • Composition • A. NET runtime, Core. CLR • A set of framework libraries • A set of SDK tools and language compilers • The 'dotnet' app host, which is used to launch. NET Core apps. • Languages: C#, Visual Basic, and F#

Characteristics best define. NET Core • Cross-platform • Windows, Linux, Mac and Docker. •

Characteristics best define. NET Core • Cross-platform • Windows, Linux, Mac and Docker. • Unified: • . NET Standard library • Fast • Lightweight: No impact deployment • Modern • Generics, Language Integrated Query (LINQ), async support and more. • Open Source

Workloads • By itself, . NET Core includes a single application model -- console

Workloads • By itself, . NET Core includes a single application model -- console apps. Additional application models have been built on top of. NET Core to extend its functionality, such as: • ASP. NET Core • Windows 10 Universal Windows Platform (UWP) • Xamarin. Forms when targeting UWP

. NET Standard a formal specification of. NET APIs • Defines uniform set of

. NET Standard a formal specification of. NET APIs • Defines uniform set of Base Class Libraries (BCL) APIs for all . NET implementations to implement, independent of workload. • Enables developers to produce portable libraries that are usable across. NET implementations, using this same set of APIs. • Reduces or even eliminates conditional compilation of shared source due to. NET APIs, only for OS APIs. • The various. NET implementations target specific versions of . NET Standard. • The. NET Standard is also a target framework.

. NET Standard versioning rules • Additive: • . NET Standard versions are logically

. NET Standard versioning rules • Additive: • . NET Standard versions are logically concentric circles: higher versions incorporate all APIs from previous versions. There are no breaking changes between versions. • Immutable. • Once shipped, . NET Standard versions are frozen. New APIs will first become available in specific. NET implementations, such as. NET Core. If the. NET Standard review board believes the new APIs should be made available everywhere, they'll be added in a new. NET Standard version.