Herramientas para ejecutar Python en Android

  • por

Python ha demostrado ser un lenguaje muy capaz – accesible para los recién llegados, pero potente en manos de los expertos. ¿Por qué no debería ser capaz de usar Python en todos los lugares en los que necesita decirle a un ordenador que haga algo? ¿Y no deberían tus herramientas explotar todas las capacidades de Python como lenguaje, y no sólo las partes que se adaptan bien a un enlace C?

La informática moderna no se desarrolla en una ventana de consola de 80×25. Ocurre en teléfonos, tabletas y máquinas de escritorio con ricas interfaces de usuario. ¿No deberías ser capaz de usar Python en todos esos lugares, y explotar las capacidades únicas de esas plataformas?

Los usuarios finales no deberían preocuparse por el lenguaje en el que están escritas sus herramientas. Y eso empieza por parecer y comportarse como herramientas completamente nativas. Aspecto nativo, comportamiento nativo, entregado de la forma en que se entrega una aplicación nativa. Por qué sus herramientas de Python no deberían encajar tan bien como una herramienta nativa?

Hay varias formas de usar Python en Android.

BeeWare es una colección de herramientas para construir interfaces de usuario nativas

Esto es lo que ofrece BeeWare. Herramientas para ayudarte a escribir código Python con una interfaz de usuario rica y nativa; y las bibliotecas y el código de soporte necesarios para que ese código funcione en iOS, Android, macOS, Linux, Windows, tvOS, y más.

Código abierto

El proceso de desarrollo de código abierto ha demostrado ser la forma más fiable de desarrollar software robusto y fiable. Por eso toda la suite de herramientas de BeeWare tiene licencia BSD, y está disponible para que todos la usen y modifiquen.

Chaquopy

Chaquopy es un plugin para el sistema de construcción basado en Gradle de Android Studio.

Chaquopy te permite entremezclar libremente Java y Python en tu aplicación, utilizando el lenguaje que mejor se adapte a tus necesidades:

  • Con la API de Python , puedes escribir una app parcial o totalmente en Python. La API completa de Android y el conjunto de herramientas de interfaz de usuario están directamente a tu disposición.

Chaquopy funciona dentro del sistema de construcción estándar de Android:

  • Si utilizas Android Studio, puedes empezar a utilizar Chaquopy en 5 minutos sin cambiar tu proceso de desarrollo actual.
  • La descarga y la instalación están automatizadas a través de Gradle.
  • Para empezar:

    • Prueba la app de demostración para Python 2 o Python 3.
    • Explora el código fuente de ejemplo en GitHub.
    • O consulta la documentación.
      • Kivy

        Kivy es un kit de herramientas de interfaz de usuario basado en OpenGL multiplataforma.

        Puedes ejecutar aplicaciones Kivy en Android en (más o menos) cualquier dispositivo con OpenGL ES 2.0 (Android 2.2 como mínimo). Esto es estándar en los dispositivos modernos; Google informa que el requisito lo cumple el 99,9% de los dispositivos.

        Los APKs de Kivy son aplicaciones normales de Android que puedes distribuir como cualquier otra, incluso en tiendas como la Play store. Se comportan correctamente cuando se pausan o reinician, pueden utilizar los servicios de Android y tienen acceso a la mayor parte de la API normal de java, como se describe a continuación.

        Sigue las siguientes instrucciones para aprender a empaquetar tu aplicación para Android, depurar tu código en el dispositivo y utilizar las API de Android, como por ejemplo para la vibración y la lectura de sensores.

        El proyecto Kivy proporciona todas las herramientas necesarias para empaquetar su aplicación en Android, incluyendo la construcción de su propio APK independiente que puede ser distribuido en un mercado como la tienda Play. Esto se cubre completamente en la documentación Crear un paquete para Android.

        Usando las APIs de Android

        Aunque Kivy es un framework de Python, el proyecto Kivy mantiene herramientas para utilizar fácilmente las APIs normales de java, para todo, desde la vibración a los sensores hasta el envío de mensajes a través de SMS o correo electrónico.

        Para los nuevos usuarios, se recomienda utilizar Plyer. Para un acceso más avanzado o para las APIs que no están envueltas actualmente, puedes usar Pyjnius directamente. Kivy también proporciona un módulo android para la funcionalidad básica de Android.

        El código y los ejemplos de Android aportados por los usuarios están disponibles en la wiki de Kivy.

        Pyqtdeploy

        Pyqtdeploy es una herramienta para desplegar aplicaciones PyQt. Soporta el despliegue en plataformas de escritorio (Linux, Windows y OS X) y en plataformas móviles (iOS y Android).

        pyqtdeploy funciona tomando los módulos individuales de una aplicación PyQt, congelándolos, y luego colocándolos en un archivo de recursos Qt que es convertido a código C++ por la herramienta rcc de Qt. La biblioteca estándar de Python se maneja de la misma manera.

        pyqtdeploy también genera un archivo Qt .pro que describe todo el código C++ generado. A partir de esto se utiliza la herramienta qmake de Qt para generar un Makefile específico de la plataforma que luego generará un único ejecutable. Otras herramientas específicas de Qt y/o de la plataforma se pueden utilizar para convertir el ejecutable en un paquete desplegable específico de la plataforma.

        pyqtdeploy requiere que PyQt5 y Python v3.2 o posterior estén instalados.

        Las aplicaciones PyQt4 y PyQt5 escritas con Python v2.6 y posterior y Python v3.3 y posterior son compatibles.

        pyqtdeploy está liberado bajo la licencia BSD.

        QPython

        QPython es un motor de scripts y entorno de desarrollo en el dispositivo.

        En la mayoría de los casos, el script puede hacer sus trabajos tan bien como la aplicación nativa. Ahora puedes hacerlo con la ayuda de QPython.

        QPython es un motor de scripts que ejecuta programas de Python en dispositivos android. También puede ayudar a los desarrolladores a desarrollar aplicaciones androides.

        QPython incluye un completo kit de desarrollo que le ayuda a desarrollar programas con el móvil proporciona la consola regular de Python

        SL4A

        SL4A (Scripting Layer for Android), originalmente llamado ASE (Android Scripting Environment), es un conjunto de «fachadas» que exponen un subconjunto muy simplificado de la API de Android.

        SL4A lleva los lenguajes de scripting a Android permitiendo editar y ejecutar scripts e intérpretes interactivos directamente en el dispositivo Android. Estos scripts tienen acceso a muchas de las API disponibles para las aplicaciones Android completas, pero con una interfaz muy simplificada que facilita la realización de las tareas.

        Los scripts se pueden ejecutar de forma interactiva en un terminal y en segundo plano. Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, y shell son actualmente compatibles, y estamos planeando añadir más. Vea la lista de reproducción de videos de ayuda de SL4A en YouTube para varias demostraciones de las características de SL4A.

        SL4A está diseñado para los desarrolladores y es un software de calidad alfa.

        PySide

        PySide (el enlace de Python para el kit de herramientas Qt) tiene algún soporte preliminar para Android.

        El proyecto PySide proporciona bindings de Python con licencia LGPL-con licencia Python para Qt 4. También incluye una completa cadena de herramientas para generar rápidamente bindings para cualquier jerarquía de clases C++ basada en Qt. Los bindings Qt de PySide permiten tanto el desarrollo de software libre de código abierto como el propietario y, en última instancia, pretenden dar soporte a las plataformas Qt.

        8.Termux

        Termux es un emulador de terminal Android y una aplicación de entorno Linux que funciona directamente sin necesidad de rootear o configurar. Un sistema base mínimo se instala automáticamente – los paquetes adicionales están disponibles utilizando el gestor de paquetes APT.

        Google Play

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *