Eu gostaria de desenvolver um aplicativo Android (bastante simples) para ser distribuído via Play Store. Eu gostaria de fazer isso completamente em python. No entanto, a pesquisa online não me esclareceu muito: a maioria dos comentários está desatualizada (> 1 ano de idade, e eu sinto que pode haver uma melhor integração do python desde então) ou eles falam sobre como executar o python no Android (por exemplo, aqui ).
Portanto, estou procurando informações sobre as questões:
- é viável desenvolver um aplicativo totalmente em python - e quais são as ferramentas para fazer isso? (Por exemplo, Kivy é recomendável?)
- em caso afirmativo: quais são os melhores ambientes de software para implementar isso? (Tentei sem sucesso usar o Android Studio, mas não consegui descobrir uma maneira de executar o código Python lá.)
Eu sou muito novo no desenvolvimento de aplicativos e apreciaria muito qualquer sugestão de fazer isso em python em vez de em Jave etc., que ainda não sei.
Muito obrigado pela ajuda antecipada.
Respostas:
Para responder à sua primeira pergunta: sim, é viável desenvolver um aplicativo Android em Python puro , para isso eu sugiro que você use o BeeWare , que é apenas um conjunto de ferramentas Python , que funcionam muito bem em conjunto e permitem desenvolver aplicativos nativos da plataforma em python.
confira este vídeo do criador do BeeWare que explica e demonstra perfeitamente sua aplicação
Como funciona
A linguagem de implementação preferida do Android é Java - portanto, se você deseja escrever um aplicativo Android em Python, precisa ter uma maneira de executar seu código Python em uma máquina virtual Java. Isso é o que VOC faz. VOC é um transpiler - ele pega o código-fonte Python, compila-o para o bytecode CPython e então transpila esse bytecode para um bytecode compatível com Java. O resultado final é que seus arquivos de código-fonte Python são compilados diretamente em um arquivo Java .class, que pode ser empacotado em um aplicativo Android.
VOC também permite que você acesse objetos Java nativos como se fossem objetos Python, implemente interfaces Java com classes Python e subclasses de classes Java com classes Python. Usando isso, você pode escrever um aplicativo Android diretamente nas APIs nativas do Android.
Depois de escrever seu aplicativo Android nativo, você pode usar o Porta - arquivos para empacotar seu código Python como um aplicativo Android.
Porta - arquivos é uma ferramenta para converter um projeto Python em um aplicativo nativo autônomo. Você pode empacotar projetos para:
Você pode verificar este app Android Tic Tac Toe nativo escrito em Python, usando o pacote BeeWare. no GitHub
além das ferramentas BeeWare, você precisará ter um JDK e Android SDK instalado para testar a execução de seu aplicativo.
e para responder à sua segunda pergunta: um bom ambiente pode ser qualquer coisa com a qual você se sinta confortável, seja um editor de texto e uma linha de comando ou um IDE, se você está procurando um bom IDE de python, sugiro que experimente o Pycharm , ele tem uma edição comunitária que é gratuita, e possui um ambiente semelhante ao android studio, pelo fato de terem sido feitos pela mesma empresa.
Espero que tenha sido útil
fonte
Você pode tentar BeeWare - conforme descrito em seu site:
Dá o que você quer agora para escrever aplicativos Android em Python, além de ter a vantagem de não precisar aprender outra estrutura no futuro se acabar também querendo fazer algo em uma das outras plataformas listadas.
Aqui está o tutorial para aplicativos Android .
fonte
Existem dois concorrentes principais para aplicativos Python no Android
Chaquopy
https://chaquo.com/chaquopy/
Isso se integra com o sistema de construção do Android, fornece uma API Python para todos os recursos do Android. Para citar o site "A API Android completa e o kit de ferramentas de interface do usuário estão diretamente à sua disposição."
Beeware (kit de ferramentas de widgets Toga)
https://pybee.org/
Isso fornece um transpiler de múltiplos alvos, suporta muitos alvos, como Android e iOS. Ele usa um kit de ferramentas de widget genérico (toga) que mapeia para as chamadas da interface do host.
Qual?
Ambos são projetos ativos e suas contas no github mostram uma boa quantidade de atividades recentes.
Beeware Toga, como todas as bibliotecas de widgets, é bom para obter o básico para várias plataformas. Se você tem designs básicos e deseja expandir para outras plataformas, isso deve funcionar bem para você.
Por outro lado, Chaquopy é muito mais preciso em seu mapeamento da API python para o Android. Ele também permite que você combine Java, útil se você quiser usar código existente de outros recursos. Se você tem metas de design restritas e deseja direcionar predominantemente o Android, este é um recurso muito melhor.
fonte
Android, Python!
Quando vi essas duas palavras-chave juntas em sua pergunta, Kivy foi a primeira que me veio à mente.
Antes de entrar no desenvolvimento nativo do Android em Java usando o Android Studio, experimentei o Kivy . É simplesmente incrível. Aqui estão algumas vantagens que eu poderia descobrir.
Simples de usar
Com o básico do python, você não terá problemas para aprender.
Boa comunidade
Está bem documentado e tem uma comunidade ótima e ativa.
Plataforma cruzada.
Você pode desenvolver coisas para Android, iOS, Windows, Linux e até mesmo Raspberry Pi com este único framework. Código aberto.
É um software livre
Pelo menos alguns de seus concorrentes (plataforma cruzada) querem que você pague uma taxa se quiser uma licença comercial.
Suporte gráfico acelerado
O motor gráfico de Kivy construído sobre OpenGL ES 2 o torna adequado para softwares que requerem renderização gráfica rápida, como jogos.
Agora, entrando na próxima parte da pergunta, você não pode usar o IDE do Android Studio para Kivy. Aqui está um guia detalhado para configurar o ambiente de desenvolvimento.
fonte