Refatoração de aplicações móveis
As melhores ideias para novas funcionalidades e outras melhorias em aplicações de software existentes geralmente surgem de utilizadores entusiasmados. A implementação de novas funcionalidades cria oportunidades para a otimização de aplicações móveis. Depois de vários anos a utilizar a aplicação MobileTogether Solar Data Tracking para monitorizar o desempenho de um sistema solar instalado no telhado, a minha amiga Casey teve uma sugestão.
A aplicação apresentava uma página com gráficos e tabelas para reportar a produção mensal ao longo de um ano, e outra página para reportar a produção diária dos últimos 30 dias. Os botões de navegação em cada página permitiam alternar facilmente entre as diferentes visualizações. A sugestão de Casey era rever a aplicação para colocar todos os gráficos e tabelas numa única página. Com o tempo, os utilizadores de dispositivos móveis habituaram-se a aplicações que apresentam dados em páginas longas, que podem ser visualizadas deslizando o dedo. Uma aplicação com uma única página pareceria mais fluida e moderna.

O Solar Data Tracker é uma aplicação para Android, iOS e Windows, desenvolvida para diferentes plataformas a partir de uma única fonte, utilizando o Altova MobileTogether Designer. A combinação dos relatórios numa única página também proporcionou a oportunidade de refatorar a implementação, simplificando a aplicação. O MobileTogether Designer é uma ferramenta de arrastar e soltar, com suporte para copiar e colar elementos de controlo da aplicação, e oferece ferramentas para refatorar aplicações móveis, identificando o uso de variáveis locais e globais, funções, grupos de ações, folhas de estilo, fontes de dados externas, e muito mais. Todas estas funcionalidades simplificaram significativamente a revisão.
Aqui está uma comparação lado a lado da página do relatório mensal de produção solar e da página do relatório diário, como aparecem num telemóvel Android:
![[Pasted image 20250224145704.png]]
E aqui está a nova versão em página única, com todos os dados apresentados numa só página, tal como se vê ao navegar num iPhone:
![[Pasted image 20250224145734.png]] O botão "Adicionar nova fatura" que se encontra no centro, acima, era anteriormente o final da página do relatório mensal. Agora, o relatório continua de forma contínua para os dados diários. Adicionámos uma indicação na parte inferior para sinalizar o fim da página.
Os passos para criar a nova versão no programa MobileTogether Designer eram simples:
Copie os elementos de design da página do relatório diário e cole-os no final da página mensal
Remova os botões de navegação de página desnecessários
Revise e simplifique as etiquetas dos cabeçalhos
Redefina a tabela de dados diários para remover a funcionalidade de rolagem
Elimine a página antiga do relatório diário da hierarquia de fluxos de trabalho
O programa MobileTogether Designer inclui uma ferramenta de validação para detetar erros de lógica ou avisos, e um botão "Desfazer" que permite voltar atrás em cada alteração, para identificar precisamente qual modificação poderá ter causado o problema.
Também precisamos rever um grupo de ações. Quando o utilizador adiciona uma nova leitura diária ou informações constantes numa fatura de uma empresa de eletricidade, os gráficos também precisam de ser atualizados com os novos dados. A implementação original utilizava grupos de ações separados para atualizar os gráficos em cada página. Podemos abrir a caixa de diálogo do grupo de ações e adicionar ações a um grupo de ações existente para atualizar também os gráficos diários.

Também alterámos o nome do grupo de ações para que este descreva melhor as suas funcionalidades. Quando alteramos o nome do grupo de ações na janela "Grupos de Ações", o ambiente de desenvolvimento atualiza automaticamente o nome em todos os locais onde o grupo de ações é utilizado.
A janela do simulador MobileTogether, integrada, executa instantaneamente a solução, permitindo-nos testar a lógica, visualizar a interface de utilizador tal como aparecerá numa variedade de dispositivos Android, iOS, Windows e outros, e analisar as alterações nos dados do fluxo de trabalho durante a execução. O simulador também inclui funcionalidades de depuração abrangentes para uma observação detalhada e rastreamento do comportamento da execução.
O menu "Refatorar" contém comandos que listam as utilizações de vários componentes de design ou elementos que não são utilizados em nenhuma parte da aplicação.

A lista de grupos de ação inclui o grupo original que atualizava os gráficos diários de produção. Como a página do relatório diário já não faz parte da aplicação, esse grupo de ação nunca mais será necessário e também pode ser eliminado.

Implementámos o novo sistema de monitorização de dados móveis, e a Casey demonstrou-o com entusiasmo numa exposição de carros elétricos, num parque com fraca cobertura de telemóveis e sem acesso à rede Wi-Fi.
Experimente todas as funcionalidades do MobileTogether para refatorar aplicações móveis, descarregando o MobileTogether Designer, que é gratuito.