vet du hva dnx innebærer for deg som .net-utvikler?
TRANSCRIPT
VET DU HVA DNX INNEBÆRER FOR DEG SOM .NET-UTVIKLER?
Joar Øyen
FØRST LITT HISTORIE…
• .NET Runtime 1.0, 2.0, 4.0
• .NET Framework 1.0 - 4.5.2
• .NET Compact Framework
• .NET Client Profile
• .NET Micro Framework
• Silverlight− Desktop
− Windows Phone 7
• XNA
• .NET Portable
• Windows Phone 8, 8.1
• .NET Core 4.5
• Mono
2
HVA BESTÅR NESTE VERSJON AV .NET AV?
• .NET Framework 4.6
• C# 6 / VB.NET 14
• Roslyn
• RyuJIT
• ASP.NET MVC 6
• Entity Framework 7
• .NET Execution Environment (DNX)− .NET Core 5
− .NET Core CLR 1.0
− .NET Core FX 1.0
− .NET Framework 4.6
3
.NET 2015
4
RyuJIT + SIMD
Garbage Collector
Runtime components Compilers
.NET Compiler Platform (Roslyn)
Languages innovation
.NET Framework 4.6 .NET Core 5
Fully-featured and integrated
.NET libraries and runtime for Windows
Modular and optimized
.NET libraries and runtimes
Base class libraries
NuGet packages
Libraries
CORE CLR
• Multiplattform
• Distirbueres via NuGet− Ligger i NuGet cache og ikke i GAC
− Forskjellige versjoner lever side om side
• Ser DNX i oppgavebehandler, ikke progam.exe− Tilsvarende på Linux og OS X
• Deler funksjonalitet med resten av .NET− Garbage collector
− Just-in-time native kompilator
− .NET Compiler Platform ("Roslyn")
• Minimalistisk kjøremiljø− Har f.eks. ikke støtte for Application Domains
5
CORE FX
• Bygd på erfaringene med Katana
• Base class libraries
• Ingen avhengigheter til Windows komponenter− Støtter ikke Win Forms, WPF, Web Forms, WCF, GDI / Drawing
6
DNX FOR UTVIKLERE
• Mye kjappere for utviklere− Kontinuerlig kompilering i minnet
− Ikke noe forskjell på design-time og run-time
− Bygging er nå mer «restore alle nødvendige avhengigheter»
• Nytt prosjekt og byggesystem− Alle avhengigheter går via pakkehåndterer (NuGet, NPM, Bower)
− Støtter flere rammeverk i samme prosjekt
− Minimalistisk MSBuild prosjekt fil (.xproj)
− JSON basert prosjektkonfigurasjon (project.json)
− JSON basert applikasjonskonfigurasjon (config.json)
7
Demo8
NÅR ER .NET CORE 5 AKTUELL Å BRUKE
• Når man har absolutte behov− Krav om multiplattform: Linux, OS X, Raspberry Pi*)
− Uavhengig deployment / hosting
• Når man− Har et Owin basert ASP.NET Web API / SignalR prosjekt
− Green field ASP.NET MVC 6
− Fult ut mulig å bytte tilbake til fullt rammeverk
• Ikke når man− Har eksisterende kode som fortsatt kan kjøres på Windows
− Kan bruke MVC 6 på .NET Framework 4.6
− Kan vente på ASP.NET Core 6
9
RASPBERRY PI 2
*) Scott Hanselman 2015-05-05: ”The ASP.NET team is in talks with the IoT folks…”
10
.NET Core 5
Modular and optimized
.NET libraries and runtimes
… 2015 2015 …
• .NET Runtime 1.0, 2.0, 4.0
• .NET Framework 1.0 - 4.5.2
• .NET Compact Framework
• .NET Client Profile
• .NET Micro Framework
• Silverlight
• XNA
• .NET Portable
• Windows Phone 8, 8.1
• .NET Core 4.5
• Mono
• .NET Runtime 4.0 / .NET Framework 4.6
• .NET Core 5.0− DNX
− .NET Native
11
REFERANSER
• .NET Core 5https://www.dotnetfoundation.org/netcore5
• DNXhttps://github.com/aspnet/DNX
• CoreFXhttps://github.com/dotnet/corefx
• Dokumentasjonhttp://aspnet.readthedocs.org/en/latest/dnx/index.html
• Community standuphttps://www.youtube.com/user/shanselman
• ASP.NET Announcementshttps://github.com/aspnet/Announcements
• Raspberry PI 2− Setting up Windows 10 for IoT on your Raspberry Pi 2
http://www.hanselman.com/blog/SettingUpWindows10ForIoTOnYourRaspberryPi2.aspx
− How to run ASP.NET 5 Beta 3 or GoLang on a Raspberry Pi 2http://www.hanselman.com/blog/HowToRunASPNET5Beta3OrGoLangOnARaspberryPi2.aspx
12
OPPSUMMERING
• Åpenheten til .NET / Microsoft er kult !− Kildekode, issue tracker og dokumentasjon på GitHub
− Multi-plattform og –enheter
• Eksisterende brikker passer ikke nødvendigvis sammen med de nye
• Vurder DNX for nye prosjekter og ønske om deployment på noe annet enn
Windows
Don’t panic
13