Quo Vadis Microsoft

Werbung
IT-Development & Consulting
Quo Vadis Microsoft?
Multiplattform-Entwicklung mit .NET
Axel Eckenberger, 09.03.2017
it-people
it-solutions
Agenda
Was bedeutet „Multiplattform“ Entwicklung?
Welche Konsequenzen ergeben sich für die Entwicklung mit .NET?
Wohin wird die Reise gehen?
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 2
Multiplattform
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 3
Multiplatform: Hardware
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 4
Hardware
Systemarchitektur
I x86 – 32/64 Bit
I ARM – 32/64 Bit
Maßgebliche Eigenschaften
Geräteklassen
I Bildschirmgröße
I IoT
I Speicher
I Phone
I Prozessorleistung / Kerne
I Tablet
I Netzwerkverbindung
I PC
I Nutzerverhalten und -toleranz
I Server
I GUI Abhängigkeit
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 5
Multiplatform: Betriebssysteme
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 6
Betriebssysteme
Auf dem Gerät
I Windows – klassische Desktopanwendung / UWP
Server, PC, Tablet, Phone, IoT
I OS X
Mac
I iOS
Tablet, Phone
I Linux
Server, PC, IoT
I Android
Tablet, Phone
Cloud
I Anbieter die .NET unterstützen
Azure
AWS
Google
…
I Infrastruktur (IaaS) und Dienste (PaaS)
I Frei kombinierbarer Leistungsumfang
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 7
Multiplatform: Entwicklung
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 8
Frameworks
.NET (Full) Framework
I Großer Funktionsumfang
I Teile windowsspezifisch, z.B.: Grafik, Networking, Web
Mono
I Umfang fast wie .NET Framework
I Windowsspezifische Anteile entfernt für Linux-Kompatibilität
.NET Core
I Neuentwicklung des .NET Frameworks (schrittweise)
I Aufteilung in separate Bibliotheken
+ Kleinere Bausteine
+ Modularere Systeme
- Höhere Komplexität
- Tooling
Ein Großteil der Bibliotheken ist plattformunabhängig und kann auf Windows, Linux,
OS X oder mit Xamarin verwendet werden
I
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 9
Multi-Framework-DLLs
Problem: Wiederverwendung von DLLs in mehreren Frameworks
Shared Code
I Code wird in die Ziel-DLL wird in das Zielprojekt integriert
I Framework-spezifischer Code muss über Präprozessordirektiven abgegrenzt werden
Portable Library
I Verschiedene Profile bilden den kleinsten gemeinsamen Nenner ab
I Profil wird in eine eigene DLL zusammengefasst, welche verlinkt werden muss
.NET Standard
I Standard legt Funktionsumfang fest
I Frameworks unterstützen verschiedene Versionen des Standards
Derzeit Version 1.x
Version 2.0 Q3/2017
I Keine eigene DLL notwendig, da Funktionen im jeweiligen Framework enthalten sind
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 10
Desktopanwendungen
XAML (WPF/UWP)
I Trennung von UI-Design und UI-Funktionalität
I Viele Möglichkeiten zur UI-Gestaltung
I Windows und UWP
Windows Forms
I UI Darstellung klassisch
I Probleme bei Geräten mit höherer Auflösung
I Windows
GTK
I Setzt Mono voraus
I Windows, Linux und Mac
Xamarin.Forms
I UI Darstellung analog zu WPF
I UWP und Mac
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 11
Mobile Anwendungen
UWP – Universal Windows Platform
I Windows 10
I Plattformen: Server, PC, Tablet, Phone (?)
I Vertrieb über Microsoft-Store, Custom-Store oder per „side loading“
Xamarin („nativ“)
I iOS, Android, UWP
I Wrapper um native APIs
I Erlaubt die Wiederverwendung von DLLs
I Vertrieb über die Stores der Plattformen oder „side loading“
Xamarin.Forms
I iOS, Android, UWP
I Erlaubt die Wiederverwendung von DLLs und UI-Anteilen
I Immer die Möglichkeit plattformspezifisch (Xamarin „nativ“) zu entwickeln
I Höhere Abstraktion der nativen APIs
I Vertrieb über die Stores der Plattformen oder „side loading“
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 12
Webentwicklung
ASP.NET
I MVC, WebForms, WebAPI, SignalR
I Abhängig von Windows-Betriebssystem
I IIS oder IIS-Express
ASP.NET Core
I Im Rahmen von .NET Core komplett neu geschrieben
I Unabhängig vom Windows-Betriebssystem
Hosting auf Linux oder OS X möglich
I Performanceverbesserungen gegenüber klassischem ASP.NET
I MVC, WebAPI
I IIS, IIS-Express, Kestrel, …
Single Page Applications
I Frontend mit JavaScript
I Datenbindung und Content-Erzeugung auf dem Client
I Frameworks: AngularJS, Angular 2, React.js, Vue.js, Ember.js, …
I Backend-API i.d.R. REST (WebAPI, WCF REST, WCF DataService + Odata)
I Kommunikation mit Backend-API über Ajax
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 13
Entwicklung von Dienstanwendungen
WCF (klassisch)
I RPC
I SOAP
WCF REST-ful
I REST
I RPC oder datenorientiert
WCF Data Services
I REST
I Datenorientiert
I Abfragen über OData modifizierbar (Shaping, Filtering, Ordering, …)
WEB API
I REST
I Teil von ASP.NET und ASP.NET Core
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 14
Multiplatform: Entwicklungsumgebungen
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 15
Entwickungsumgebungen
Visual Studio
I Windows und Mac
I Umfangreiche IDE mit großem Funktionsumfang
I Projekttemplates von Plattform abhängig
I Primär .NET Sprachen jedoch auch andere Sprachen (z.B. Python)
I Erweiterung über Extensions möglich
Visual Studio Code
I Windows, Mac und Linux
I Texteditor / leichtgewichtige IDE
I Großer Umfang an unterstützten Sprachen
I Open Source
I Fokus auf Erweiterbarkeit durch Extensions
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 16
Konsequenzen für die Entwicklung
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 17
Architektur / Deployment
I Mehr cloudbasierte Systeme
Platform as a Service (PaaS)
Software as a Service (SaaS)
Container
I Heterogenität der Systeme steigt
Einbindung von Legacy-Systemen
Micro-Services
Container-Orchestrierung
I Nebenläufigkeit und nachrichtenbasierte Systeme als Standard
Mehrkern-Prozessorarchitekturen
Micro-Services
I Serverkomponenten auf Linux
Verfügbarkeit und Kosten
Container
I Komponentenorientierung
Verpacken von Bibliotheken in NuGet-Pakete
Firmenweite und projektspezifische NuGet-Streams
Verwendung von .NET Standard für NuGet-Projekte und „shared Libraries“
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 18
Anwendungsentwicklung
I Web-Systeme
Stärkere API-orientierung der Serverseite (OData, Json, REST)
Wiederverwendung der Web-APIs in mehreren Frontends (z.B. Web, Desktop, Mobil)
Web-Frontend
„Single Page Applications“ (z.B. mit Angular JS, Angular 2, RactJS)
Responsive Design (Bootstrap)
I Multi-Plattform Mobilsysteme
Kostenfaktor
Gemeinsame Grundfunktionalität
Natives „Look and Feel“
I Desktop
Oberfläche mit WPF oder UWP
Backend durch Web-API oder Cloud bereitgestellt
U.u. Verwendung der Designsprache des Modern UI in WPF-Anwendungen
Responsive Design
I Datenbank
SQL Server auf Linux
JSON/XML in SQL Server
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 19
Ausblick
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 20
Wohin geht die Reise
Microsoft Ziele
I Mit MS-Technologie entwickelte Anwendungen auf allen Geräten und
Betriebssystemen
I Verlagerung des Backend von lokalen Servern in die Cloud
I Ablösung von Oracle als Standard-DB-System bei Neuprojekten
I Multiplattform-Entwicklung mit einer Codebasis
Server (Windows, Linux und eingeschränkt OS X)
Apps (iOs, Android, UWP für Desktop)
Client
I Mehr Web-Anwendungen
I Thin-Client-Lösungen wenn Web-Anwendungen nicht ausreichen
I Backend auf dem Server oder in der Cloud
I Im Einzelfall Berechnungen auf dem Client (Rechenleistung)
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 21
Vielen Dank für die Aufmerksamkeit
I Email
[email protected]
I Twitter
@Obalix
I Web
http://www.pixel.de
 2017 PIXEL GmbH
-
Ein Unternehmen der PIXEL Group
-
www.pixel.de
Folie 22
Zentrale
PIXEL GmbH
Lochhamer Schlag 17
D-82166 Gräfelfing
Tel.: +49/89/8 98 68-100
Fax: +49/89/8 98 68-111
[email protected]
www.pixel.de
Niederlassung
PIXEL GmbH
Im Gewerbepark C15
D-93059 Regensburg
© 2017 PIXEL GmbH
Ein Unternehmen der PIXEL Group
Herunterladen