45
© Zühlke 2011 Christian Moser Windows 8 und Metro-Apps Christian Moser [email protected] 25. Oktober 2011 Folie 1

Windows 8 einführung

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Windows 8   einführung

© Zühlke 2011

Christian Moser

Windows 8 und Metro-Apps

Christian [email protected]

25. Oktober 2011Folie 1

Page 2: Windows 8   einführung

© Zühlke 2011

Metro-Style Apps für Windows 8

Christian Moser

Was ist neu in Windows 8?

25. Oktober 2011Folie 2

Metro-Style Apps für Windows 8 | Christian Moser

Page 3: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Optimiert für Tablet-PC’s

Microsoft möchte mit Windows 8 dem Apple iPad Konkurrenz bieten:

• Neuer Lock-Screen

• Neue Touch-Oberfläche (Metro-UI)

• Lauffähig auf ARM-Prozessoren

• Batteriesparend und ressourcenarm

• Windows Store

• Windows Azure integration

• Connected-Standby und Background-Tasks

25. Oktober 2011 Folie 3

Page 4: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

• Startet in wenigen Sekunden!

• Neuer Task Manager

• Verbessertes Kopieren

• Explorer mit Ribbon

• «Factory Reset» und Refresh-Funktion

• Internet Explorer 10

• Automatische Synchronisation in die Cloud (Sky-Drive)

• Mounten von ISO und VHD

Neues auf dem Desktop

25. Oktober 2011 Folie 4

Page 5: Windows 8   einführung

© Zühlke 2011

Metro-Style Apps für Windows 8

Christian Moser

Die Metro-Oberfläche

25. Oktober 2011Folie 5

Page 6: Windows 8   einführung

Der neue Lock-Screen

Metro-Desktop

Page 7: Windows 8   einführung

Beispiele von Metro-Style Apps

Page 8: Windows 8   einführung

© Zühlke 2011

Die Metro-Designprinzipien

• Pride in craftsmanship Eine gute User Experience entsteht nur durch ein sauberes Handwerk in allen Disziplinen

• Be fast and fluid Apps sollen responsive, intuitiv, touch-optimiert und smooth sein.

• Authentically Digital Verbunden, dynamisch, lebendig, starke Farben, bewegt

• Do more with less Inhalte statt Chrom, gut in etwas sein

• Win as one Synergien nutzen, Integriert und Vernetzt Redundanz vermeiden, Standarts einhalten,

Page 9: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Umdenken – von Desktop zu Metro

25. Oktober 2011 Folie 9

Viele unnötige Linien und Rahmen

Reduced tothe max

Page 10: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Interaktion mit dem Metro-Desktop

25. Oktober 2011 Folie 10

Charms(Die 5 wichtigsten Systemfunktionen, sind immer erreichbar)Taskwechsel

App-Bars

Erscheinen, wenn mit dem Fingerüber den Touch-Rand gewischt wird.

Page 11: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Variationen, die jede App unterstützen sollte

25. Oktober 2011 Folie 11

Snapped und Vollbild Horizontal und Vertikal Bildschirmgrössen

Auflösungen (dpi)

Page 12: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Windows 8 – Touch-Gesten

25. Oktober 2011 Folie 12

Die Windows Touch-Sprache ist mit nur 7 Gesten einfach erlernbar und intuitiv.

Sollte wenn möglich nicht erweitert werden.

Page 13: Windows 8   einführung

© Zühlke 2011

Layout-Raster

Folie 13

Visual Studio 11 bietet dafür fertige Templates

Ein durchgängigesLayout-Raster sorgt für ein konsistentesErscheinungsbild.

Page 14: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Split-Modus der Tastatur

Viele Personen halten Tables mit zwei Händen

Alle wichtigen Funktionen sollten dabei komfortabel erreichbar sein

Komfortable Verwendung auf dem Tablet

25. Oktober 2011 Folie 14

Durchgeführte Usability-Studie

Icons auf der App-Bar sollten links und rechts angeordnet werden

Page 15: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

• Applikationen interagieren über «Contracts» miteinander, ohne etwas voneinander zu wissen.

• Jede Applikation kann die Contracts, die Sinn machen anbieten oder nutzen

• Windows 8 unterstützt drei Contracts:

Contracts

25. Oktober 2011 Folie 15

Share (Push Content) Picker (Pull Content) Search (Find Content)

Page 16: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

• Icons sind veraltet, statisch, langweilig und bieten wenig Nutzen

• Live Tiles sind lebendig, persönlich, anziehend aktuell und informativ

• Apps können Inhalte als sekundäre Tiles mit «deep link» auf den Desktop stellen (Wetter-Standorte, Freunde, wichtige Aktienkurse,…)

Live Tiles

25. Oktober 2011 Folie 16

Page 17: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

• Der Nutzer loggt sich einmal mit einem Windows-Live Benutzer bei Windows an

• Jede Metro-Style App erhält in der Cloud Speicherplatz für Benutzer-Einstellungen und kleinere Inhalte

• So können Einstellungen einfach zwischen mehreren Rechnern synchronisiert werden:

Cloud-Integration

25. Oktober 2011 Folie 17

Beginnt ein eBook zu lesen und muss weg……das Buch öffnet sich auf der richtigen Seite

Page 18: Windows 8   einführung

© Zühlke 2011

Zusammenfassung – Was macht eine gute Metro-App aus

1. Erscheint vollständig im Metro-Style Design

2. Hält sich an alle Designprinzipien von Metro

3. Fühlt sich schnell und flüssig an

4. Unterstützt Skalieren, Snapping und Ausrichtung auf eine sinnvolle Art

5. Implementiert sinnvolle Contracts (Search, Share, Picker)

6. Bietet wertvolle Informationen auf ihrem Live-Tile an

7. Fühlt sich immer verbunden, aktuell und lebendig

8. Nutzt die Funktionen der Cloud zur Daten-Synchronisierung

Folie 18

Page 19: Windows 8   einführung

© Zühlke 2011

Metro-Style Apps für Windows 8

Christian Moser

Metro-Style Apps entwickeln

25. Oktober 2011Folie 19

Page 20: Windows 8   einführung

© Zühlke 2011

• Neues Subsystem in Windows 8

• API für Metro-Style Apps

• Native in C++ (COM-ähnlich)

• Natürliche Projektion der API in verschiedene Sprachen

• Entwicklung mit C#/VB/C++ und XAML oder JS und HTML

• WinRT ist weder WPF noch Silverlight!

• Ist erst ab Windows 8 verfügbar das heisst Metro-Style Apps laufen nur unter Windows 8 und höher!

Windows Runtime (WinRT)

25. Oktober 2011 Folie 20

Page 21: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Funktionsübersicht der Windows Runtime

25. Oktober 2011 Folie 21

• Die Windows Runtime deckt alle wichtigen Funktionen ab

• Saubere API – für jede Funktion gibt es nur eine Implementierung

• Enthält eine native XAML-Implementierung für C#/VB Apps

Page 22: Windows 8   einführung

© Zühlke 2011

App Isolation & Privacy

20. September 2011

• Gemäss Microsoft läuft die App in einem App-Container

• Tatsächlich beschränkt der Kompiler

und die Store-Zertifizierung die Funktionalität

• Diese Einschränkung bedeutet:– Kein Zugriff auf das Dateisystem– Kein Zugriff auf Win32-Funktionen– Kein Zugriff als lokale Devices

• Potentiell gefährliche Funktions-aufrufe laufen über Broker

• Anwender muss den Zugriff aufdie Ressourcen genehmigen (AppXManifest )

Folie 22

Page 23: Windows 8   einführung

© Zühlke 2011

• Metro-Style Apps können gleichwertig in C++, C#, VB oder JS geschrieben werden

• Alle Funktionen der WinRT wurden natürlich abgebildet.

C#

var fp = new FileOpenPicker(); var result = await fp.PickSingeFileAsync();

C++

auto fp = Windows::Storage::Pickers::FileOpenPicker();

auto result = fp->PickSingeFileAsync();

JavaScript

var fp = new Windows.Storage.Pickers.FileOpenPicker; fp.pickSingleFileAsync().then();

Language Projection

20. September 2011 Folie 23

Page 24: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Language Projection

25. Oktober 2011 Folie 24

WinRT Objekte sind eine moderne Art von COM.

Sie unterstützen das neue Interface IInspectable

Über die Windows-Metadaten-kann das .NET-Framework diese Objekte nutzen.

Das Format ist sehr nahe am .NET-Metadatenformat.

ILDASM

Page 25: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Ein Grossteil der Typen stimmen überein zwischen .NET und WinRT

Primitives Interfaces Enums StructsDelegates

Klassen Konstrukturen Static MethodenProperties

Events

Andere Typen werden «natürlich» gemappt

• HRESULT Spezifische Exceptions (Fallback: ComException)

• IAsyncOperation<T> ITask<T>

• IITerable<T> IEnumerable<T>

• Ivector<T> IList<T>

Type Mapping

25. Oktober 2011 Folie 25

Page 26: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Eigene WinRT Komponenten in C# erstellen

25. Oktober 2011 Folie 26

COM (bisher) WinRT

Regeln, die beachtet werden müssen Können nur in einer App verwendet werden (kein GAC / keine DLL-hell) Public = ComVisible Public Funktionen dürfen nur native WinRT-Typen verwenden Structs dürfen nur public Members haben (keine private Members oder Methoden) Alle Klassen müssen sealed sein. Keine eigene generics.

• z.B. um ein Teil einer App in einer anderen Sprache zu schreiben

Page 27: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Metro-App - Lebenszyklus

25. Oktober 2011 Folie 27

• Apps werden nur gestartet, nicht beendet

• Inaktive Apps wechseln nach 5s in «suspended» Mode. Zustand wird gespeichert.

• Wird eine App wieder sichtbar, wird sie «resumed». Zustand wird wieder geladen.

• Wenn wenig Speicher verfügbar ist, beendet Windows eine «suspended»-Apps.

• System-Events: Application.Current.Suspending, Application.Current.Resuming

Page 28: Windows 8   einführung

© Zühlke 2011

Christian Moser

Metro-Style Controls

25. Oktober 2011Folie 28

Metro-Style Apps für Windows 8 | Christian Moser

Page 29: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Windows 8 bringt diverse neue Controls

25. Oktober 2011 Folie 29

• WebView (ohne AirSpace probleme)

• ListView/GridView/FlipView/JumpView (mit «semantic zoom»)

• MediaPlayer mit Steuerelementen

• ToggleSwitch

• Extended TextBox

• Progress Ring

Page 30: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

ApplicationBar

25. Oktober 2011 Folie 30

• Control für die Application Bar

<ApplicationBar DismissMode="LightDismiss"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Right"> <Button Content="Home" /> <Button Content="Save" /> </StackPanel></ApplicationBar>

Page 31: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

• Der XAML-Stack von Windows 8 ist Teil der WinRT (native)

• Die API ist zu einem grossen Teil kompatibel mit Silverlight

• Interne Umsetzung ist jedoch komplett unterschiedlich

• Neuer Namespace Windows.UI.XAML

XAML

25. Oktober 2011 Folie 31

Page 32: Windows 8   einführung

© Zühlke 2011

Christian Moser

Contracts

25. Oktober 2011Folie 32

Page 33: Windows 8   einführung

© Zühlke 2011

Implementierung des «Share»-Contracts

25. Oktober 2011 Folie 33

Page 34: Windows 8   einführung

© Zühlke 2011

Implementierung des «Share»-Contracts

25. Oktober 2011

DataTransferManager.GetForCurrentView().DataRequested += OnDataRequested;

private void OnDataReqested(DataTransferManager sender, DataRequestedEventArgs e){ if( DoIHaveSomethingToShare ) { e.Request.FailWithDisplayText("No data to share... "); } else { e.Request.Data.SetBitmap(picture); }}

Folie 34

Page 35: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Bildschirmauflösung

Orientierung

Layout

Auf Statusänderungen reagieren

25. Oktober 2011 Folie 35

var screenSize = Windows.Current.Bounds;Windows.Current.SizeChanged += OnScreenSizeChanged;

var orientation = DisplayProperties.CurrentOrientation;DisplayProperties.OrientationChanged += …

1366x768

Landscape Portrai

t

var layout = ApplicationLayout.ValueApplicationLayout.GetForCurrentView().LayoutChanged +=

Snapped

Filled

FullScreen

Page 36: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Verwendung der Kamera

25. Oktober 2011 Folie 36

Page 37: Windows 8   einführung

© Zühlke 2011

Vergleich von Desktop und Metro

20. September 2011

Metro Apps Desktop Software

Haupt-Eingabemedium

Touch Maus/Tastatur

UI-Style Metro Windows

Runtime WinRT (Win32)

.NET/SL/Win32

Verteilung Windows Store

Download Webseite

Installation .appx Package

MSI

Systemzugriff Nur über WinRT

Voller Zugriff

Fazit

• Metro Style Apps auf WinRT eignen sich vorwiegend für Consumer-Anwendungen mit viel Inhalt und wenig Dateneingabe.

• Business Applikationen werden weiterhin hauptsächlich maus- und tastaturbasiert bleiben und auf WPF/SL/HTML oder C++ basieren.

Folie 37

Page 38: Windows 8   einführung

© Zühlke 2011

Christian Moser

Windows Store

25. Oktober 2011Folie 38

Metro-Style Apps für Windows 8 | Christian Moser

Page 39: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Navigation im Windows Store

25. Oktober 2011 Folie 39

1. Startseite Liste aller Kategorien mit guten, populären Apps. (Können nicht gekauft werden)

2. Kategorieansichtmit allen Apps einerKategorie und Filter-möglichkeiten

3. ApplikationsdetailsAlle Details über die App.

Page 40: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Applikationsdetails

25. Oktober 2011 Folie 40

Verwendete ResourcenDeklarierte Ressourcen müssen für den Typ von App Sinn machen . Sonst kann dies die Store-Zertifizierungmühsamer machen.

Ausprobieren ohnezu kaufenDank speziellen Trial-API’s. VerhindertDuplizierung im Store.

ReviewsFeedbacks von Kundenüber die App

Page 41: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Wie kommen Kunden an eine App

1. Direkt über den Store

2. Über die Suche in Windows 8, welche auch den Store durchsuchen kann (mittels «search»-Kontrakt)

3. Über Google Applikationsdetail-Seiten werden von Suchmaschinen indexiert

4. Über eine Webseite der App, wobei über Meta-Tags in IE10 ein «Get the app» Icon eingeblendet werden

25. Oktober 2011 Folie 41

http://blogs.msdn.com/b/ie/archive/2011/10/20/connect-your-web-site-to-your-windows-8-app.aspx

<meta name="msApplication-ID« content="microsoft.build.App"/><meta name="msApplication-PackageFamilyName« content="microsoft.build_8wekyb3d8bbwe"/>

Page 42: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Zertifizierung

Technische Korrektheit

• Das App-Manifest muss mit dem überein stimmen, was die App an Ressourcen verwendet

• Grösse und Skalierung von Bildern

• Korrekte Verwendung von API’s (z.Bsp. keine unerlaubten Win32 aufrufe)

• Stabilität und Sicherheit

Kann 1:1 offline überprüft werden mittels «App Certification Kit»

25. Oktober 2011 Folie 42

Page 43: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Lizenzierungsmodelle

• Der Store unterstützt Metro-Style-Apps und gewöhnliche Win32(Desktop)-Apps

• Lizenzen sind pro Benutzer (Account). Sie werden automatisch «geroamt».

• Microsoft verdient 30%

• Trials– Apps werden 10x öfters heruntergeladen, wenn

sie ein Trial anbieten – 10% der Trials werden später gekauft

• «In-App»-Käufe– 48% der Einnahmen stammen aus reinen In-App

käufen

25. Oktober 2011 Folie 43

Page 44: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Wenn die App im Store ist…

25. Oktober 2011 Folie 44

Das Entwickler-Dashboard listet alle Apps.

1. Vorbereitung 2. Submission 3. Nutzungsstatistik 4. Crash-Data

Page 45: Windows 8   einführung

© Zühlke 2011Metro-Style Apps für Windows 8 | Christian Moser

Windows 8 Sample Pack:

http://code.msdn.microsoft.com/windowsapps/Windows-Developer-Preview-6b53adbb

Blogs:

http://www.scottlogic.co.uk/blog/colin/2011/10/winrt-transitions-creating-fast-and-fluid-metro-uis/

Ressourcen

25. Oktober 2011 Folie 45