Windows 8 Business-App-Entwicklung

Post on 24-May-2015

562 views 0 download

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

Professionelle Windows 8 Business-App-Entwicklung

Matthias JauernigPrincipal eXpertE-Mail: matthias.jauernig@sdx-ag.deHomepage: www.sdx-ag.de

SDX AG Borsigallee 19, 60388 Frankfurt

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

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

Professionelle Windows 8 Business-App-Entwicklung

Professionelle Windows 8 Business-App-Entwicklung

DemoSDX Privatbilanz

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“)

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

926.06.2013 SDX AG

Windows 8

Formular-Layouts

Einspaltiges Layout Eingabereihenfolge entscheidend App ist im Snapped State

1026.06.2013 SDX AG

Windows 8

Formular-Layouts

Mehrseitiges Layout „Wizard“ Eingabereihenfolge entscheidend

1126.06.2013 SDX AG

Windows 8

Formular-Layouts

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

1226.06.2013 SDX AG

Windows 8

Formular-Layouts

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

1326.06.2013 SDX AG

Formular-Layouts

1426.06.2013 SDX AG

Formular-Layouts

1526.06.2013 SDX AG

Formular-Layouts

1626.06.2013 SDX AG

Formular-Layouts

Professionelle 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

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

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

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)

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

2326.06.2013 SDX AG

App-Entwicklung

Anforderungen an Apps

Multiple Devices

Touch First

Fast & Fluid

Mobilität

2426.06.2013 SDX AG

Multiple Devices: Vom Surface…

2526.06.2013 SDX AG

… über Notebook und Desktop …

2626.06.2013 SDX AG

… zum HD-Fernseher

2726.06.2013 SDX AG

App-Entwicklung

Anforderungen an Apps

Multiple Devices

Touch First

Fast & Fluid

Mobilität

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)

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

Professionelle Windows 8 Business-App-Entwicklung

3226.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung

Tastatur/Maus

Kryptografie

VPN

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

3426.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

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

Tastatur/Maus

Kryptografie

VPN

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

3626.06.2013 SDX AG

Business

Business-Features von Win8 AppsDatenzugriff

Authentifizierung

Tastatur/Maus

Kryptografie

VPN Windows 8.1

3726.06.2013 SDX AG

Business

LOB-Szenarien: Desktop/Web

Hardwarezugriff

Lastverarbeitung

Aktionslastigkeit, Maus-Präzision

3826.06.2013 SDX AG

Business

LOB-Szenarien: Windows 8 AppsAußendienst, Kundenberatung

Dashboards, Monitoring&Action

Komplementäre Apps

3926.06.2013 SDX AG

Business

Vorteile von Windows 8 Apps

Mobilität

Flexibilität

Enterprise

Experience

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

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

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

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

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

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)

Zusammenfassung

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

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

Vielen Dank!

Matthias JauernigPrincipal eXpertE-Mail: matthias.jauernig@sdx-ag.deHomepage: www.sdx-ag.de

SDX AG Borsigallee 19, 60388 Frankfurt