Aplicação Android completamente em python [fechado]
Eu gostaria de desenvolver um (bastante simples) aplicativo android para ser distribuído através da Play Store. Gostaria de o fazer completamente em python. No entanto, a pesquisa online não me esclareceu: a maioria dos comentários ou estão desatualizados (>1 ano de idade, e eu sinto que pode haver uma melhor integração do python desde então) ou eles falam sobre executar python em android (por exemplo aqui).
Por isso, estou à procura de informações sobre as perguntas:-
É isso? exequível para desenvolver um aplicativo completamente em python-e quais são as ferramentas para fazê-lo? (Por exemplo, Kivy é recomendável?)
- Em caso afirmativo: quais são os melhores ambientes de software para implementar isto? (Eu tentei sem sucesso usar o Android Studio, mas não consegui descobrir uma maneira de executar o código python lá.)
sou muito novo no desenvolvimento de aplicativos e gostaria muito de qualquer pista de fazer isso em python, em vez de em Jave etc. o que ainda não sei.
Muito obrigado pela ajuda. avancar.4 answers
Para responder à sua primeira pergunta: Sim, é viável desenvolver uma aplicação android em python puro , para o conseguir sugiro que use BeeWare , que é apenas um pacote de ferramentas python, que funcionam muito bem e que lhe permitem desenvolver aplicações nativas de plataforma em python.
Checkout Este vídeo pelo criador do BeeWare que explica e demonstra perfeitamente a sua aplicação
Como é obrasA linguagem preferida de implementação do Android é o Java - por isso, se quiser escrever uma aplicação Android em Python, precisa de ter uma forma de executar o seu código Python numa máquina virtual Java. Isto é o que VOC faz. VOC é um transpilador - ele pega o código fonte Python, compila-o para CPython Bytecode, e então transpila esse bytecode para bytecode compatível com Java. O resultado final é que seus arquivos de código fonte Python são compilados diretamente para um Java .ficheiro da classe, que pode ser embalado em uma aplicação Android.
O VOC também lhe permite aceder a objectos Java nativos como se fossem objectos Python, implementar interfaces Java com classes Python e classes Java subclasse com classes Python. Usando isso, você pode escrever uma aplicação Android diretamente contra o Android APIs nativo.
Depois de ter escrito a sua aplicação Android nativa, pode usar a pasta para embalar o seu código Python como uma aplicação Android.
A pasta é uma ferramenta para converter um projecto Python numa aplicação nativa independente. Você pode empacotar projetos para:
- Mac
- janelas
- Linux
- iPhone / iPad Andróide
- AppleTV TvOS.
Você pode verificar este Android nativo aplicação Tic Tac Toe escrito em Python, usando o pacote BeeWare. em GitHub
Além das ferramentas BeeWare, você vai precisar de um JDK e Android SDK instalado para testar a sua aplicação.
E para responder a sua segunda pergunta: um bom ambiente, que pode ser qualquer coisa que você estiver confortável com o ser é um editor de texto e uma linha de comando, ou um IDE, se você está procurando uma boa python IDE sugiro que você tente Pycharm, tem um community edition, que é gratuito, e tem um ambiente similar como o android studio, devido ao fato de que foram feitos pela mesma empresa.
Espero que tenha sido útil.Pode tentar BeeWare - conforme descrito no seu site:
Escreva seus aplicativos em Python e os libere em iOS, Android, Windows, MacOS, Linux, Web e tvOS usando interfaces de usuário ricas e nativas. Uma base de dados. Múltiplas aplicações.
Dá-lhe vontade de Agora escrever aplicativos Android em Python, além tem a vantagem de que você não vai precisar de aprender mais um framework no futuro se você acabar também querendo fazer algo em um dos outros listados plataforma.
Aqui está o Tutorial para aplicativos Android .
Chaquopy
Isto integra-se com o sistema de compilação Android, que fornece uma API Python para todas as funcionalidades do android. Para citar o site "a API Android completa e interface de usuário toolkit estão diretamente à sua disposição."
Beeware (Toga widget toolkit)
Isto fornece um transpilador multi-alvo, suporta muitos alvos, como Android e iOS. Ele usa um widget toolkit Genérico (toga) que mapeia para as chamadas da interface da máquina.
Qual Deles?Ambos são projectos activos e as suas contas do github mostram uma grande parte da actividade recente.
O Beeware Toga como todas as bibliotecas de elementos gráficos é bom para obter o básico para várias plataformas. Se você tem projetos básicos, e um desejo de expandir para outras plataformas isso deve funcionar bem para você.
Por outro lado, o Chaquopy é um muito mais preciso em seu mapeamento da API python para Android. Ele também permite que você se misture em Java, útil se você quiser usar o código existente a partir de outros recursos. Se você tem alvos de design estritos, e predominantemente quer atingir Android este é um recurso muito melhor.Andróide, Python !
Quando vi estas duas palavras-chave juntas na tua pergunta, Kivy foi o que me veio à cabeça primeiro.Antes de vir para o desenvolvimento Android nativo em Java usando Android Studio, eu tinha tentado Kivy . É fantástico. Aqui estão algumas vantagens que eu poderia descobrir.
Simples de usar
Boa comunidade
Cross platform.
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 dos seus concorrentes (Cross platform) querem que você pague uma taxa se quiser uma licença comercial.
gráficos acelerados apoio
O motor gráfico do Kivy sobre o OpenGL ES 2 torna-o adequado para softwares que exigem renderização gráfica rápida, como jogos.
Agora passando à próxima parte da pergunta, você não pode usar Android Studio IDE para Kivy. Aqui está um guia detalhado para a criação do ambiente de desenvolvimento.