No futuro, desenvolvedores poderão ter mais uma opção de linguagem de programação para criar apps para Android: Python, uma das linguagens mais populares no mercado.

Esse é o objetivo do projeto BeeWare, que visa criar um ambiente para que apps escritos em Python possam rodar no iOS, Android, Windows, macOS, tvOS, Linux ou navegadores, usando a interface nativa de cada plataforma. Desta forma, desenvolvedores teriam de manter apenas uma base de código, independente do sistema operacional.

Um dos desafios é portar o interpretador Python, conhecido como CPython, para o Android. Segundo A. Jesse Jiryu Davis, engenheiro da MongoDB e colaborador do projeto Python, “para quem programa regularmente em Python, o ambiente móvel é um planeta alienigena”, afirma. “Não há subprocessos, e sockets, pipes e sinais se comportam de forma diferente do que em um Unix comum. E muitas chamadas de sistema são proibidas”.

No ano passado a Python Software Foundation deu à BeeWare um subsídio de US$ 50 mil (quase R$ 300 mil) para adaptar suas ferramentas para o Android, com a exigẽncia de que o interpretador Python fosse compatível com aparelhos rodando desde a versão 4.4 do sistema operacional.

publicidade

Outro desafio é o tamanho dos aplicativos, já que cada um teria de incluir uma cópia do interpretador e das bibliotecas usadas. Uma solução proposta seria a criação de um “kernel” Python compacto, sem as bibliotecas padrão, e um mecanismo para os desenvolvedores adicionaram pacotes com apenas as bibliotecas necessárias para seu app.

Apesar das dificuldades, progresso está sendo feito. No fim de fevereiro Russel Keith-Magee, da BeeWare, postou no blog do projeto um vídeo demonstrando um app Python rodando no Android.

De acordo com Ned Deily, desenvolvedor na Python Software Foundation, adicionar suporte a plataformas móveis ainda exigirá muito mais “dinheiro e mão de obra” do que muitas outras iniciativas da fundação.

Além disso, há um “problema tostines”, que Davis explica: “não há financiamento corporativo para o Python em plataformas móveis porque Python não suporta plataformas móveis, então não há ninguém que dependa deste recurso e esteja motivado o suficiente para financiá-lo”.

Fonte: ZDNet