WP SilverLight 8.1 vs WP 8.1 (XAML) pour et contre

Je lisais que les applications Wp8.1 (XAML) sont le nouveau moyen de créer des applications pour Windows Phone 8.1 et que le code est hautement réutilisable pour les applications de bureau Windows 8.1.

Mais je suis un peu inquiet, car effectuer une seule recherche à partir de Contacts (ContactManager dans WP8.1 XAML) est bien plus lent que le pendant Silverlight.

Le renvoi de tous les contacts de mon agenda (240 contacts avec des courriels, des vignettes, etc.) prend 3 secondes dans mon Lumia 1520; la même opération avec le code Silverlight prend 0,7 seconde.

J’ai un peu peur d’utiliser WP8.1 pour créer des applications pour téléphone, car les performances sont très importantes pour moi. Le même test sur un Lumia 535 prend respectivement 7 secondes et 1,5 secondes avec les contacts de mon Lumia 1520.

Existe-t-il une recommandation sur le type de projet à utiliser? Je pense que les applications Silverlight sont (évidemment) concentrées sur Windows Phone et utilisent toutes les fonctionnalités du téléphone.

Je me trompe? Est-ce que je me dirige vers une route dépréciée en choisissant Windows Phone Silverlight?

Remarque: le code utilisé pour effectuer la recherche est celui qui figure dans les exemples MSDN …

WP8.1 XAML (Nokia Lumia 1520, 3 secondes pour obtenir 240 contacts avec des vignettes, comptes de messagerie, etc.)

ContactStore agenda = await ContactManager.RequestStoreAsync(); Stopwatch sw = new Stopwatch(); IReadOnlyList contacts = null; sw.Start(); contacts = await agenda.FindContactsAsync(); sw.Stop(); txtblock1.Text = sw.ElapsedMilliseconds; 

WP Silverlight 8.1 (Nokia Lumia 1520, 0,7 secondes pour obtenir 240 contacts avec des vignettes, comptes de messagerie, etc.)

 Contacts agenda = new Contacts(); //Stopwatch is declared at class level so its accessible in ListContacts_SearchCompleted Callback sw.Start(); agenda.SearchCompleted+= ListContacts_SearchCompleted; agenda.SearchAsync(Ssortingng.Empty, FilterKind.None, null); //sw.Stop() and print ElapsedMilliseconds in ListContacts_SearchCompleted callback 

EDIT: Message créé dans les forums concernant https://social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?referrer=http: //social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?referrer=http://stto.msdn.microsoft.com forums / windowsdesktop / fr-fr / 1e0accaf-b2f8-4d68-b5ec-dc6af6351633 / findcontactsasync-prend-longtemps-temps? forum = wpdevelop

Est-ce que vous comparez la même chose?

Dans la version Silverlight, vous pouvez uniquement appeler sw.Stop dans le gestionnaire d’achèvement.

Si vous voulez vraiment faire une bonne comparaison, vous devriez obtenir une trace ETW; alors vous pouvez vraiment comprendre ce qui se passe.

Pour les solutions basées sur Metro XAML, des coûts supplémentaires d’interopérabilité peuvent être nécessaires. Mais cela semble être la voie future.

Pour Silverlight, les API existantes peuvent être plus perfectionnées.

Peut-être devriez-vous travailler sur les deux solutions, rendre le code partageable aussi gros que possible et ensuite décider de la voie à suivre.