Windows 8 Business-App-Entwicklung

49
Professionelle Windows 8 Business-App-Entwicklung Matthias Jauernig Principal eXpert E-Mail: [email protected] Homepage: www.sdx-ag.de SDX AG Borsigallee 19, 60388 Frankfurt

description

Vortrag zur Developer Week 2013 über die Entwicklung professioneller Business-Apps unter Windows 8. Beinhaltet: Windows 8 Merkmale, Layout, Design, Investitionsschutz, Programmierplattform, Code Sharing, Anforderungen an Apps, Bibliotheken, WinRT-Erfahrungen, Business-Features, LOB-Szenarien, Enterprise-Integration und Management.

Transcript of Windows 8 Business-App-Entwicklung

Page 1: Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

Matthias JauernigPrincipal eXpertE-Mail: [email protected]: www.sdx-ag.de

SDX AG Borsigallee 19, 60388 Frankfurt

Page 2: Windows 8 Business-App-Entwicklung

Microsoft Application Platform

Visual StudioTeam Foundation ServerSQL ServerSharePoint ServerBizTalk Server

eXperts für Microsoft

ProjektleiterArchitektEnterprise Developer

Technologieberater

Microsoft-Partner

3x Gold PartnerSQL Server Black BeltALM/DPE-PartnerWindows 8 MAAP

Innovation Services

Windows 8 Business-AppsSurface Pro vs. iPadHTML5 vs. NativeBI Self ServiceAgil mit Scrum & TFS

Kompetenzen

Application DevelopmentBusiness IntelligenceALM/TFS

Privatbilanz, WorkTime

Kunden

Zentral-IT und Fach-IT

Alte LeipzigerDeutsche TelekomDeutsche PostCommerzbankFreseniusDekaBankSEBPwCDeutsche BahnDeutsche BörseUniversal InvestmentEADSHelaba

Page 3: Windows 8 Business-App-Entwicklung

326.06.2013 SDX AG

Innovation Services Technical Council (2-3 Stunden) Windows 8 Developer Workshop (1-5 Tage)

Microsoft App Acceleration Program Prototyping einer Windows 8 Business-App (5 Tage) Unterstützung bei Pilotierung einer Windows 8 Business-App (15 Tage)

Privatbilanz-App auf Anfrage

SDX Packaged Services: Windows 8

Page 4: Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

Page 5: Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

Page 6: Windows 8 Business-App-Entwicklung

DemoSDX Privatbilanz

Page 7: Windows 8 Business-App-Entwicklung

726.06.2013 SDX AG

Windows 8

Windows 8-Merkmale nutzen!

Live Tiles, Secondary Tiles

App-Ökosystem: App Contracts

Bedienung: Touch & Tastatur/Maus

Snapped State

Microsoft Design („Metro“)

Page 8: Windows 8 Business-App-Entwicklung

826.06.2013 SDX AG

Windows 8

Design-Erfahrungen

Designer, Design-Prozess! Interaction Design (Storyboards, Wireframes) Visual Design (Grafiken, Farben, Animationen, …)

Keep it simple! Kontext! Was will der Anwender tun? Welche Daten

braucht er? Microsoft Design für LOB/Business-Apps geeignet?

Content before Chrome: Nicht um jeden Preis!

Evolution des Microsoft Designs

Page 9: Windows 8 Business-App-Entwicklung

926.06.2013 SDX AG

Windows 8

Formular-Layouts

Einspaltiges Layout Eingabereihenfolge entscheidend App ist im Snapped State

Page 10: Windows 8 Business-App-Entwicklung

1026.06.2013 SDX AG

Windows 8

Formular-Layouts

Mehrseitiges Layout „Wizard“ Eingabereihenfolge entscheidend

Page 11: Windows 8 Business-App-Entwicklung

1126.06.2013 SDX AG

Windows 8

Formular-Layouts

Zweispaltiges Layout Kurze Formulare, kein vertikaler Bildlauf Optimale Nutzung des horizontalen Bereichs

Page 12: Windows 8 Business-App-Entwicklung

1226.06.2013 SDX AG

Windows 8

Formular-Layouts

3 oder mehr Spalten Eingabereihenfolge nicht entscheidend Optimale Nutzung des horizontalen Bereichs

Page 13: Windows 8 Business-App-Entwicklung

1326.06.2013 SDX AG

Formular-Layouts

Page 14: Windows 8 Business-App-Entwicklung

1426.06.2013 SDX AG

Formular-Layouts

Page 15: Windows 8 Business-App-Entwicklung

1526.06.2013 SDX AG

Formular-Layouts

Page 16: Windows 8 Business-App-Entwicklung

1626.06.2013 SDX AG

Formular-Layouts

Page 17: Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

Page 18: Windows 8 Business-App-Entwicklung

1826.06.2013 SDX AG

App-Entwicklung

Investitionsschutz

Bekannte Technologien und Patterns .NET, C#/XAML und MVVM Oder „normales“ HTML/JavaScript

Bekannte professionelle Tools Visual Studio Team Foundation Server Blend for Visual Studio

Bekannte Methodiken Unit Tests Code Analysis, StyleCop/FxCop

Page 19: Windows 8 Business-App-Entwicklung

1926.06.2013 SDX AG

App-Entwicklung

WinRT als Programmierplattform

Desktop Apps

CC++

Win32

C#VB

.NET,SL

HTMLJava-Script

Internet Explorer

Windows Store Apps

Communication & Data

Devices & Printing

WinRT APIs

Graphics & Media

Application Model

XAML

JavaScriptWinJS/Chakra

HTML / CSS

CC++

C#, VB.NET 4.5 Core

Windows Kernel Services

Syst

em

Serv

ices

Vie

wM

odel

Con

trolle

rK

ern

el

Page 20: Windows 8 Business-App-Entwicklung

2026.06.2013 SDX AG

App-Entwicklung

WinRT-Sprachen: Die Qual der WahlGrundsätzlich: WinRT aus allen Sprachen nutzbar

C#/XAML, .NET Unit Tests, Dependency Injection, WCF, Fehlerbehandlung, … Hohe Design-Funktionalität in Blend .NET-Bibliotheken nicht ad hoc nutzbar

JavaScript/HTML Sehr gut zur Darstellung von HTML-Inhalten Nutzung bestehender JavaScript-Bibliotheken Designer-Unterstützung in Blend Abgrenzung: Keine plattformübergreifenden HTML-

Anwendungen

Page 21: Windows 8 Business-App-Entwicklung

2126.06.2013 SDX AG

App-Entwicklung

Code Sharing

Windows 8 und Windows Phone 8 WinRT & WinPRT: „Add as Link…“ XAML: Gemeinsame/Ähnliche Controls Microsoft Design Prinzipien Kein „Write once, run everywhere“ :(

Portable Class Libraries Shared .NET Code Backend, MVVM .NET 4.5, .NET 4.5 für WinRT, .NET für Windows Phone,

Silverlight, Xbox, Mono, … Immer mehr portable Bibliotheken Investitionsschutz (auch für die Zukunft)

Page 22: Windows 8 Business-App-Entwicklung

2226.06.2013 SDX AG

App-Entwicklung

App-Ausführungsmodell

Vollbild Eine App im Vordergrund App Lifecycle

Sandboxing Ressourcenzugriff App-Manifest

.NET und WinRT „Better together“ Eingeschränktes .NET Asynchronität

Core

OS

App Container („Sandbox“)

Ihre App(C#/XAML)

.NET 4.5 Core APIs

WinRT APIs

Page 23: Windows 8 Business-App-Entwicklung

2326.06.2013 SDX AG

App-Entwicklung

Anforderungen an Apps

Multiple Devices

Touch First

Fast & Fluid

Mobilität

Page 24: Windows 8 Business-App-Entwicklung

2426.06.2013 SDX AG

Multiple Devices: Vom Surface…

Page 25: Windows 8 Business-App-Entwicklung

2526.06.2013 SDX AG

… über Notebook und Desktop …

Page 26: Windows 8 Business-App-Entwicklung

2626.06.2013 SDX AG

… zum HD-Fernseher

Page 27: Windows 8 Business-App-Entwicklung

2726.06.2013 SDX AG

App-Entwicklung

Anforderungen an Apps

Multiple Devices

Touch First

Fast & Fluid

Mobilität

Page 28: Windows 8 Business-App-Entwicklung

2826.06.2013 SDX AG

App-Entwicklung

Bibliotheken für .NET/WinRT

Kommerziell Syncfusion: Essential Studio for WinRT (XAML) Telerik: RadControls for Windows 8 (HTML + XAML) ComponentOne: Studio for WinRT (XAML) DevExpress: Windows 8 XAML Mindscape: Metro Elements (XAML)

Frei verfügbar MVVM Light Toolkit Caliburn Micro Prism for the Windows Runtime Enterprise Library 6.0 (ARM)

Page 30: Windows 8 Business-App-Entwicklung

3026.06.2013 SDX AG

App-Entwicklung

WinRT-Erfahrungen

Fun w/ WinRT: COM, E_FAIL, catastrophic failure

Eingabevalidierung

XAML-Einschränkungen Behaviors, Data/Event Triggers, Controls

.NET-Einschränkungen WCF-Bindings: WS*/WSHttp, Federation, … API-Abweichungen, Reflection.Emit Verfügbare Bibliotheken

Hardwarezugriff Windows 8.1

Page 31: Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

Page 32: Windows 8 Business-App-Entwicklung

3226.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung

Tastatur/Maus

Kryptografie

VPN

Page 33: Windows 8 Business-App-Entwicklung

3326.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Lokal: App-Speicher, SQLite Services: Data Services (WCF, …), Sockets, HttpClient, …

Bestehende Backends weiter nutzen

Authentifizierung

Tastatur/Maus

Kryptografie

VPN

Page 34: Windows 8 Business-App-Entwicklung

3426.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung Domain Auth, Smartcards, Zertifikate, ADFS OAuth, Username/Passwort, …

Tastatur/Maus

Kryptografie

VPN

Page 35: Windows 8 Business-App-Entwicklung

3526.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung

Tastatur/Maus

Kryptografie DPAPI: Benutzer, Maschine, AD Security Principal,

Zertifikat, … Symmetrische und asymmetrische Algorithmen

VPN

Page 36: Windows 8 Business-App-Entwicklung

3626.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung

Tastatur/Maus

Kryptografie

VPN Windows 8.1

Page 37: Windows 8 Business-App-Entwicklung

3726.06.2013 SDX AG

Business

LOB-Szenarien: Desktop/Web

Hardwarezugriff

Lastverarbeitung

Aktionslastigkeit, Maus-Präzision

Page 38: Windows 8 Business-App-Entwicklung

3826.06.2013 SDX AG

Business

LOB-Szenarien: Windows 8 AppsAußendienst, Kundenberatung

Dashboards, Monitoring&Action

Komplementäre Apps

Page 39: Windows 8 Business-App-Entwicklung

3926.06.2013 SDX AG

Business

Vorteile von Windows 8 Apps

Mobilität

Flexibilität

Enterprise

Experience

Page 40: Windows 8 Business-App-Entwicklung

40

Enterprise-Integration & Management

Sideload - Customer Infrastructure

Windows RT (ARM)

Windows 8 (x86)

Download - Windows Store

Public apps Custom LOB apps

26.06.2013 SDX AG

Page 41: Windows 8 Business-App-Entwicklung

41

Enterprise-Integration & Management

Sideload - Customer Infrastructure

Windows RT (ARM)

Windows 8 (x86)

Download - Windows Store

Public apps Custom LOB apps

Management infrastructure

26.06.2013 SDX AG

Page 42: Windows 8 Business-App-Entwicklung

42

Enterprise-Integration & Management

Company Hub

Sideload - Customer Infrastructure

Windows RT (ARM)

Windows 8 (x86)

Download - Windows Store

Public apps Custom LOB apps

Management infrastructure

26.06.2013 SDX AG

Page 43: Windows 8 Business-App-Entwicklung

4326.06.2013 SDX AG

Business

Deployment

Optionen Direkt: Powershell-Skript Direkt: Powershell-Wrapper mit Setup-Exe Via System Center Configuration Manager Via Microsoft InTune (Cloud) Corporate Marketplace

Page 44: Windows 8 Business-App-Entwicklung

4426.06.2013 SDX AG

Business

Management

Optionen Direct Distribution direkt auf die Zielrechner Corporate Marketplace Zusatzkosten

InTune + Unternehmensportal-App (6$/Gerät/Monat) SCCM mit InTune Add-In (4$/Gerät/Monat)

Apps einschränken mit AppLocker

Page 45: Windows 8 Business-App-Entwicklung

4526.06.2013 SDX AG

Business

Sideloading: gut oder schlecht?

Unproblematisch für Entwickler/Tester

Unproblematisch für große Unternehmen Windows 8 Enterprise Secondary Sideloading-enabled Product Key (100er-Pack

für 3000$)

Problematisch für KMUs + „Speziallösungen“ Kostenfaktor, kein „einfaches“ Windows 8 Alternative Strategien erforderlich Z.B. public + separate Lizenzierung/Abonnement

Aber: Zertifizierungsprozess, Updates, … Kein „privater“ Store-Bereich (vgl. Windows Phone)

Page 46: Windows 8 Business-App-Entwicklung

Zusammenfassung

Page 47: Windows 8 Business-App-Entwicklung

4726.06.2013 SDX AG

Zusammenfassung

Fazit

Es ist nicht alles Gold was glänzt… WinRT v1, eingeschränktes .NET Deployment Hardwarezugriff Windows 8.1 Kiosk-Modus, VPN Windows 8.1 Apps haben Einschränkungen

Aber… Umsetzung von Apps generell kein Problem Anbindung bestehender Enterprise-Backends möglich Viele Szenarien, wo Apps Sinn machen

Page 48: Windows 8 Business-App-Entwicklung

4826.06.2013 SDX AG

Zusammenfassung

Fazit

Bekanntes Wissen nutzen Investitionsschutz Technologien, Tools, Verfahren, Patterns

Neues Wissen erlernen Entwicklerplattform, Ausführungsmodell, App-Prinzipien UI-Design, App-Anforderungen

Business-Features einsetzen Authentifizierung, Datenzugriff, Kryptografie,

Tastatur/Maus Enterprise-Integration und App-Management

Page 49: Windows 8 Business-App-Entwicklung

Vielen Dank!

Matthias JauernigPrincipal eXpertE-Mail: [email protected]: www.sdx-ag.de

SDX AG Borsigallee 19, 60388 Frankfurt