BUILD 2014 – Session “Building Apps with XAML” (Tim Heuer)

Das frische Update für Universal Apps bezieht sich nur auf Visual Studio und erst mal nicht auf Blend. Der Grundgedanke bei Universal Apps ist „Share your XAML UI“. Bei der Planung des UIs muss vorher im Design geplant werden, was in den einzelnen UIs angezeigt werden soll. Je größer der Screen umso reicher sollte er sein. Einfach rauf- und runtervergrößern oder ohne Sinn und Verstand mehr Inhalt anzeigen, darf also nicht das Ziel sein.

Man beginnt also nicht mehr mit der Entscheidung, ob Phone oder Store, sondern legt direkt eine Universal App an, damit man für die Zukunft gewappnet ist, um hier mit einer maximalen Schnittmenge zu arbeiten. Im Abgleich von Windows 8.1 und Windows Phone 8.1 ist die Schnittmenge aus Klassen, Strukturen und UI-Controls ist sehr nah aneinander.

Die Solution-Architektur ist entsprechend so angelegt. Was grundlegend geteilt werden sollte:
Models, Sprache, Grafikelement.

Der Überblick über Controls:
Die Basis Controls – Layoutcontrols, Buttons, Textboxes, Pathes – sind gleich. Die Controls haben die gleiche API, sind aber im Verhalten durchaus unterschiedlich.
Beispiel: DatePicker, HubControl, ListView,Flyout, AppBar, Media

Die Views sind aufgeteilt in entsprechende Solutions mitsamt spezifischen Assets. Besondere Custom und User Controls kann man aber auch wiederum teilen und dann aus den Views heraus ansprechen. Die Erkennung der einzelnen UI-Elemente erfolgt über klare Benamungen als x:UIDs.

Dann gibt es noch wenige Spezialcontrols für Windows und Phone.
Windows: SearchBox, SettingsFlyout
Phone: Pivot, AutoSuggestBox, ContentDialog, Maps

Bei der Gestaltung des Layoutrasters gilt es das Gerätespezifische zu beachten:
Windows Phone: Oben Systemspezifisch, Kernbereich APP-UI mit dem oberen Kernbereich und dem unteren Erweiterungsbereich, Unten Command Bar.

Das Navigationmodell über die APIs sind identisch. Eine Besonderheit ist der Hardware-Backbutton in Phon und der Software Backbutton in StoreApps). Animationen verhalten sich durchaus gleich. Es gibt allerdings einige Besonderheiten bei Theme-Animation und Transitions, die aber noch verbessert werden sollen. Bei Texten gibt es einen maximal geteilten beriech. Speziell ist die Textvergrößerung, die noch nicht übertragen ist von Phone auf Store Apps.

Die Skalierungsfaktoren sind die Kernherausforderungen: 383×683, 50×800 …1920×1280