SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Cross-Plattform-App-
Entwicklung	in	Visual	Studio	
2015:	
Xamarin und	Cordova
André	Krämer
Softwareentwickler,	Trainer	&	Berater
andre@andrekraemer.de|	http://andrekraemer.de|	http://andrekraemer.de/blog |	http://github.com/AndreKraemer
Herausforderungen	in	modernen	
Geschäftsanwendungen
Geschäftsanwendungen,	wie	wir	sie	
kennen	…
Screenshot	des	Open	Source	Tools	Bulk Rename Utility.	Screenshot	erstellt	von	André	Krämer
Foto:	©	anyaberkut |Fotolia.com
Foto:	©	PIKSEL	|	istockphoto.com
Foto:	©	pannawat |	Fotolia.com
Bis	Ende	2017	wird	der	Bedarf	an	
Enterprise	Mobile	Apps	die	
verfügbaren	Entwicklungskapazitäten	
um	den	Faktor	fünf	übersteigen
Quelle:	Gartner	|	http://www.gartner.com/newsroom/id/3076817
Smartphone	Marktanteile	Q2/2015	
(Quelle:	IDC)
Android;	82,80%
iOS;	13,90%
Windows	Phone;	
2,60%
Rest;	0,70%
Android
iOS
Windows	Phone
Rest
Verteilung der	Tablet	Betriebssysteme im geschäftlichen Umfeld
(Quelle:	Good	Technology)
iOS;	64%
Android;	25%
Windows;	
11%
iOS
Android
Windows
Herausforderung
• Durch	die	vielfallt	an	Geräten	muss	für	unterschiedliche	Betriebssysteme	
entwickelt	werden
• iOS
• Android
• Universal	Windows	Platform Apps	(Windows	10)
• Für	Jede	Plattform	wird	anders	entwickelt
• iOS:	Objective C	oder	Swift	und	Xcode
• Android:	Java	und	Android	Studio
• UWP:	C#	/	VB.NET	oder	C++	mit	XAML	(oder	JavaScript	+	HTML)
Sie	haben	begrenzte	
Entwicklerressourcen!
Foto:	©	NinaMalyna|	istockphoto.com
Lösungsansätze
Nativ für jede Plattform mit den	Hersteller SDKs	
und	Werkzeugen
• Mehrere	Teams
• Mehrere	Codezweige
• Unterschiedliche	Werkzeuge
Hybrid	mit	HTML	und	JavaScript
•Entwicklung	mit	HTML	/	
JavaScript
•Geteilter	Code	über	mehrere	
Plattformen
•Darstellung	der	App	in	einem	
rahmenlosen	Browser
•Zugriff	auf	native	APIs	über	
Plugins
Native	Wrapper
Webview mit
Ihrer JavaScript	/	
HTML	App
Nativ	mit	Xamarin
•C#	+	.NET	Framework
•Geteilter	Code	über	
mehrere	Plattformen
•Natives	UI
•Native	Performance
•100	%	der	nativen	APIs	im	
Zugriff
Bild:	©	Xamarin
Die	Xamarin Platform
Was	ist	die	Xamarin Platform
• Kommerzielles	Produkt	der	Firma	Xamarin
• Erlaubt	die	Entwicklung	für	Android	und	iOS	mit	C#
Architektur	von	Xamarin.Android
Architektur	von	Xamarin.iOS
• Apple	erlaubt	keine	Laufzeitumgebungen	unter	iOS
• Deshalb	wird	der	C#	Quellcode	für	Xamarin.iOS Ahead-Of-Time	(AOT)	
kompiliert
• à Natives	ARM	Binary	für	iOS
Entwicklungswerkzeuge
Xamarin	Studio
PC	oder Mac
Visual	Studio	Plugin
VS	2010	und	höher
Visual	Studio	2015
Screenshot	der	Xamarin Preistabelle.	Screenshot	erstellt	von	André	Krämer
Screenshot	der	Homepage	der	Xamarin Starter	Edition.	Screenshot	erstellt	von	André	Krämer
Systemanforderungen
• Zur	Android	Entwicklung	reicht	ein	Windows	PC
• Zur	iOS	Entwicklung	wird	ein	Mac	benötigt.
• Die	Entwicklung	kann	trotzdem	unter	Windows	in	Visual	Studio	
stattfinden
iOS	Entwicklung	unter	Windows
Demo
Xamarin
Source	Code	in	Kürze	unter
http://github.com/AndreKraemer
Das	hab	ich	mir	gespart	...
Fazit	Xamarin
• C#	kann	für	alle	Plattformen	genutzt	werden
• Geschäftslogik	kann	über	Portable	Class	Libraries	geteilt	werden
• Für	das	UI	ist	im	klassischen	Ansatz	Detailwissen	über	die	Plattform-
APIs	erforderlich
Xamarin.Forms
Demo
Xamarin.Forms
Fazit	Xamarin.Forms
• C#	kann	für	alle	Plattformen	genutzt	werden
• Geschäftslogik	kann	über	Portable	Class	Libraries	geteilt	werden
• Für	das	UI	ist	im	klassischen	Ansatz	Detailwissen	über	die	Plattform-
APIs	erforderlich
Apache	Cordova
Cordova (Phonegap)
• Quelloffenes	Framework	der	Apache	Foundation
• Entwicklung	für	Android,	iOS,	Windows	Phone,	FirefoxOS ...	mit	HTML	
/	JavaScript
• Keine	Java	/	Objective-C	Kenntnisse
• Ursprünglich	Phonegap,	später	Cordova
Cordova Architektur
Cordova liefert	kein	CSS!
UI	Frameworks
• jQuery Mobile
• DevXtreme (DevExpress)
• Kendo	UI	(Telerik)
• Ignite UI	(Infragistics)
• Onsen (Open	Source)
• Ionic (Open	Source)
Ionic
Cordova in	VS	2015
iOS	Konfiguration	(OS	X)
Quelle:	MSDN	|	https://msdn.microsoft.com/library/dn757054(v=vs.140).aspx#ios
iOS	Konfiguration	(VS	2015)
Demo
Cordova mit	Ionic
Fazit	Corova /	Ionic
• Plattformübergreifende	Entwicklung	mit	HTML	/	JS	ist	möglich
• Performance	auf	modernen	Geräten	kein	Problem
• Einsatz	eines	UI	Frameworks	ist	sinnvoll
Zusammenfassung
• Visual	Studio	2015	unterstützt	die	Entwicklung	von	Apps	für	Android	und	
iOS.
• Alle	notwendigen	Werkzeuge	/	SDKs	werden	direkt	durch	das	Visual	
Studio	Setup	installiert.
• Zusätzlich	kommt	ein	Android	Emulator	von	Microsoft	mit
• Neben	der	Entwicklung	und	der	Verpackung	von	Apps	wird	auch	das	
Debugging	ermöglicht.
• Als	Entwickler	habe	ich	die	Wahl,	ob	ich	lieber	mit	C#	und	XAML	oder	
HTML	und	JavaScript	arbeiten	möchte.
Welches	Framework	sollte	ich	
einsetzen?
Entscheidungsfindung
• Nicht	nur	auf	Basis	der	Programmiersprache	entscheiden!
• Keine	veralteten	Vorurteile	ungeprüft	übernehmen!
• Besser:	Strukturierte	Entscheidungsfindung	auf	Basis	einer	Kriterien- /	
Anforderungsliste
Kriterienliste?
• Verbreitung
• Kosten
• Support
• Nutzung	von	C#	oder	JS	Bibliotheken
• Zuverlässigkeit
• ...
• Mehr	ab	Januar	2016	auf	http://andrekraemer.de
Xamarin Crashkurs	(Beispielfilme)
• https://www.video2brain.com/de/tutorial/installation-unter-windows-1
• https://www.video2brain.com/de/tutorial/android-emulator
• https://www.video2brain.com/de/tutorial/sqlite-hinzufuegen
Doch	lieber	nativ?
http://andrekraemer.de/training/video-trainings/swift-fuer-c-entwickler
Homepage
andre@andrekraemer.de|	http://andrekraemer.de|	http://andrekraemer.de/blog |	http://github.com/AndreKraemer
Vielen	Dank!
Blog
Xing
Facebook
Twitter
Google+
50
Sämtliche	Abbildung	wurden	ordnungsgemäß	bei	IStockPhoto oder	fotolia lizensiert.
Fragen
?
Schulung,	Beratung	und	Entwicklung	mit	den	Schwerpunkten:
• Cross	Plattform	Apps	mit	Xamarin &	Cordova/	Ionic
• ASP.NET	MVC	/	Web	API	&	JavaScript	/	Angular	JS
• Datenzugriff	mit	dem	Entity	Framework
• Team	Foundation Server	/	ALM
• Automatische	Dokumentengenerierung	mit	TX	Text	
Control
• Performance- &	Memory	Analysen
• Softwarearchitektur
Meine	Dienstleistungen
• Schulungen
• ASP.NET
• Xamarin
• TX	Text	Control
• Infragistics	NetAdvantage
• Team	Foundation Server
• Consulting
• Durchführung	von	Technologieworkshops
• Code- /	Architekturreviews
• Analyse	von	managed Memory	Leaks
• Prototypenentwicklung
• Remote	Entwickler-Support
• Projektbegleitendes	Coaching
• Softwareentwicklung
• Mobile	Apps	(Windows	8,	Windows	Phone,	Android,	iOS)
• Entwicklung	von	Web-Anwendungen	mit	ASP.NET	MVC,	Web	Api,	AngularJS
51

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

Einführung in die Mobile Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile Produktentwicklung: Konzeption, Design, Entwicklung,...
 
Entstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische UnternehmenEntstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische Unternehmen
 
Mobile Applikationen: Idee, Konzeption, Architektur - Erfolgreicher Start für...
Mobile Applikationen: Idee, Konzeption, Architektur - Erfolgreicher Start für...Mobile Applikationen: Idee, Konzeption, Architektur - Erfolgreicher Start für...
Mobile Applikationen: Idee, Konzeption, Architektur - Erfolgreicher Start für...
 
Hoher Entwicklungsaufwand, unerfüllte Erwartungen: Der Anfang vom Ende native...
Hoher Entwicklungsaufwand, unerfüllte Erwartungen: Der Anfang vom Ende native...Hoher Entwicklungsaufwand, unerfüllte Erwartungen: Der Anfang vom Ende native...
Hoher Entwicklungsaufwand, unerfüllte Erwartungen: Der Anfang vom Ende native...
 
Phonegap Agentur
Phonegap AgenturPhonegap Agentur
Phonegap Agentur
 
VDC Newsletter 2014-05
VDC Newsletter 2014-05VDC Newsletter 2014-05
VDC Newsletter 2014-05
 
Bautagebuch App für Android, iPhone und iPad
Bautagebuch App für Android, iPhone und iPadBautagebuch App für Android, iPhone und iPad
Bautagebuch App für Android, iPhone und iPad
 

Andere mochten auch

Andere mochten auch (6)

HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Xamarin ile Android Uygulama
Xamarin ile Android UygulamaXamarin ile Android Uygulama
Xamarin ile Android Uygulama
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
De la idea al proyecto. Como transformar ideas en proyectos de forma agil
De la idea al proyecto. Como transformar ideas en proyectos de forma agilDe la idea al proyecto. Como transformar ideas en proyectos de forma agil
De la idea al proyecto. Como transformar ideas en proyectos de forma agil
 
Zentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKZentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDK
 
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
 

Ähnlich wie Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)

AppEconomy
AppEconomyAppEconomy
AppEconomy
kmfde
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Bokowsky + Laymann GmbH
 

Ähnlich wie Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova) (20)

Erfolgsfaktor app!
Erfolgsfaktor app!Erfolgsfaktor app!
Erfolgsfaktor app!
 
AppEconomy
AppEconomyAppEconomy
AppEconomy
 
Das Mobile Prozesse Team - Mobilität für Ihr Business!
Das Mobile Prozesse Team - Mobilität für Ihr Business!Das Mobile Prozesse Team - Mobilität für Ihr Business!
Das Mobile Prozesse Team - Mobilität für Ihr Business!
 
In 5 Schritten zur Mobile Business App
In 5 Schritten zur Mobile Business AppIn 5 Schritten zur Mobile Business App
In 5 Schritten zur Mobile Business App
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
 
20130711 - Mobile II - APA IT - Günter Kaminger
20130711 - Mobile II - APA IT - Günter Kaminger20130711 - Mobile II - APA IT - Günter Kaminger
20130711 - Mobile II - APA IT - Günter Kaminger
 
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
 
Mobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit PraxistippsMobile Apps für Unternehmen: White Paper mit Praxistipps
Mobile Apps für Unternehmen: White Paper mit Praxistipps
 
Enterprise Mobility Plattformen – Aktuelle Lösungen und Trends [White Paper]
Enterprise Mobility Plattformen – Aktuelle Lösungen und Trends [White Paper]Enterprise Mobility Plattformen – Aktuelle Lösungen und Trends [White Paper]
Enterprise Mobility Plattformen – Aktuelle Lösungen und Trends [White Paper]
 
Collaboration Trends
Collaboration TrendsCollaboration Trends
Collaboration Trends
 
Die mobile Herausforderung
Die mobile Herausforderung Die mobile Herausforderung
Die mobile Herausforderung
 
Robotic Process Automation (RPA)
Robotic Process Automation (RPA) Robotic Process Automation (RPA)
Robotic Process Automation (RPA)
 
Trends im Mobile Web
Trends im Mobile WebTrends im Mobile Web
Trends im Mobile Web
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
 
Responsive mobile shopping 06.2016
Responsive mobile shopping 06.2016Responsive mobile shopping 06.2016
Responsive mobile shopping 06.2016
 
20140704 Small Screen - Big Impact Criteo Falck
20140704 Small Screen - Big Impact Criteo Falck20140704 Small Screen - Big Impact Criteo Falck
20140704 Small Screen - Big Impact Criteo Falck
 
Artikel im Swiss IT Magazine: Marktuebersicht Web-Agenturen
Artikel im Swiss IT Magazine: Marktuebersicht Web-AgenturenArtikel im Swiss IT Magazine: Marktuebersicht Web-Agenturen
Artikel im Swiss IT Magazine: Marktuebersicht Web-Agenturen
 
Meine 10 TOP Nachrichten zu Mobile der vergangenen Wochen
Meine 10 TOP Nachrichten zu Mobile der vergangenen WochenMeine 10 TOP Nachrichten zu Mobile der vergangenen Wochen
Meine 10 TOP Nachrichten zu Mobile der vergangenen Wochen
 
Wearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im UnternehmenseinsatzWearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im Unternehmenseinsatz
 
eStrategy-Magazin #31 - Shopsysteme Marktüberblick
eStrategy-Magazin #31 - Shopsysteme MarktüberblickeStrategy-Magazin #31 - Shopsysteme Marktüberblick
eStrategy-Magazin #31 - Shopsysteme Marktüberblick
 

Mehr von André Krämer

Mehr von André Krämer (12)

Xamarin.Forms App in einer Stunde
Xamarin.Forms App in einer StundeXamarin.Forms App in einer Stunde
Xamarin.Forms App in einer Stunde
 
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
 
Codewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenCodewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximieren
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 
Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018Xamarin.Forms Workshop, DDC 2018
Xamarin.Forms Workshop, DDC 2018
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...Xamarin ohne Mac und Android SDK?- So weit kommen Sie mit dem Xamarin Live P...
Xamarin ohne Mac und Android SDK? - So weit kommen Sie mit dem Xamarin Live P...
 
Typische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API AnwendungenTypische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
Typische Sicherheitslücken in ASP.NET MVC und Web API Anwendungen
 
Lokale Datenhaltung in Xamarin-Apps
Lokale Datenhaltung in Xamarin-AppsLokale Datenhaltung in Xamarin-Apps
Lokale Datenhaltung in Xamarin-Apps
 
Entity Framework hinter den Kulissen
Entity Framework hinter den KulissenEntity Framework hinter den Kulissen
Entity Framework hinter den Kulissen
 
Performance trotz Entity Framwork
Performance trotz Entity FramworkPerformance trotz Entity Framwork
Performance trotz Entity Framwork
 
.NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern .NET Datenzugriff einfach und performant mit Micro O/R Mappern
.NET Datenzugriff einfach und performant mit Micro O/R Mappern
 

Cross Plattform App Entwicklung mit Visual Studio 2015 (Xamarin und Cordova)