windows 8 business-app-entwicklung
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: [email protected]: 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)
2926.06.2013 SDX AG
App-Entwicklung
Bibliotheken für .NET/WinRT
Mocking Microsoft Fakes (ab VS 2012 Premium) EasyMoq (mittels T4)
Eingabevalidierung WinRT XAML Validation Prism for the Windows Runtime
Kleine Helfer Blend for Visual Studio 2012 Remote Tools for Visual Studio 2012 Syncfusion Metro Studio 2
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: [email protected]: www.sdx-ag.de
SDX AG Borsigallee 19, 60388 Frankfurt