Upload
others
View
1
Download
0
Embed Size (px)
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