Técnicas de programação para o desenvolvimento de aplicações móveis
MobileTogether é uma plataforma de desenvolvimento de aplicações móveis de fácil utilização e com pouca necessidade de código, que permite criar aplicações sofisticadas para todas as plataformas a partir de um único projeto.
A abordagem "low-code" não significa "sem código". Um especialista em bases de dados pode começar com algumas consultas SQL e utilizar a interface de arrastar e soltar do MobileTogether para criar uma aplicação com tabelas e gráficos elegantes, que permitem apresentar dados empresariais atualizados. Por outro lado, os desenvolvedores experientes frequentemente utilizam técnicas de programação familiares no desenvolvimento móvel para criar soluções MobileTogether altamente complexas e elegantes.
Os programadores definem funções de utilizador, parâmetros, variáveis, loops ou estruturas de dados complexas, quando essa é a ferramenta mais adequada para a tarefa. O MobileTogether permite controlar de forma rápida e fácil todas as funcionalidades do dispositivo – câmara, microfone, GPS, SMS, reconhecimento de escrita manual e muito mais. O MobileTogether ajuda a concretizar a sua visão rapidamente e a criar aplicações móveis realmente inovadoras, com o potencial de se tornarem virais.
A MobileTogether tem como objetivo otimizar a execução das tarefas, sem impor restrições à forma como o utilizador as realiza. Vamos analisar alguns exemplos de técnicas de programação utilizadas em aplicações MobileTogether.

O MobileTogether Designer é a ferramenta para computador para criar aplicações móveis compatíveis com diferentes plataformas. É gratuito e inclui uma coleção de aplicações de exemplo que pode analisar detalhadamente para entender como foram construídas.
Funções do utilizador numa aplicação de entrega de encomendas
O exemplo "Entrega de Pacotes" é uma simulação completa de uma aplicação real de entrega de encomendas. O utilizador desempenha o papel de um motorista de uma empresa de entregas, responsável por transportar encomendas de um armazém no estado de Nova Jérsei para diversos destinos na cidade de Nova Iorque, utilizando o GPS como guia. Pode executar a aplicação na janela do Simulador do Designer para visualizar uma representação realista do percurso até cada destino. Se executar a aplicação "Entrega de Pacotes" no seu próprio telemóvel, o dispositivo utilizará a funcionalidade GPS integrada. No entanto, se não estiver fisicamente localizado em Nova Iorque, a aplicação mostrará rotas longas e estimativas de tempo para chegar a cada destino! Pode simplesmente clicar no botão "Estou aqui" na aplicação para ignorar o rastreamento da rota e avançar diretamente para o destino.
O aplicativo "Entrega de Pacotes" foi desenvolvido por um programador experiente e depende muito das funções do utilizador. Por exemplo, no início do dia, o aplicativo mostra ao utilizador uma lista de entregas pendentes. À medida que as entregas são efetuadas, o utilizador pode voltar a esta página para ver o que ainda precisa de ser feito, como ilustrado nas imagens abaixo, capturadas num telemóvel Android:

A aplicação cria ambas as visualizações a partir de um único design de página, sendo a apresentação exata determinada pela análise das funções do utilizador. Eis uma visão da página no programa MobileTogether Designer:

O programador colocou duas funções para o utilizador nesta página: ParcialmenteConcluídos() e DestinosRestantes(). Sem aprofundar a análise, a minha hipótese é que o operador "SE" que precede a função ParcialmenteConcluídos() resulta num valor verdadeiro ou falso. Será que o transportador já entregou alguma coisa? E DestinosRestantes() deve ser a lista de todos os locais que ainda precisam de ser visitados.
Vamos executar a aplicação no simulador para verificar se estou correto. Aqui está a primeira visualização da lista de tarefas no simulador:

A execução aguarda um clique no botão "Iniciar Entrega!". Em vez de continuar, podemos clicar no botão "XPath" abaixo da secção "Fontes da Página" para analisar o funcionamento interno da aplicação. O botão "XPath" abre a janela abaixo, onde já selecionei a função "PartiallyFinishedDestinations()" na lista de Funções Definidas pelo Utilizador:

Agora, posso clicar no botão verde "Executar" ou no botão "Avaliador" na barra de ferramentas superior para avaliar a função:

O resultado da função utilizada pelo utilizador é "falso" – o motorista ainda não entregou nada. Ao repetir os mesmos passos para a função "RemainingDestinations()", obtive o seguinte resultado:

O resultado da função do utilizador RemainingDestinations() é uma lista em que cada elemento é uma estrutura de dados que contém todos os detalhes sobre o destino.
O programa MobileTogether Designer possui um item principal no menu dedicado às funções do utilizador:

É neste local que o programador definiu as funções do utilizador inicialmente, e onde podemos aceder agora para visualizar ou editar essas funções. A opção "Listar Utilizações de Todos..." gera um relatório na janela de mensagens.

Técnicas de programação no desenvolvimento móvel: Sub-rotinas com parâmetros
Os Grupos de Ações no MobileTogether são, essencialmente, sub-rotinas que recolhem uma série de ações que pode invocar sempre que precisar numa aplicação. Pode obter mais informações sobre Ações e Grupos de Ações ou ver uma demonstração em vídeo.
Tal como acontece com as sub-rotinas em qualquer linguagem de programação de alto nível, por vezes é mais eficiente passar os valores de entrada para um Grupo de Ações em tempo de execução como parâmetros. Por exemplo, vamos analisar uma aplicação chamada "Qualidade do Ar" que consulta serviços web do projeto "Índice Mundial da Qualidade do Ar" e que apresenta as medições de sensores espalhados pelo mundo.
A qualidade do ar é degradada por desastres naturais como incêndios florestais e erupções vulcânicas, por atividades industriais e comerciais em grande escala, e pela combinação de comportamentos individuais, como cozinhar, aquecer ambientes e conduzir veículos. As condições meteorológicas podem concentrar ou dispersar poluentes em qualquer local e em qualquer momento. A aplicação permite ao utilizador selecionar um local específico ou uma área, e, em seguida, apresenta as leituras mais recentes do índice de qualidade do ar. Esta aplicação foi desenvolvida por um programador amador.

A API do Índice de Qualidade do Ar Mundial utiliza consultas REST separadas para diferentes tipos de localização, e cada consulta retorna um conjunto de dados ligeiramente diferente. Uma característica comum é que a hora local de cada medição é apresentada como uma hora GMT com um ajuste. É necessário manipular estes valores para apresentar aos utilizadores a hora local correta.
Trabalhar com cálculos de datas e horas pode ser complicado! Confiem em mim se nunca tiveram que fazer isso sozinhos, ou leiam o nosso artigo sobre validação de transformações de dados. No entanto, esta é uma aplicação perfeita para um Grupo de Ações, que pode ser criado uma vez e utilizado em vários pontos do fluxo de trabalho. Se enviarmos os valores de hora e deslocamento como parâmetros, o grupo de ações só precisa de um conjunto de ações para calcular e formatar a hora local a partir de qualquer resposta de consulta.
Aqui está a definição do Grupo de Ações, no diálogo "Grupos de Ações" do Designer:

As definições dos parâmetros estão no topo, com os nomes "$time" e "$adj" atribuídos pelo programador. Como as caixas de "Opcional" não estão marcadas, ambos os parâmetros são obrigatórios sempre que o grupo de ações é chamado.
O programador incluiu mais etapas dentro do grupo de ações do que talvez se esperasse – descobriu-se que nem todas as zonas horárias diferem exatamente uma hora em relação ao Tempo Universal Coordenado (UTC). Por exemplo, Newfoundland, no Canadá, e Teerão, no Irão, têm diferenças de horas, com variações de mais ou menos 30 minutos!
Aqui está a função "Calc Local Time" chamada a partir de dentro de outro grupo de ações:

Esta é a última etapa antes de a aplicação carregar o mapa e a página de informações para exibir o índice de qualidade do ar (IQA) de uma cidade. Os parâmetros são transmitidos diretamente, referenciando o resultado da consulta da API, sem manipulações desnecessárias. Os parâmetros podem transmitir valores individuais, como demonstrado aqui, ou arrays, ou mapas. Pode utilizar parâmetros com grupos de ações, ou com subpáginas, modelos de controlo, ou para iniciar automaticamente outra aplicação ao fechar a atual.
Este artigo aborda apenas duas técnicas de programação para desenvolvimento móvel que pode utilizar com o MobileTogether. Utilize todas as suas competências e ferramentas para criar as aplicações mais eficientes no menor tempo possível! Consulte o nosso.. demonstrações em vídeo, mais aplicativos de exemplo, ou até mesmo o/a manual online Para uma visão completa de todas as informações, consulte o material disponível. Quando estiver pronto para começar e desenvolver as suas próprias aplicações móveis multiplataforma em tempo recorde, Descarregue o programa MobileTogether Designer.