Saudações, Habr!
A publicação é inspirada nas
notícias da descontinuação do suporte para o Windows 10 mobile .
Sendo o proprietário do Nokia Lumia 925 de uma só vez, vou falar sobre um dos meus ofícios no campo do desenvolvimento móvel para Windows Phone 8.1.
Apêndice: "Taxas de câmbio do Banco Central da Federação Russa". Antecedentes
Era o fim de 2014 e algo
verdadeiramente estranho estava acontecendo. O dólar estava crescendo, o euro não era inferior, mas umas férias alguns meses depois já haviam sido planejadas e era hora de comprar essa mesma moeda ou, pelo menos, monitorá-la.
Não encontrando nada útil no Windows Phone Market, decidi tentar escrever algo "para mim".
No final, não é tão difícil - fiz o pedido de joelhos, carreguei a montagem no telefone e você vive bem. E se você gosta, pode fazer o upload para o mercado, mesmo que seja bom para os outros.
PS "Nada de útil" também significava filtrar aplicativos com uma quantidade enorme de publicidade (por Deus, gente, o que havia de errado com você?).
Número da versão 1
Objetivo: criar um aplicativo simples com a única oportunidade - ver taxas de câmbio no aplicativo e criar um bloco na página principal
Um pouco mais formal:
- A interface mais fácil
- Tabela com preços da moeda hoje / amanhã
- Capacidade de criar um bloco na página principal
- Sem anúncios
O que aconteceu como resultado (infelizmente, as capturas de tela das primeiras versões dos blocos não foram salvas):


Serviço intermediário
Os blocos são referenciados por um serviço escrito que acessa os dados do Banco Central e os armazena em cache por um dia, porque O Banco Central não atualiza os dados com mais frequência. I.e. o aplicativo não funciona com dados em tempo real, porque o próprio conceito de blocos não permite atualizações frequentes.
A taxa mínima de atualização, pelo que me lembro, foi de cerca de meia hora.
Quem saberia quantos comentários e estrelas mínimas recebi por criar um aplicativo com "dados incorretos!". A adição de informações sobre a frequência das atualizações nas próximas versões não mudou a situação - os usuários continuaram a escrever periodicamente sobre dados incorretos.
Além das solicitações de dados, o próprio serviço permitiu coletar pequenas estatísticas sobre o uso do aplicativo. No início, as estatísticas da consulta (cada bloco = solicitação) eram as seguintes:

Número da versão 2
Objetivo: inesperadamente, houve comentários de usuários com uma solicitação para adicionar um gráfico da dinâmica das mudanças nas taxas.
O que aconteceu como resultado:

Do interessante: eu tive que pegar e reconstruir a fonte da biblioteca de gráficos para passar na certificação do aplicativo.Detalhes técnicosJá no processo de preparação para a publicação do aplicativo, foi revelado, usando o Windows App Certification Kit, que havia algumas chamadas do kernel32.dll dentro do componente. Em particular, houve dois erros:
A API CreateFileMappingA na API kernel32.dll não é suportada para este tipo de aplicativo. Sparrow.Chart.WinRT.45.dll chama essa API.
A API MapViewOfFile no kernel32.dll não é suportada para este tipo de aplicativo. Sparrow.Chart.WinRT.45.dll chama essa API.
Aconteceu (após pesquisar e classificar a fonte) que o componente escrito para o Windows phone tinha a diretiva #if WPF. Um pedaço de código não foi usado, mas quebrou o teste de certificação. Comentaram as diretrizes, compilaram e, voila, todos os testes passaram. Foi muito desagradável descobrir um erro semelhante no final do lançamento da atualização. Mas com sorte.
Algumas estatísticas de pedidos até junho:

O serviço escrito forneceu aproximadamente as seguintes informações sobre o uso de blocos:
- 125 usuários com 0 blocos - use o aplicativo principalmente
- 260 usuários com 1 lado a lado
- 175 usuários com 2 peças
- 61 usuários com 3 peças
- 7 usuários com 4 peças
- 1 usuário com 6 peças
Número da versão 3
Objetivo: inspirado nos pedidos dos usuários (duas pessoas pediram, mas isso é suficiente), decidi que deveria haver um novo design.
O que aconteceu como resultado:




Estatísticas:

Os números não são muito altos, mas muito bons para mim. Lenta mas seguramente, o número de usuários aumentou.
Versão número 4, final
Objetivo: desta vez, foi inspirado no novo design do aplicativo para VKontakte. Sim, e o MVVM teve que ser reescrito finalmente. Sim, e adicione cursos de óleo e metal.
O que aconteceu como resultado:






Pode-se ver que, nesse ponto, eu queria ganhar algum dinheiro com uma doação voluntária. Eles conseguiram ganhar algo entre 800-900 rublos, que não puderam retirar. Agradecemos à Microsoft pelo tamanho mínimo de retirada de US $ 25.
Estatísticas finais:

Em conclusão
Posteriormente, outro cronômetro foi escrito, mas nada de interessante nele. Apenas funciona levando em consideração todas as limitações do sistema, das quais existem muitas.
O fusível para o desenvolvimento começou a desaparecer quando mais e mais comentários começaram a aparecer dos usuários do Windows Phone 10 com solicitações para corrigir tamanhos de ladrilhos ou problemas específicos do novo sistema. Ao mesmo tempo, meu dispositivo não foi categoricamente incluído na lista para atualização da plataforma com o Windows Phone 8.1. Não havia desejo de fazer um arranjo aleatório, testando apenas no emulador.
Em seguida, surgiram as notícias de que não haveria nenhuma atualização do sistema e "comprar novos telefones". E foi uma vergonha para as aplicações, especialmente levando em conta as críticas positivas, em geral, dos usuários.
Nesta nota, e termine a nostalgia de desenvolver um post. Obrigado pela atenção.