ACOMPANHE-NOS     Campo Grande News no Facebook Campo Grande News no X Campo Grande News no Instagram Campo Grande News no TikTok Campo Grande News no Youtube
JUNHO, SEGUNDA  16    CAMPO GRANDE 24º

Artigos

Uma nova forma de desenvolvimento mobile

William Niemiec, Rafael Fernandes Borges e Érika Fernandes Cota (*) | 11/11/2022 13:30

A cada ano, o mercado de aplicações mobile cresce mais, movimentando bilhões de dólares. Essas aplicações podem ser de diversos tipos, como, por exemplo, de saúde, entretenimento, lazer e ensino. A criação dessas aplicações não é, contudo, uma tarefa simples, pois é necessário se desenvolver um código específico para cada plataforma de execução (como iOS e Android), e, o pior, códigos gerados para um sistema não podem ser reusados em outro sistema.

Existem duas abordagens para o desenvolvimento de aplicações mobile. Uma delas é a abordagem nativa, que utiliza ferramentas disponibilizadas pelas próprias fabricantes do sistema operacional. Como exemplo, podemos citar o Android Studio e o Xcode, usados para os sistemas Android e iOS, respectivamente. A abordagem nativa permite que os desenvolvedores explorem todo o potencial do dispositivo, além de serem aplicações otimizadas, visto que as ferramentas foram criadas especificamente para isso em uma plataforma bem definida pelo fabricante. Essa abordagem, entretanto, é custosa, pois exige desenvolvedores com conhecimento de cada plataforma a que se deseja dar suporte. Consequentemente, se uma empresa quer prover suporte a N plataformas, é necessário manter N equipes de desenvolvimento (assumindo que cada equipe tenha conhecimento de apenas uma plataforma).

A outra abordagem possível é chamada de cross-platform. Nessa abordagem, desenvolve-se código em uma plataforma intermediária, e ela será responsável por gerar aplicações para diferentes plataformas de execução. Assim, é necessário manter apenas uma equipe de desenvolvimento com conhecimento do ambiente cross-platform e, consequentemente, é menos custosa se comparada à abordagem nativa. Essa abordagem, porém, não é tão otimizada quanto a nativa, considerando que se está programando em uma linguagem mais genérica que a nativa. Existem diversas frameworks que utilizam essa abordagem, como React Native, Flutter e Ionic.

Apesar de apresentar diversas vantagens, a abordagem cross-platform traz dois principais problemas. Um deles é a dependência do programador com a framework escolhida: uma vez escolhida a framework, se porventura for necessário trocá-la por outra, o código da aplicação desenvolvido nela é descartado, e é necessário produzir um novo código. Ora, mas por que alguém iria querer trocar a framework de desenvolvimento mobile (como, por exemplo, trocar Flutter por Ionic)? Existem diversos possíveis motivos, incluindo a necessidade de uma framework mais eficiente ou mais segura. Um outro problema é a dificuldade de adicionar compatibilidade com uma nova plataforma mobile para a qual a framework não forneça suporte. Por exemplo, suponha que estamos usando uma framework que forneça suporte para gerar aplicações mobile para as plataformas X e Y. Se quisermos gerar uma versão da aplicação para uma plataforma Z, precisaríamos buscar uma framework que forneça suporte para ela e desenvolver um novo código.

A fim de resolver esses dois problemas, propusemos uma solução que torna o código da aplicação independente do framework de desenvolvimento mobile escolhida. A solução, chamada Mobilex, é uma framework de desenvolvimento que é ainda mais genérica do que uma framework de desenvolvimento cross-platform, pois utiliza uma linguagem web padronizada. Dessa forma, diminui-se ainda mais a necessidade de reescrita do código do aplicativo quando há mudanças na tecnologia de desenvolvimento. Na Mobilex, desenvolvedores programam o código da aplicação uma vez e escolhem qual framework de desenvolvimento cross-platform desejam usar. Caso essa framework seja trocada no futuro, o código da aplicação não sofrerá alterações, além de facilitar a geração de aplicações para novas plataformas de execução, visto que o uso de ferramentas que deem suporte a uma nova plataforma de execução é facilitado.

Por fim, a solução proposta reduz a curva de aprendizado ao optar por usar a linguagem web como base. Mobilex está disponível publicamente no GitHub sob a licença MIT. Trabalhos futuros incluem otimizações, prover suporte a novas frameworks de desenvolvimento mobile e adicionar compatibilidade com outras frameworks.

(*) William Niemiec é estudante de graduação no curso de Ciência de Computação.

(*) Rafael Fernandes Borges é estudante de graduação no curso de Ciência de Computação.

(*) Érika Fernandes Cota é professora associada no Instituto de Informática.

 

Os artigos publicados com assinatura não traduzem necessariamente a opinião do portal. A publicação tem como propósito estimular o debate e provocar a reflexão sobre os problemas brasileiros.

Nos siga no Google Notícias