NET Core a New .NET Platform
Total Page:16
File Type:pdf, Size:1020Kb
Intro • Runtimes • Frameworks .NET • Tooling Core • Compilers • Deployment • Understanding .NET .NET Standard Standard • Versioning • Summary • Questions and Wrap up answers ASP.NET .NET Core Innovation Openness Any app, any platform .NET Framework .NET Core Xamarin Runtime Components Compilers NuGet packages Next gen JIT (RyuJIT) Languages innovation .NET Core 1.0 Libraries SIMD .NET Compiler Platform .NET Framework 4.6 Libraries Runtimes ASP.NET Core Universal Windows Apps Any other Model • Cross-platform App Model app model implementations of CoreCLR • CoreRT for AOT scenarios CoreFX libraries CoreFX: Unified Base • Standards based BCL Class Library • Platform and OS abstractions • Delivered in NuGet packages • Shared Framework Runtime Adaption Layer .NET Native Other Runtime SDK Core CLR • Command-line tools • Side by side installation • C# and F# • Driver dotnet.exe .NET Core build tooling project.json xproj Migrate MSBuild tooling .csproj . Linux • Red Hat Enterprise Linux 7.2 • CentOS 7.1+ • Debian 8.2+ • Fedora 23 frameworks TFMs • Linux Mint 17.1, 18 • OpenSUSE 13.2, 42.1 • Oracle Linux 7.1 • Ubuntu 14.04 & 16.04 Mac OS X 10.11, 10.12 Windows • Windows 7+ / Server 2012 R2+ • Windows Nano Server TP5 • Windows Server Core • Windows Server 2016 #imports imports "osx.10.11-x64": { "#import": [ "osx.10.11", "osx.10.10-x64" ] } • • • • • • • • <ItemGroup> <DotNetCliToolReference Include="dotnet-sdklist"> <Version>0.1.0-*</Version> </DotNetCliToolReference> </ItemGroup> . <PackageReference Include="Microsoft.NETCore.App"> <Version>1.0.1</Version> </PackageReference> Host + CoreCLR Native Source files .NET assemblies code Roslyn RyuJIT (C#, F#) IL code (x64, x86, LLILC* ARM) CoreFX Visual Studio or MSBuild * = Experimental Native code .NET Core app (x64, x86, assemblies ARM) Source files Roslyn (IL code) RyuJIT (C#, F#) LLILC* IL to C++* CoreRT CoreFX Visual Studio or MSBuild * = Experimental 2.0 1.6 1.5 1.4 1.3 1.2 1.1 1.0 .NET Framework .NET Core Xamarin Runtime Components Compilers NuGet packages Next gen JIT (RyuJIT) Languages innovation .NET Core 1.0 Libraries SIMD .NET Compiler Platform .NET Framework 4.6 Libraries XML XLinq • XML Document • XPath • Schema • XSL Version #APIs Growth % SERIALIZATION BinaryFormatter • Data Contract • XML 1.x 13,501 +1% DATA Abstractions • Provider Model • DataSet 2.0 32,638 +142% NETWORKING Sockets • Http • Mail • WebSockets IO Files • Compression • MMF THREADING Threads • Thread Pool • Tasks CORE Primitives • Collections • Reflection • Interop • Linq .NET FRAMEWORK .NET CORE XAMARIN My Standard Library 1.x2.x Legend Is able to reference Application Type Via Portability .NET Standard based .NET Framework Portable Class Library library targeted library Via Compatibility Shim 1. 2. 3. 4. 5. 6. .NET Core .NET Standard Future • Allows your • Incremental • .NET Standard 2.0 applications to specification of provides a richer span multiple .NET API surface API surface and operating systems • Will make your better migration • Lightweight class library story package-based portable to • Tooling and IDEs and multiple .NET will catch up cloud/container platforms optimized Resources http://dot.net http://github.com/dotnet/ http://visualstudio.com https://docs.microsoft.com/en-us/ dotnet/articles/core/ Questions and Answers.