WP SilverLight 8.1 vs WP 8.1 (XAML) prós e contras
Eu tenho lido que os aplicativos Wp8.1 (XAML) são a nova maneira de criar aplicativos para o Windows Phone 8.1 e o código é altamente reutilizável para aplicativos do Windows 8.1 Desktop.
Mas estou um pouco preocupado, já que a realização de uma única pesquisa nos Contatos (ContactManager no WP8.1 XAML) é muito mais lenta que a do Silverlight.
Apenas retornar todos os contatos da minha Agenda (240 contatos com e-mails, miniaturas, etc ...) leva 3 segundos no meu Lumia 1520; a mesma operação com o código Silverlight leva 0,7 segundos.
Tenho um pouco de medo de usar o WP8.1 para criar aplicativos para telefone, pois o desempenho é muito importante para mim. O mesmo teste em um Lumia 535 leva 7 segundos e 1,5 segundos, respectivamente, com os contatos do meu Lumia 1520.
Existe alguma recomendação sobre que tipo de projeto usar? Sinto que os aplicativos Silverlight estão (obviamente) focados no Windows Phone e usam todos os recursos do telefone.
Eu estou errado? Estou entrando em uma estrada depreciada escolhendo o windows phone silverlight?
Nota: O código usado para realizar a pesquisa é o dos Exemplos do MSDN ...
WP8.1 XAML (Nokia Lumia 1520, 3 segundos para obter 240 contatos com miniaturas, contas de correio, etc ...)
ContactStore agenda = await ContactManager.RequestStoreAsync();
Stopwatch sw = new Stopwatch();
IReadOnlyList<Windows.ApplicationModel.Contacts.Contact> contacts = null;
sw.Start();
contacts = await agenda.FindContactsAsync();
sw.Stop();
txtblock1.Text = sw.ElapsedMilliseconds;
WP Silverlight 8.1 (Nokia Lumia 1520, 0,7 segundos para obter 240 contatos com miniaturas, contas de correio, 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(String.Empty, FilterKind.None, null);
//sw.Stop() and print ElapsedMilliseconds in ListContacts_SearchCompleted callback