O que é a Plataforma Kony: Dicas e Portabilidade
Quando a Kony está sendo utilizada para o desenvolvimento de uma aplicação, quase sempre a intenção é criar versões do app para diferentes sistemas operacionais. Este é, inclusive, um dos principais atrativos da plataforma.
A portabilidade, contudo, pode ser muito trabalhosa, a menos que alguns cuidados sejam tomados. Algumas das dores de cabeça mais comuns que ocorrem durante a portabilidade podem ser evitadas ou solucionadas com as dicas de portabilidade listadas neste post.
Sumário
CONSTRUÇÃO DO LAYOUT: O PERIGOSO FORK DE SKINS
Talvez a grande maioria dos problemas encontrados durante a portabilidade da aplicação estejam relacionados com o layout. Alguns exemplos são:
- Letras grandes, pequenas, com cores e fontes diferentes do esperado;
- Botões azuis, vermelhos, tão diferentes daqueles presentes na versão original;
- Componentes distorcidos;
Estes e vários outros problemas podem ser causados e/ou solucionados pela mesma funcionalidade: o fork de skins – o chaveamento do estilo dos componentes de acordo com o sistema operacional.
Este chaveamento pode, muitas vezes, ser não intencional e provocar comportamentos inesperados, como os listados acima. Para evitar que isso ocorra é preciso conferir, sempre que se estiver criando uma skin que não seja específica para nenhuma plataforma, se a propriedade Platform está definida como Common. A Figura 1 destaca a propriedade mencionada.
Muitas vezes a propriedade é alterada sem que o usuário perceba, chaveando a skin para um sistema específico. Quando a aplicação é portada para outro sistema, aquela skin não é utilizada, fazendo com que o componente fique com o layout distorcido.
Em outras situações, o chaveamento de skins pode ser a solução para problemas visuais de portabilidade. Um exemplo comum é o tamanho das fontes. Muitas vezes, as letras ficam muito grandes ou pequenas em diferentes sistemas operacionais. A solução é chavear a skin daquele componente, definindo um tamanho específico para cada sistema.
O PROBLEMA DAS FONTES
Um problema que pode causar muita dor de cabeça é quando algum sistema operacional não reconhece uma fonte que está sendo utilizada pela aplicação. A fonte foi importada, está selecionada para a plataforma em questão, mas simplesmente não aparece quando o app está rodando.
A solução para este problema é bastante simples, mas não tão intuitiva: O arquivo da fonte deve ser renomeado de acordo com uma nomenclatura específica, levando em conta o nome e o tipo da fonte.
Por exemplo: Deseja-se utilizar uma fonte em negrito chamada Minha Fonte. O arquivo da fonte deve ter o nome MinhaFonte-Bold. Se um nome diferente for utilizado – como minhafonte-bold, minhafontebold ou minha_fonte_bold – a fonte não será reconhecida em todos os sistemas operacionais.
CUIDADO COM AS FFIs (FOREIGN FUNCTION INTERFACES)
Às vezes vale a pena reforçar o óbvio. As FFIs são módulos desenvolvidos em linguagem nativa, utilizadas para adicionar ao app alguma funcionalidade que o Kony não disponibiliza. Sendo assim, as FFIs devem ser desenvolvidas para cada um dos sistemas operacionais que deverão suportar a aplicação.
Por este motivo, sempre que se deseje fazer uso de uma FFI, é preciso verificar de antemão se as APIs nativas que ela utiliza existem e são acessíveis em todos os sistemas operacionais.
Por exemplo: A API nativa de speech-to-text (reconhecimento de voz) pode ser utilizada livremente na plataforma Android. Já no iOS, as aplicações não possuem permissão completa para utilizar este componente. Imagina-se, então, o quão grande será a dor de cabeça de um desenvolvedor que projetou um app que utiliza speech-to-text e só descobriu este “detalhe” no momento de efetuar a portabilidade para o iOS.
AINDA NÃO ESTÁ FUNCIONANDO?
É possível que o comportamento de algumas APIs seja diferente em cada sistema operacional. Um exemplo é a API de notificações push. Também é possível que existam bugs específicos para determinada plataforma, ou até mesmo que a intenção do desenvolvedor seja obter um resultado diferente para cada sistema.
Nestes casos, sempre se pode recorrer ao pré-compilador. O Kony Studio permite que sejam inseridos trechos no código que só serão compilados para uma plataforma específica. Isto pode ser feito com //#ifdef como exemplificado a seguir:
No exemplo acima, o primeiro alerta é compilado para dispositivos Android enquanto o segundo alerta é compilado para dispositivos iOS. Estes //#ifdef podem ser inseridos em qualquer parte dos módulos javascript, permitindo o chaveamento do código em função do sistema operacional.
Com estas dicas em mente, a portabilidade da aplicação fica mais rápida e menos dolorosa, permitindo que mais tempo seja gasto desenvolvendo o app do que portando ele para outras plataformas. Agora, se estiver interessado em fazer seu aplicativo se comunicar com o mundo por meio de serviços, veja como funciona aqui. Ainda tem alguma dúvida sobre portabilidade e desenvolvimento mobile? Entre em contato com a gente.
Por: Silvério Vale
Revisão: Jéssica Saliba
Desenvolvimento de Software
Confira outros artigos
Testes end-to-end: sucesso na implementação da automação
Hoje, como você garante a entrega de valor, a confiabilidade e a eficiência do seu projeto? Com o intuito de responder a essa questão crucial, uma das melhores respostas é a automação de testes end-to-end. Muitas pessoas, principalmente nossos clientes, tendem a imaginar que automação de testes é apenas mais um tipo de teste de […]
Desenvolvimento de Software
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software