Le Post Infeeny

Les articles des consultants et experts Infeeny

[Build 14] – Developing apps using the common XAML UI Framework

Mail de John
Jeudi 03/04/2014 10:08

// Developing apps using the common XAML UI Framework

Pour développer une Universal App, il faut la dernière update de VS2013 (update gratuite). Cela est valable aussi pour Visual Studio Express.

On dispose d’un « projet partagé » dans lequel on peut mettre tous les fichiers à partager et pas seulement le code source. On peut y mettre des images, des fichiers ressources etc… Ce projet partagé ne génère aucune sortie (pas de dll, xap, appx…)
On peut convertir un projet Windows 8.1 en projet disposant d’un projet partagé. Cela n’entraine aucune modification du projet original. C’est à nous de déplacer les fichiers intéressants pour nous dans le projet partagé. Les fichiers XAML partagés sont rigoureusement les mêmes entre un projet partagé et un projet Windows 8.1 et un projet Windows Phone 8.1 Universel.

Tout WinRT n’est pas commun entre Windows Phone et Windows 8.1 mais la plupart des fonctionnalités le sont.

Qu’est-ce qui est commun alors (en se focalisant sur l’espace de nom XAML) ?
#Voir la session DeepDive controls 2-516 (Shawn Oster)
Les primitives sont partagées (Panels, Buttons, Slider, RadioButton, ProgressBar, TextBox, TextBlock, Shapes/Path etc….)
Certaines primitives ont la même API mais sont adaptés par devices (Hub, AppBar/CommandBar, Date/Time Picker, ListView, Flyouts, Media, Ads SDK*). L’AppBar ne peut en fait pas être utilisé sur Windows Phone. Les Flyouts sur Windows Phone peuvent être en plein écran mais pas en Windows 8.1.

S’ensuit une démo intéressante du HubControl, de l’AppBar et d’autres contrôles vus en mode Windows 8.1 et Windows Phone 8.1.

En ce qui concerne les publicités, on ne peut pas les utiliser directement en XAML. Il faut les instancier par code car les deux SDK de pubs sont dans des namespaces différents même si l’API est identique. De plus les AdUnit diffèrent en fonction des plateformes. Pour cela on utilise une directive de compilation : WINDOWS_APP ou WINDOWS_PHONE_APP.

Certains contrôles restent spécifiques à la plateforme :
Windows :
– SearchBox
– SettingsFlyout

Windows Phone :
– Pivot
– AutoSuggestBox
– ContentDialog
– Maps
– System Chrome (Progress Area) (Nouvelle API permettant de choisir la façon dont le SystemTray obtient sa couleur de fond).

Il y a une petite différence dans le modèle de navigation entre Windows Phone et Windows au niveau de la gestion du bouton back (maintenant l’appui sur Back ne ferme plus l’application).

#Voir la session Navigation Model for XAML Apps (Roberth Karman)

Il y a des points communs au niveau des animations :
ThemeAnimations et ThemeTransitions fonctionnent aussi maintenant sous Windows Phone.

La gestion du texte est uniformisée entre Windows Phone et Windows.
Il reste cependant quelques spécificités à Windows Phone.
Les PasswordBox sont aussi légèrement différentes (sur le téléphone on a un délai avant le masquage des caractères écrits).
Les tuiles sont aussi différentes entre Windows et Windows Phone.
Ajout dans Windows du XamlRenderingBackgroundTask pour générer des tasks en XAML dans Windows.
Ajout de l’API du RequestedTheme dans Windows Phone permettant de surdéfinir le thème par nœud XAML.

John

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :