42

Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

  • Upload
    vanthuy

  • View
    222

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device
Page 2: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Mobile

Business

Apps

Native

Cross-

Platform-

Entwicklung

App Demo

Code DemoFazit

Architektur

ALM

Agenda

Page 3: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Mobile Business Apps

Page 4: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Mobile Business Apps

Integration

On Premise/CloudSkalierbarkeitTransaktionenComplianceVerfügbarkeitBackendarchitekturBus-Systeme

Frontend/Device

Multiple BetriebssystemeMultiple FormfaktorenDevice FeaturesDesign/User ExperienceKomplexe FrontendlogikKonfigurierbarkeitBusiness Use Cases

Anbindung

Online/OfflineSynchronisierungFehlerbehandlungProtokolleSecurityDatenvolumen

ALM

Architektur/PatternsContinuous FeedbackContinuous TestingContinuous DeliveryDeployment(Store vs. Sideloading)

Cloud

Frontends/Devices Backend

1

2

3

4

Page 5: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Frontend/Devices

Multi-Plattform

Multi-Formfaktor

UI/UX Design

Hardware FeaturesGeschäftslogik

Push Notifications

1

Page 6: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Anbindung

2

Protokolle

Datenvolumen

Security

Verschlüsselung

On-/Offline-

fähigkeit

Fehlerbehandlung

Page 7: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Integration

3

3

Enterprise

Backends

Cloud-Integration

ArchitekturtypenSchnittstellen

Performance

Page 8: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

ALM

Continuous

Testing

Continuous

Feedback

Continuous DeliveryStore

Sideloading

4

Page 9: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Cross-Platform Architektur

Page 10: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

One App

Multiple Devices

Page 11: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

One App

Multiple Devices

Page 12: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

UWP

WPF

Hoher Grad des Code Sharing

XAML als durchgängiges UI Markup

Unterstützung der Enterprise-relevanten Plattformen

Wiederverwendung vorhandener .NET Skills und Tools

Page 13: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Warum Xamarin?

Shared C# Mobile

iOS UI (C#) Android UI (C#) Windows UI (C#)

Shared C# Client/Server

C# Server

Windows Server

Linux Server (Mono)

Native UI und Performance

100% Zugriff auf native APIs

Einheitliche Entwicklungstools

Hoher Grad des Code Sharing

Page 14: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

Device Features (C#)

Plattformspezifische Views (C#/Storyboard)

Device Features (C#) Device Features (C#)

Gemeinsame Geschäftslogik (C#)

Plattformspezifische Views (C#/XAML)

Gemeinsame ViewModels (C#)

Plattformspezifische Views (C#/AXML)

Page 15: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin.Forms

Gemeinsame ViewModels (C#)

Gemeinsame Views (C#/XAML)

Device Features (C#) Device Features (C#) Device Features (C#)

Gemeinsame Geschäftslogik (C#)

Page 16: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Warum

Xamarin.Forms? Xamarin.FormsXamarin.iOS /

Xamarin.Android

• Business Apps mit

Dateneingaben

Fokus mehr auf Code-Sharing

• Apps mit sehr speziellen UIs und

Interaktionspatterns

• Verwendung von zahlreichen

plattformspezifischen APIs

Fokus mehr auf UI-Modifikationen

Page 17: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin.Forms

Beispiel

Page 18: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Warum UWP? - UWP Apps laufen auf allen Windows 10 Geräten

Page 19: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Warum nicht

Xamarin.Forms

UWP?

- Damals noch Technical Preview

Mögliche Option für Enterprise Apps

X-Suzzle im Microsoft Store

Page 20: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Warum WPF?

48% Windows 7

23% Windows 10

11% Windows 8/8.1

8% Windows XP

6% Mac OS X

2% Linux 2% Andere

Marktanteile Desktop Oktober 2016

- Windows 7: Die Plattform im Desktop-Bereich

- .NET Apps im Windows Store

- Legacy Code als Startpunkt für Cross-Platform Entwicklung

https://www.netmarketshare.com

Page 21: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Gesamt-

architektur

Microsoft AzureSQL Server

Service Bus

Dynamics CRM

ActiveDirectory

Business Logic & Services

Integration Services

Cordova Xamarin Excel

Office 365 Power BI SharePointASP.NETWeb API, Web Apps

ResponsiveWeb

UWP WPF

Page 22: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Gesamt-

architektur

Microsoft AzureSQL Server

Service Bus

Dynamics CRM

ActiveDirectory

Business Logic & Services

Integration Services

Cordova Xamarin Excel

Office 365 Power BI SharePointASP.NETWeb API, Web Apps

ResponsiveWeb

UWP WPF

Page 23: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Client-ArchitekturFrontend

Backend

REST API

HockeyApp

ViewModels

Services, Business Logic Models/Entities

Infrastructure

Local Data Store

Hardware Features

Xamarin.Forms UWP

Local Data Access

WPF

MvvmCross

Adapter Remote Data Access

Page 24: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

ALM

Page 25: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

ALM

Continuous Build

Continuous UI Testing

Page 26: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Continuous Build Build Server

Team Foundation Server/Visual Studio Team

Services

Build Agent(on-premise/Azure)

Mac OS X Build Host/MacinCloud

Visual Studio

Xamarin Android

AndroidSDK

Xamarin Studio

XamariniOS

iOS SDKXCode

App

App Code

Unit TestsDeveloper

Page 27: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Continuous Build

Page 28: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

UI Testing

Coded UI Test

• WPF

• UWP

Xamarin.UI

Test

• iOS

• Android

Page 29: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

[Test]public void LoginScreen_ShowsErrorMessage_WhenCredentialsAreInvalid() {

var screen = new LoginScreen(app);screen.EnterUserName("InvalidUserName");screen.EnterPassword("InvalidPassword");screen.TapLogIn();var errorMessage = screen.GetErrorMessage();Assert.AreEqual("Anmeldung fehlgeschlagen.", errorMessage);

}class LoginScreen {

…public LoginScreen(IApp app) {

this.app = app;}public void EnterUserName(string userName) {

app.WaitForElement(c => c.TextField("UserNameEntry"));app.ClearText(c => c.TextField("UserNameEntry"));app.EnterText(c => c.TextField("UserNameEntry"), userName);

}…

}

UI Testing

Xamarin.UITest

Page 30: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

iOS und Android

Fragmentierung

iOS Android

Gerätetypen 22 > 19.000

Sprachen 20 39

Bildschirmgrößen 6 27

OS Versionen

63%

29%

8%

27.11.2016

iOS 10 iOS 9 Früher

24%

34%

25%

14%

3%

7.11.2016

Marshmallow Lollipop

KitKat Jelly Bean

Früher

Page 31: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

iOS und Android

Fragmentierung

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800

US M

akt

Ab

deck

un

g

Anzahl der Geräte

Quelle: Open Signal

25%: 32 Geräte

50%: 125 Geräte

75%: 379 Geräte

90%: 702 Geräte

Page 32: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

Test CloudXamarin Test Cloud

IPA/APK + Tests

Web ServerApplication

+ Tests

Results

Developer

Page 33: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

Test Cloud

https://testcloud.xamarin.com

Page 34: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

Test Cloud

Page 35: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

App DemoCode Demo

Page 36: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Showcase

„ShowTime“

Microsoft AzureSQL Server

Service Bus

Dynamics CRM

ActiveDirectory

Business Logic & Services

Integration Services

Cordova Xamarin Excel

Office 365 Power BI SharePointASP.NETWeb API, Web Apps

ResponsiveWeb

UWP WPF

Page 37: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Demo

Page 38: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Fazit

Page 39: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

50%

20%

8%

8%

14%

Codeaufteilung über alle Plattformen

Plattformübergreifender Code

Xamarin.Forms Code

Xamarin.Android Code

Xamarin.iOS Code

UWP Code

Code Sharing

Page 40: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Code Sharing

64%

25%

11%

Codeaufteilung iOS/Android

Plattformübergreifender Code

Xamarin.Forms Code

Xamarin.iOS oder Xamarin.Android Code

Page 41: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Xamarin

UWP

WPF

Hoher Grad des Code Sharing

Unterstützung der business-relevanten Plattformen

Natives Frontenddesign und User Experience

Native Performance auf dem Endgerät

Nutzung vorhandener Tools und ALM-Prozesse

Nutzung vorhandenen .NET Know-Hows

Wirtschaftlichkeit

Page 42: Mobile Business Apps - · PDF fileMobile Business Apps Integration On Premise/Cloud Skalierbarkeit Transaktionen Compliance Verfügbarkeit Backendarchitektur Bus-Systeme Frontend/Device

Vielen Dank

SDX AG

Speicherstraße 1, 60327 Frankfurt

Landwehrstraße 61, 80336 München

Markus DemmlerPrincipal eXpert

[email protected]

Denis ThomasSenior eXpert

[email protected]