vet du hva dnx innebærer for deg som .net-utvikler?

13
VET DU HVA DNX INNEBÆRER FOR DEG SOM .NET-UTVIKLER? Joar Øyen

Upload: joar-oyen

Post on 14-Apr-2017

243 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Vet du hva DNX innebærer for deg som .NET-utvikler?

VET DU HVA DNX INNEBÆRER FOR DEG SOM .NET-UTVIKLER?

Joar Øyen

Page 2: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 3: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 4: Vet du hva DNX innebærer for deg som .NET-utvikler?

.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

Page 5: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 6: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 7: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 8: Vet du hva DNX innebærer for deg som .NET-utvikler?

Demo8

Page 9: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 10: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 11: Vet du hva DNX innebærer for deg som .NET-utvikler?

… 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

Page 12: Vet du hva DNX innebærer for deg som .NET-utvikler?

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

Page 13: Vet du hva DNX innebærer for deg som .NET-utvikler?

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