O que é a Plataforma Kony: Dicas e Portabilidade

Por dti digital|
Atualizado: Jul 2023 |
Publicado: Set 2015

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.

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.

Figura 1 - Skin Platform
Figura 1 – Skin Platform

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:

kon2

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

Quer saber mais?

Desenvolvimento de Software

Confira outros artigos

WhatsApp Business na sua estratégia: muito além de um chatbot

Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]

Desenvolvimento de Software

inteligencia-artificial-ia-como-otimizacao-para-grandes-empresas

A Inteligência Artificial (IA) e otimização operacional nas empresas

Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui!  2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]

Desenvolvimento de Software

Desenvolvimento Android e iOS

Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo

Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos.  Portanto, agora é a hora de explorar as oportunidades […]

Desenvolvimento de Software

Veja outros artigos de Desenvolvimento de Software