Les différences entre les Silverlight apps et Universal apps sont grandes et vous avez peur de repartir de zéro ? Venez découvrir les astuces et les outils indispensables pour faciliter cette migration et passer d'une technologie à l'autre rapidement tout en préparant vos applications à Windows 10!
5. tech.days 2015#mstechdays
Historique de la convergence
Pourquoi ne pas migrer
La migration vers Universal App
Windows Phone : Migrez de Silverlight vers Universal App
7. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Lock Screen Image
Fournisseur de sonnerie
Alarmes et reminder
Faire fonctionner vos applications sous le lock-screen
Lense (application caméra)
Clipboard API
OpacityMask, RadialGradientBrush
Clip
8. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
CameraCaptureTask
VOIP
Feature Silverlight
8.0
Silverlight
8.1
XAML
Continuous Background Execution Agents (GPS
Apps)
9. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Mutualisation du code entre Windows et Windows Phone
Meilleures performances
Adaptation du rendu selon le device
API pour éditer des vidéos
Accéder aux sensors en tâche de fond (DeviceUseTrigger + Sensor)
UI testing
Feature Silverlight 8.0 Silverlight 8.1 XAML
Background Audio
10. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Amélioration Contrôles (Combobox, Textbox, …)
<StackPanel>
<TextBlock Text="Name />
<TextBox Text="Name"/>
</StackPanel>
<TextBox PlaceholderText="Name" Header="Name"/>
Silverlight
Store App
18. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Changement du nom de l’évènement :
Tap Tapped
DoubleTap DoubleTapped
Quelques changements de comportement par défaut
Alignement horizontal des boutons
19. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Changement de l’enum pour l’InputScope
Animations (Independent/DependentAnimation)
EnableDependentAnimation = true
TiltEffect (PointerDownAnimation)
21. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
• Fondamentalement identique
• Quelques modifications
• Déclaration des namespaces
• xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
• xmlns:phone="using:Microsoft.Phone.Controls«
• https://msdn.microsoft.com/en-us/library/windows/apps/dn800286.aspx
22. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Un seul canvas pour une diversité d’écran
Fournit un système de
layout et de
coordonnées commun
10”
tablet
7” tablet
6”
5”
4.5”
Infinite virtual canvas
166 Logical DPI
24. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
https://msdn.microsoft.com/en-us/library/windows/apps/Hh761491.aspx
Silverlight
Flip
Iconic
Cycle
25. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
https://msdn.microsoft.com/en-us/library/windows/apps/Hh761491.aspx
Store App
27. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Gestion des thèmes : Default, Dark, Light, HighContrast
Récupération d’une ressource selon le thème appliqué
Pas de changement à l’exécution
RequestedTheme pour forcer un thème spécifique sur un
FrameworkElement ou sur l’application
37. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Silverlight WinRT
Application_Launching OnLaunched
Application_Activated Resuming/OnActivated
Application_Deactivated OnSuspending
Application_Closing Pas d’equivalent
IsApplicationInstancePreserved PreviousExecutionState
38. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
• Contexte de l’application conservée
• Fermeture de l’application par le gestionnaire de tâches
• L’état « terminated » ne conserve aucun état (ni stack de navigation ni
dictionnaire global)
• ATTENTION au bouton back
39. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Pros Cons
Restaurer l’état après un
« resuming » quand T < ? min
sinon réinitialiser app
NE PAS FERMER l’application pour
reproduire le comportement de 8.0
Sauvegarder l’état de l’app dans le
suspending
Ne pas restaurer l’état si
l’application a été fermée par
l’utilisateur
Sauvegarder plusieurs historiques
de navigation quand plusieurs
points d’entrée disponibles
40. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Nouveau template de projet:
Blank App n’inclut pas la gestion de la touche back
Hub App, Pivot App l’inclut dans la classe /Common/NavigationHelper
Ce qui cause un retour vers la page précédente
Si vous avez besoin de surcharger ceci, remplacez avec votre code pour une gestion custom de la
navigation
Gestion du bouton back
45. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Local
Emplacement principal
Peut être sauvegardé sur OneDrive
Roaming
Données partagées entre devices
Limité à 100kb
Temp
Données temporaires
Peut être vidé lorsque la mémoire du telephone
est pleine
Device B
WP 8.1 – PFN 12345
Roaming Local
Local
Cache
Temp
Device A
WP 8.1 App
Roaming Local
Local
Cache
Temp
Backup [Device A]
46. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
<TextBlock Text=""{Binding LocalizedResources.Farewell,
Source={StaticResource LocalizedStrings}}" />
Utilisation depuis le code:
Utilisation en XAML:
var message = AppResources.Farewell;
47. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
<TextBlock x:Uid="Greeting" Text="?" />
Utilisation depuis le code:
Utilisation en XAML:
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
var string = loader.GetString('Farewell');
48. tech.days 2015#mstechdaysWindows Phone : Migrez de Silverlight vers Universal App
Silverlight Universal Apps
Resx Resw
Dictionary<string,object> Dictionary<string,string>
Création de propriétés Accès via clés
Binding complexe et coûteux Résolution automatique
Le Xaml pilote la localisation Le resw pilote la localisation