SlideShare ist ein Scribd-Unternehmen logo
1 von 39
@RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
Robin Sedlaczek
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
 CTO der Fairmas GmbH in Berlin
 Community Leader DNUG Berlin
 Blogger / .NET Code Geek
 Sprecher
 MSDN Moderator
 Freier Autor
(Entwickler.de, Heise, DotNetPro, Informatik aktuell)
 Open Source
(SharpGL, Roslyn, FxCopAnalyzers, Force Feedback)
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
WINDOWS, DESKTOP & .NET
Im Jahr 2000:
Microsoft veröffentlicht das .NET Framework
für Windows
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
BEST DESKTOP APPLICATION EVER
Windows
Forms
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
BEST DESKTOP APPLICATION EVER
Windows
Presentation
Foundation
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
WINDOWS, DESKTOP & .NET
Was brachte das .NET Framework mit?
 Laufzeitumgebung
 Klassenbibliothek
 Applikationsmodell
 „.NET Vertical“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
AM ANFANG WAR .NET
 …als Monolith
 …für die Entwicklung von Desktop und Server-
Anwendungen
 …für den Einsatz auf Desktop- und Server-
Maschinen
Das .NET Framework wurde konzipiert…
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
MICROSOFT & DAS INTERNET
Microsoft: „Das können wir doch auch…!“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
MICROSOFT & DAS INTERNET
.NET und C#
im Web !
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
SILVERLIGHT
Was brachte Silverlight mit?
 Laufzeitumgebung
 Klassenbibliothek
 Applikationsmodell
„.NET Vertical“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PROBLEM: INTEROPERABILITÄT
Wie können Assemblies zwischen
den Verticals geteilt werden?
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
DIE LÖSUNG (2010)
Wie machen wir Assemblies binärkompatibel?
 Portabilität von Low-Level-Assemblies:
Mscorlib
System
System.Core
System.ComponentModel.Composition
Microsoft.VisualBasic
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
DIE LÖSUNG (2010)
.NET-Projekt referenziert
Silverlight-Assembly
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
INNOVATIONEN
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
MICROSOFT BLEIBT HART DRAN
.NET und C#
auf
Windows
Phone !
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
WINDOWS PHONE
Was brachte
Windows Phone mit?
 Laufzeitumgebung
 Klassenbibliothek
 Applikationsmodell
„.NET Vertical“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
VERTICALS, VERTICALS, VERTICALS
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PROBLEM: INTEROPERABILITÄT
Erneut die Frage:
Wie können Assemblies zwischen
den Verticals geteilt werden?
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
DIE LÖSUNG
Portable Class Libraries (PCLs)
 PCLs sind binärkompatibel
 Unterstützung durch Tooling
 Schnittmenge der Plattform-APIs
durch Contracts
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PORTABLE CLASS LIBRARY
 Auswahl der Framework-Version
 Auswahl des Betriebssystems
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PORTABLE CLASS LIBRARY
Ganz nebenbei:
Was ist eigentlich, wenn eine
neue Plattform hinzukommt?
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PORTABLE CLASS LIBRARY
Technische Probleme:
 API-Konvergenz
 App-local vs. Machine-wide Framework
Und noch ein ganz anderes…
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PROBLEME
Wachstum der
Amazon Cloud
2006-2013
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PROBLEME
Wachstum von
Docker
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
PROBLEME
Mit Windows,
monolithischem
.NET Framework
& MSSQL Server
in die Cloud…
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET CORE
.NET Core als Lösung…
 Leichtgewichtig
 Modular
 plattformunabhängig
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET CORE
.NET Framework
in Häppchen
&
NuGet als
Häppchenlieferant
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET CORE
Was bringt .NET Core mit?
 Laufzeitumgebung
 Klassenbibliothek
 Applikationsmodell
Doch wieder eine neue
„.NET Vertical“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
WAR DAS SCHON ALLES?
Aber etwas muss noch in
Betracht gezogen werden…
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD
Der Plattform-
Tellerrand ist
noch nicht
erreicht…
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD
Vereinheitlichte
Plattform
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD
.NET Standard 1 1.1 1.2 1.3 1.4 1.5 1.6 2
.NET Core 1 1 1 1 1 1 1 2
.NET Framework (with tooling 1.0) 4.5 4.5 4.5.1 4.6 4.6.1 4.6.2 vNext 4.6.1
.NET Framework (with tooling 2.0) 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1
Mono 4.6 4.6 4.6 4.6 4.6 4.6 4.6 vNext
Xamarin.iOS 10 10 10 10 10 10 10 vNext
Xamarin.Android 7 7 7 7 7 7 7 vNext
Universal Windows Platform 10 10 10 10 10 vNext vNext vNext
Windows 8 8 8.1
Windows Phone 8.1 8.1 8.1
Windows Phone Silverlight 8
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD 2.0
Was bedeutet das für meine Komponenten?
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD 2.0
Alles für die Kompatibilität….
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET STANDARD 2.0
Großer
API-Sprung
mit .NET
Standard 2.0
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
HISTORIE
Microsoft .NET
2000
Gründung
Mono-
Projekt
2001
Mono 1.0
2004
Windows
Phone 7.5
Silverlight 5
Xamarin
(Gründung)
2011
2017
.NET Core 1.1.1
.NET
Framework 4.7
.NET Framework
2.0
2005
Xbox 360
.NET Framework
3.0
2006 Silverlight
2007
.NET Framework
3.5
Mono 2.0
C# 3, .NET 2.0 (3/3.5)
2008
2016
.NET Core 1.0
.NET Core 1.1
.NET Standard
Windows 8.1
2013
Xbox One
2015
MSBuild wird
Open Source
Neues
C#, F#, VB.NET
Project-System
(Open Source)
.NET Framework
4.6
Windows 10
HoloLens
Windows
Phone 7
2010
.NET Framework
4.0
Silverlight 4
Windows 8
Windows RT
Windows Phone 8
2012
.NET Framework
4.5
„Roslyn“
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
.NET CORE
Wachstum der
Microsoft Cloud
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
Vielen Dank!
RobinSedlaczek.wordpress.com
RobinSedlaczek
RobinSedlaczek@live.de

Weitere ähnliche Inhalte

Ähnlich wie DNUGBB 2017 - .Net, .Net Core, .Net Standard

Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebautBASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebautRobin Sedlaczek
 
BASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio ExtensionsBASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
 
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkBASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkRobin Sedlaczek
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesRobin Sedlaczek
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Robin Sedlaczek
 
#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User InterfacesRobin Sedlaczek
 
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...Robin Sedlaczek
 
BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionRobin Sedlaczek
 
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellMagdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellRobin Sedlaczek
 
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!Robin Sedlaczek
 
Azure Hybrid Connections
Azure Hybrid ConnectionsAzure Hybrid Connections
Azure Hybrid ConnectionsRobin Sedlaczek
 
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Robin Sedlaczek
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Digicomp Academy AG
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 

Ähnlich wie DNUGBB 2017 - .Net, .Net Core, .Net Standard (20)

Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebautBASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
 
BASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio ExtensionsBASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio Extensions
 
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkBASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch Immutables
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
 
#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces
 
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
 
BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
 
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellMagdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
 
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
 
Azure Hybrid Connections
Azure Hybrid ConnectionsAzure Hybrid Connections
Azure Hybrid Connections
 
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
Development in der Cloud-Ära
Development in der Cloud-ÄraDevelopment in der Cloud-Ära
Development in der Cloud-Ära
 

Mehr von Robin Sedlaczek

BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
 
ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?Robin Sedlaczek
 
#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in Action#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in ActionRobin Sedlaczek
 
Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Robin Sedlaczek
 
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler PlattformRobin Sedlaczek
 
Code Reviews - Best Practices
Code Reviews - Best PracticesCode Reviews - Best Practices
Code Reviews - Best PracticesRobin Sedlaczek
 

Mehr von Robin Sedlaczek (6)

BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
 
ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?
 
#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in Action#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in Action
 
Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?
 
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
 
Code Reviews - Best Practices
Code Reviews - Best PracticesCode Reviews - Best Practices
Code Reviews - Best Practices
 

DNUGBB 2017 - .Net, .Net Core, .Net Standard

Hinweis der Redaktion

  1. 1
  2. 39