A l'heure actuelle, la majorité des applications mobiles pensées pour Windows Phone sont articulées autour de Silverlight. Pour les rendre disponibles de manière universelle, les développeurs devront les modifier. Elles pourront ainsi être exécutées aussi bien sur smartphones, tablettes, PC mais aussi Xbox et HoloLens.
Pourquoi migrer depuis Silverlight vers Universal apps ?
En concevant une application universelle, son code source sera mutualisé entre Windows et Windows Phone. Globalement, celle-ci affichera de meilleures performances et son interface utilisateur sera automatiquement adaptée en fonction de la taille de l'écran.Les applications universelles proposent en outre quelques avantages supplémentaires par rapport à celles conçues en Silverlight. Il sera possible de développer une application d'édition de vidéo avec des options de recadrage ou des filtres activés à la volée.
Mais aussi, d'accéder aux capteurs de manière universelle, par exemple, pour communiquer avec l'accéléromètre et observer la détection de mouvements. L'analyse des processus en des tâches de fond est améliorée, avec la détection automatique des changements de réseaux sans fil ou de fuseaux horaires pour retourner des alertes.
L'authentification au sein de plusieurs appareils a été facilitée avec le stockage d'un token synchronisé via OneDrive. En d'autres termes, il suffira à l'utilisateur de s'identifier une fois sur un appareil pour utiliser la même application sur d'autres machines rattachées au même compte Microsoft.
Pourquoi ne pas migrer
Mais faut-il déjà migrer vers les applications universelles? Si pour certains, la question ne se pose pas, il faut garder à l'esprit que certaines choses ne sont pas possibles avec le Windows Runtime (WinRT).Ainsi, le développeur ne sera plus en mesure de personnaliser l'écran de verrouillage de l'utilisateur. Il ne pourra pas non plus tirer parti du fournisseur de sonneries. Sans doute un peu plus problématique : il ne pourra pas accéder au gestionnaire d'alarmes et de rappels.
Avec WinRT, l'application ne peut fonctionner en arrière-plan de l'écran de verrouillage. Aussi, les développeurs de filtres photographiques ne pourront insérer leurs travaux au sein de l'application Camera, comme il est possible de le faire sur Windows Phone.
Enfin, certaines fonctionnalités de l'interface utilisateur (masque d'opacité, dégradés...) ne sont pas fournies pour WinRT. La VoIP n'est pas disponible, tout comme les applications de navigation avec guidage vocal (problème d'accès au GPS).
Quelques éléments d'attention
Le développement d'applications universelles reposent sur les mêmes langages qu'avec Silverlight, à savoir XAML, C#, VB, F# et C++. Toutefois, il ne suffit pas simplement de presser un bouton pour migrer son application depuis Silverlight vers WinRT. Dans ce cas, une multitude d'erreurs seront générées.Quelques éléments de syntaxe devront être modifiés, notamment au niveau des contrôles XAML (par exemple Tap devient Tapped et DoubleTap devient DoubleTapped). Le comportement par défaut de certains composants a également été altéré. C'est le cas de l'alignement des boutons ou de la navigation Arrière. Microsoft a fait fi des contrôles de la souris pour les remplacer par des pointeurs. Par ailleurs, quelques différences font leur apparition dans la référence des polices de caractères.
Pour simplifier la prise en charge de tous ces changements, Rudy Huyn, développeur du client Instagram 6Tag sur Windows Phone, ainsi que le consultant Julien Lo Presti, présentent Univerlight, un petit utilitaire qui se chargera de migrer n'importe quelle application Silverlight vers Universal App. Les développeurs assurent qu'au minimum 95% du code sera automatiquement formaté pour WinRT dans les cas les plus complexes.
Univerlight sera distribué en open source et semble avoir retenu l'attention de Microsoft puisque la société s'est associée avec les développeurs. A l'avenir, elle le proposera directement sur son site. L'outil sera officiellement disponible pour la BUILD.
Télécharger Microsoft Silverlight pour Windows.