Rexobias
Power Member
Muito obrigado pelas sugestões
Vou ter em conta as tuas sugestões e vou implementá-las num futuro update!
Na HomePage (assim como em toda a aplicação) uso um RelativePanel. Qual seria a vantagem/diferença em optar por uma GridView?
Obrigado
Boa noite Luís
Antes de mais, toma em conta isto apenas como conselhos e não como criticas ao teu trabalho. Dou-te os meus sinceros parabéns pelo teu trabalho e pelo "atrevimento" em ter Apps na Store (eu minhas tenho zero).
Outra coisa, aproveito para recomendar a utilização do UWP Community Toolkit (instalas pelo NuGet) pois permite-te ter acesso a mais controlos que podem alimentar a tua imaginação e facilitar-te a vida.
Eu usaria uma GridView (ou AdaptiveGridView - ver UWP Community Toolkit) por dois motivos:
- Tem uma adaptabilidade superior à tua solução actual resolvendo inclusive um Bug que tens antes da mudança para o VisualState em que escondes os Items do Hamburguer Menu;
- Iria facilitar-te a vida para futuras alterações/adições de Bancos e suas Taxas.
Explicando melhor este último ponto:
Actualmente se queres adicionar ou remover Bancos necessitas de meter as mãos no XAML obrigatoriamente para adicionar/remover Buttons. A solução mais escalável seria teres uma classe Bank (com propriedades Name, LogoLittle, LogoBig, Tax, etc). No arranque da App irias criar uma Collection de objectos Bank (estes objectos poderiam estar declarados num JSON ao qual farias Parse). Esta Collection funcionaria como DataSource para a GridView/AdaptiveGridView.
Logo aqui terias um maior automatismo na apresentação dos bancos. "Amanhã" querias adicionar um novo banco e bastaria adicionares no JSON uma nova entrada e gerar um novo *.appx.
Contudo, mesmo aqui ainda podes melhorar mais ... podes ter a possibilidade de alterar os Bancos de forma remota sem teres que gerar um novo *.appx. Basta adicionar à lógica anterior um passo: ir buscar o JSON a um endereço fixo remoto em tua posse que é descarregado para o cliente no momento do arranque da App e esta trabalharia posteriormente com os novos dados.
De forma a dar mais "vida" à página inicial poderias fazer com que cada Item da GridView (os botões dos Bancos) fosse um género de LiveTile apresentando mais informação que um mero Logo/Nome do Banco. Podias usar um RotatorTile (também presente no UWP Community Toolkit) ou uma Grid com Logo do Banco centrado, nome em baixo e num canto a taxa actual (ideias apenas). Já agora, os Templates dos Items podem eles também ter VisualStates podendo ter mais/menos informação e diferentes aspectos dependendo do seu próprio tamanho.
Relativamente às imagens (Logos), se conseguisses usar SVGs ou Paths para as desenhar iria melhorar a qualidade visual das mesmas. Dá para converter vectorizações em XAML.
Por fim, uma ideia relativamente à UX da App. Não sei se estás a usar ViewModels e Bindings, mas também podes fazer o seguinte subscrevendo o evento de alteração do conteúdo da TextBox ... será mesmo necessário carregar no botão "Calcular" para efectuar o cálculo?! Seria mais imediato o cálculo ser imediato à medida que um número é escrito.
Uma outra coisa, tenta adoptar logo que possas elementos do Fluent Design System. Não é que seja essencial, mas passa uma imagem positiva relativamente ao teu trabalho (preocupação em acompanhar as Guidelines do SO). Paralelamente tenta se possível testar a App numa Xbox One ... não é que a App seja necessária na consola, mas Why Not?!
(neste ponto sempre achei que essa decisão deve ser do Utilizador, não do Dev, e como a Framework dá-nos isso de borla, Why Not?!)
Continuação do óptimo trabalho. Alguma coisa é só dizeres