Christian Nagel | thinktecture / CN innovation · 1.0 3.5 Upd 1 CSDL, MSL, SSDL .vs. LINQ to SQL...

Preview:

Citation preview

Christian Nagel | thinktecture / CN innovation

Die Vorteile von

.NET Core und CLI

Christian Nagel

• Training

• Coaching

• Consulting

• Microsoft MVP

• thinktecture

• CN innovation

Agenda .NET Core

Warum? Was? Wie?

15 Jahre .NET

.NET CLR C# Visual Studio

1.0 1.0 1.0 2002

1.1 1.1 1.2 2003

2.0 2.0 2.0 2005

3.0 2.0 2.0 2005+Ext

3.5 2.0 3.0 2008

4.0 4.0 4.0 2010

4.5 4.0 5.0 2012

4.5.1 4.0 5.0 2013

4.6 4.0 6 2015

Core 1.0 Core CLR 6 2015+Ext

Customer Requests

Faster Innovations

Multi-Platform

Open Source

Legacy Code

Probleme (1) - Komplexität

• .NET ist riesig

• ArrayList .vs. List<T>

• .NET Remoting .vs. ASP.NET Web

Services .vs. WCF vs. ASP.NET Web

API

• EF Model First .vs. Code First

Probleme (2) - Erweiterbarkeit

• Am Beispiel Entity Framework

EF .NET Features Issues

1.0 3.5 Upd 1 CSDL, MSL, SSDL .vs. LINQ to SQL

4.0 4.0 Easier, POCO, DDL.. Release Cycles

4.1 Code First via NuGet

4.2 Bug Fixes

4.3 Migrations

5.0 4.5 Performance, SQL

Server enhancements

or 4.4?

6.0 All NuGet ASP.NET Web Forms

Compat

Core 1.0 Core 1.0 NoSQL, Clients Complete Rewrite

Probleme (3) – Code Sharing

• .NET Class Library

– Nur mit .NET Framework

• Portable Library

– Viele verschiende Definitionen

– Silverlight, .NET, Phone, Xamarin…

• Shared Projects

Summary

.NET Framework ist groß und komplex

Schnellere Innovationen gefordert

Lösung von bestehenden Problemen

Überblick

.NET Framework

WPF ASP.NET

4.x

.NET Compiler

PlatformLibrariesRuntime

Components

Überblick

.NET Core 1.0.NET 4.6.1

WPF ASP.NET

4.x

ASP.NET

Core 1.0ASP.NET Core

1.0

Universal

Windows

Platform

.NET Compiler

PlatformLibrariesRuntime

Components

CoreCLR .NET Native

Ein neues Framework

• Open Source

• Windows, Linux, OS X

• Modern Patterns

• Code vom .NET Framework übernommen

• Kleinere Einheiten

• Modernes Design

• Native Code

• .NET Command Line Interface

Einfache Tools

Summary

Ein neues Framework

Neue Tools

Native Code

Bestehendes weiterhin

Erstellen einer Console App

• dotnet new

• dotnet restore

• dotnet build

Demo

Time

What you've seen

• dotnet Tools

• project.json

• NuGet Packages

• .NET 4.x .vs. .NET Core

Universal Windows App

• Using .NET Core Libraries

Demo

Time

What you've seen

• Universal Windows App

– Using .NET Core

• Microsoft.Extensions.DependencyInjection

Erstellen einer Library

• project.json

• NuGet Package

• Multiple Clients

Demo

Time

What you've seen

• Portable Class Libraries werden nicht

mehr benötigt

• .NET Core für alle Projekttypen

• netstandard

netstandard

Target Platform Alias

.NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4

.NET Framework net 4.6.1

4.6

4.5.2

4.5

Universal Windows Platform uap 10.0

Windows win 8.1

Windows Phone wpa 8.1

Windows Phone Silverlight wp 8.1

DNX Core dnxcore 5.0

Web Application

• ASP.NET Core 1.0

• ASP.NET MVC 6

Demo

Time

What you've seen

• ASP.NET Core 1.0

• ASP.NET MVC

• Viele Änderungen zwischen RC1 und

RC2

Summary

• A new Framework

– .NET Core 1.0

• New Tools

– Dotnet Tools

Roadmap

• .NET Core RC1 ist verfügbar

– GO LIVE Lizenz

• Aktuell Umbau auf CLI Tools

Fragen?

More Information

• get.asp.net

• github.com/ProfessionalCSharp

• github.com/CNinnovation

• github.com/dotnet

• github.com/aspnet

Recommended