3. ALTERNATIVEN ZUR CROSS PLATTFORM ENTWICKLUNG
ÜBERBLICK ÜBER DIE XAMARIN PLATTFORM
INTEGRATION IN VISUAL STUDIO
ÜBERBLICK ÜBER DIE NATIVE ENTWICKLUNG
ERSTE SCHRITTE MIT XAMARIN.FORMS
9. https://qualitybytes.de9
TYPISCHE BUSINESS APPS
Mobile Zeiterfassung für
Unterwegs
Zeiterfassung
Kundendaten von überall
verwalten
Mobile Frontend für CRM
Urlaub direkt auf dem
Mobilgerät beantragen
Digitaler Urlaubsantrag
Produktfehler oder
Sicherheitsprobleme sofort
dokumentieren
Mängeldokumentation
ADD A HEADLINE HERE
13. https://qualitybytes.de
HYBRID MIT HTML UND JAVASCRIPT
● Einmalige Entwicklung mit HTML / JavaScript
○ Geteilter Code über mehrere Plattformen
○ Darstellung der App in einem rahmenlosen Browser
○ Zugriff auf native APIs über Plugins
Webview mit
Ihrer
JavaScript /
HTML App
13
17. https://qualitybytes.de
WAS IST DIE XAMARIN PLATTFORM?
17
2011 2014 2014 2016
Ursprünglich:
kommerzielles der Firma
Xamarin
Übernahme durch
Microsoft
ADD A HEADLINE HERE
• Entwicklung von Apps für
Android und iOS mit C# und
der .NET Klassenbibliothek
• Open Source
• Integriert in Visual Studio
24. https://qualitybytes.de
AKTUELLER SUPPORT VON SDKS UND APIS
24
Support für:
• Google Glass
• Android Wear
• Amazon Fire TV
• Und weitere
iOS Support direkt bei der
Veröffentlichung für:
iOS 5, iOS 6, iOS 7, iOS 7.1, iOS 8, iOS 9, iOS10, iOS 11,
iOS 12
38. https://qualitybytes.de
VISUAL STUDIO FOR MAC
• Entwicklungsumgebung für Mac
• Intellisense
• Debugger
• Designer
• NuGet Paketmanager
• Gleiches Format wie Visual Studio!
• Ersetzt Xamarin Studio
38
42. https://qualitybytes.de
ANDROID DEBUGGING
● Visual Studio bietet eine komfortable
Verwaltung für Emulatoren
● Google Android ARM Emulatoren
sind sehr langsam und sind deshalb
nicht zu empfehlen
● Hyper-V basierte Emulatoren sind ab
Windows 10 Version 1803 verfügbar
● Alternativ Intel HAXM
42
43. https://qualitybytes.de
ANDROID DEBUGGING AUF EINEM ECHTEN GERÄT
● Developer Mode aktivieren
○ Einstellungen à Über das Telefon
à Build-Nummer mehrfach antippen
● Im Entwicklermodus USB Debugging
aktivieren
● PC und Mobiltelefon per USB Kabel
verbinden
● Sicherheitsabfrage auf dem Mobilgerät
bestätigen
43
44. Legen Sie ein neues Android Projekt in Visual Studio an und starten Sie es im Emulator
ÜBUNG
45. https://qualitybytes.de
ANDROID VERSIONEN
● 14 Hauptversionen
● Namen von Süßigkeiten
○ ..
○ Nougat
○ Oreo
○ Pie
● Diverse Hersteller
○ Google
○ Samsung
○ Nokia
● Jeder Hersteller ist selbst für die Bereitstellung von Updates verantwortlich
45
47. https://qualitybytes.de
API LEVEL
● Zu jeder Android Version gibt es einen eindeutigen
Integerbezeichner à Das API Level
● Das API Level identifiziert somit die Versionen der
verfügbaren Bibliotheken eindeutig
● Zu jeder App können drei API Level konfiguriert werden
○ Target Framework à Gegen diese Version wird die App von
Xamarin kompiliert
○ Minimum Android Version à die niedrigste Version,
die von der App unterstütz wird (diese Information wird zur Laufzeit benötigt)
○ Target Android Version à Zielversion der App
47
48. https://qualitybytes.de
ANDROID VERSIONEN ZU API LEVELN
ANDROID VERSIONEN ZU API LEVELN
Android Version Erschienen API Level Name
Android 9 August 2018 28 Pie
Android 8.1 Dezember 2017 27 Oreo
Android 8.0 August 2017 26 Oreo
Android 7.1 Oktober 2016 25 Nougat
Android 7.0 August 2016 24 Nougat
Android 6.0 Oktober 2015 23 Marshmallow
50. https://qualitybytes.de
Activities
● Activities repräsentieren einen Bildschirm
● Es handelt sich dabei um C# Code Dateien
● Jeder Schirm hat eine Activity
● Eine Activity (typischerweise die MainActivity) ist der Einsprungspunkt in die App
(der MainLauncher)
50
51. https://qualitybytes.de
Android Intents
● Intents sind “Nachrichtenobjekte“
● Sie werden genutzt um Acitivities oder Services zu starten
● Zwei Typen können unterschieden werden
○ Explizite Intents (Starten durch den Klassennamen, meist Activities in der eigenen App)
○ Implizite Intents (Starten von Aktionen in anderen Apps)
51
52. https://qualitybytes.de
Beispiel: Expliziter Intent zur Navigation zu einer
internen Activity
var intent = new Intent(this, typeof (DetailsActivity));
intent.PutExtra("count", 1);
intent.PutExtra("hallo", "welt");
StartActivity(intent);
// In der Zielactivity ...
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
var hallo = Intent.GetStringExtra("hallo");
var count = Intent.GetIntExtra("count", -1);
52
53. https://qualitybytes.de
BEISPIEL: IMPLIZITER INTENT „BROWSER
NAVIGATION“
var uri = Android.Net.Uri.Parse("https://qualitybytes.de");
var intent = new Intent(Intent.ActionView, uri);
StartActivity(intent);
Beispiel: Android / 03_AndroidActivityIntentDemo
53
60. https://qualitybytes.de
iOS DEBUGGING
● Für iOS gibt es keinen Emulator,
sondern nur einen Simulator
● Dieser kann mit Visual Studio
unter Windows ausgeführt werden
● Voraussetzung bleibt eine Verbindung
zu einem Mac
60
61. https://qualitybytes.de
iOS DEBUGGING AUF EINEM ECHTEN GERÄT
● Mitgliedschaft im iOS Developer Programm
● Oder alternativ Free Provisioning
aktivieren
● Automatische Bereitstellung
● Oder manuelle Bereitstellung
61
62. https://qualitybytes.de
iOS VERSIONEN
● 12 Hauptversionen
● Ein Hersteller
○ Apple
● Updates werden selbst für ältere Geräte
(aktuell bis iPhone 5s aus 2013) angeboten
62
67. https://qualitybytes.de
• 40+ Pages, Layouts, und Controls
• Via Code oder XAML
• Two-way Data Binding
• Navigation
• Animation API
• Dependency Service
XAMARIN.FORMS
67
68. https://qualitybytes.de
Einheitliche API für native, plattform-
specifische Benutzeroberflächen
Zur Laufzeit wird jede Xamarin.Forms
Page inkl. Controls auf die
Platformspezifischen nativen User
Interface Elements gemapped
XAMARIN.FORMS BEISPIEL
68
84. https://qualitybytes.de
UNSERE DIENSTLEISTUNGEN
84
Mit ASP.NET Core und Angular entwickeln
wir Web Applications für die Cloud oder
Inhouse Installationen
Dokumentenautomatisierung mit TX Text
Control
Business Apps für Android, iOS und die
UWP auf der Basis von Xamarin
WEB APPLICATIONS TX TEXT CONTROL MOBILE APPS MIT XAMARIN
85. CREDITS
Vectorial Shapes in this Template were created
by Free Google Slides Templates and
downloaded from FreePik.com.
Icons in this Template are part of Google®
Material Icons and flaticons.com.
Images were taken from Pexels and Pixabay (CC0
License)
SHAPES AND ICONS