Me gustaría desarrollar una aplicación de Android (bastante simple) para distribuirla a través de Play Store. Me gustaría hacerlo completamente en python. Sin embargo, la investigación en línea no me ha aclarado del todo: la mayoría de los comentarios están desactualizados (> 1 año, y creo que podría haber una mejor integración de python desde entonces) o hablan de ejecutar python en Android (por ejemplo , aquí ).
Por lo tanto, estoy buscando información sobre las preguntas:
Soy bastante nuevo en el desarrollo de aplicaciones y agradecería mucho cualquier pista para hacer esto en python en lugar de en Jave, etc., que aún no sé.
Para responder a su primera pregunta: sí, es factible desarrollar una aplicación de Android en Python puro , para lograrlo, le sugiero que use BeeWare , que es solo un conjunto de herramientas de Python , que funcionan muy bien juntas y le permiten desarrollar aplicaciones nativas de la plataforma en python.
mira este video del creador de BeeWare que explica y demuestra perfectamente su aplicación
El lenguaje de implementación preferido de Android es Java, por lo que si desea escribir una aplicación de Android en Python, debe tener una forma de ejecutar su código Python en una máquina virtual Java. Esto es lo que hace VOC . VOC es un transpilador: toma el código fuente de Python, lo compila en CPython Bytecode y luego transpila ese código de bytes en un código de bytes compatible con Java. El resultado final es que sus archivos de código fuente de Python se compilan directamente en un archivo .class de Java, que se puede empaquetar en una aplicación de Android.
VOC también le permite acceder a objetos nativos de Java como si fueran objetos de Python, implementar interfaces de Java con clases de Python y crear subclases de clases de Java con clases de Python. Con esto, puede escribir una aplicación de Android directamente en las API nativas de Android.
Una vez que haya escrito su aplicación nativa de Android, puede usar Briefcase para empaquetar su código de Python como una aplicación de Android.
Briefcase es una herramienta para convertir un proyecto de Python en una aplicación nativa independiente. Puede empaquetar proyectos para:
Puede consultar esta aplicación nativa de Android Tic Tac Toe escrita en Python, utilizando la suite BeeWare. en GitHub
Además de las herramientas de BeeWare, deberá tener un JDK y un SDK de Android instalados para probar la ejecución de su aplicación.
y para responder a su segunda pregunta: un buen entorno puede ser cualquier cosa con la que se sienta cómodo, ya sea un editor de texto y una línea de comandos, o un IDE, si está buscando un buen IDE de Python, le sugiero que pruebe Pycharm , tiene una edición comunitaria que es gratuita y tiene un entorno similar al de Android Studio, debido al hecho de que fueron creados por la misma empresa.
Espero que esto haya sido útil.
Puede probar BeeWare , como se describe en su sitio web:
Escriba sus aplicaciones en Python y publíquelas en iOS, Android, Windows, MacOS, Linux, Web y tvOS utilizando interfaces de usuario nativas y enriquecidas. Una base de código. Múltiples aplicaciones.
Le da lo que quiere ahora para escribir aplicaciones de Android en Python, además tiene la ventaja de que no necesitará aprender otro marco en el futuro si termina queriendo hacer algo en una de las otras plataformas enumeradas.
Aquí está el tutorial para aplicaciones de Android .
¡Android, Pitón!
Cuando vi estas dos palabras clave juntas en su pregunta, Kivy es la primera que me vino a la mente.
Antes de llegar al desarrollo nativo de Android en Java usando Android Studio, probé Kivy . Simplemente increíble. Aquí hay algunas ventajas que pude descubrir.
Fácil de usar
Con los conceptos básicos de python, no tendrá problemas para aprenderlo.
Buena comunidad
Está bien documentado y tiene una gran comunidad activa.
Plataforma cruzada.
Puede desarrollar cosas para Android, iOS, Windows, Linux e incluso Raspberry Pi con este marco único. Fuente abierta.
Es un software gratis
Al menos algunos de sus competidores (plataforma cruzada) quieren que pague una tarifa si desea una licencia comercial.
Soporte de gráficos acelerados
El motor de gráficos de Kivy construido sobre OpenGL ES 2 lo hace adecuado para software que requiere una representación gráfica rápida, como los juegos.
Ahora, al pasar a la siguiente parte de la pregunta, no puede usar Android Studio IDE para Kivy. Aquí hay una guía detallada para configurar el entorno de desarrollo.