Desarrollo de aplicaciones para Android completamente en Python


En la conferencia EuroPython en Florencia, Italia, dio  una jornada de formación  de medio día sobre el desarrollo de aplicaciones Python en Android. En total fue de 240 minutos de duración y se llevó a cabo el martes 03 de julio 2012 a las 09:00.

Crédito de la foto: Stefan Kögl

El objetivo de estas jornadas   era mostrar cómo empezar a desarrollar aplicaciones Android completos utilizando sólo Python. Diferentes tecnologías fueron  mostrados, incluyendo a base de PySide QML interfaces gráficas de usuario utilizando el puerto Necessitas Qt y el enfoque basado en SL4A Py4A /, que se puede combinar con WebKit y reutilizar los marcos Python web de Android.

Mientras que Android ya tiene una buena SDK fuera de la caja, poder utilizar Python en lugar de Java es una gran ventaja para algunos desarrolladores – que permite tiempos de respuesta más rápidos, y la reutilización de las bibliotecas de Python. Python en Android usa una acumulación CPython nativo, por lo que su rendimiento y compatibilidad es muy bueno. Combinado con PySide (que utiliza una compilación nativa Qt) y el apoyo de Qt para la aceleración OpenGL ES, puede crear interfaces de usuario fluida incluso con Python.

Las aplicaciones basadas en PySide resultantes se ejecutan en Android, pero también, al menos en Mac OS X, Windows, Linux y Maemo y MeeGo – básicamente todas las plataformas en las que Qt está disponible. Los / las aplicaciones basadas en Py4A SL4A se ejecutan en Android solo, pero será capaz de utilizar las API de Android-específicos. Ambos enfoques pueden combinarse también.

Descargas Código

  • mygame.py – PGS4A ejemplo
  • launcher.c – C envoltura / lanzador
  • run_gpodder.py – lanzador gPodder

Prepárese

Para empezar, tienes que descargar algunos paquetes a su ordenador principal, para que pueda desarrollar y desplegar sus paquetes de Python para su dispositivo Android:

  • SL4A : sl4a_r5.apk en su dispositivo
  • PGS4A : .tar.bz2 o .zip luego python android.py installsdk
  • Py4A : hg clone https://code.google.com/p/python-for-android/
  • SDK nativo (NDK): Descarga en el host
  • Java SDK: Descarga en el host

Video (segunda parte solamente)

Desafortunadamente, debido a problemas técnicos, la primera parte del vídeo no está disponible en línea. La segunda parte se puede encontrar aquí:

Las preguntas de la ruptura

Cómo instalar el emulador de Android

No se olvide de instalar las «Herramientas de la plataforma Android» a través de $SDK/tools/android !

  1. http://developer.android.com/tools/devices/
  2. $ SDK / herramientas / androide avd # «dispositivos virtuales android»
  3. crear emulador
  4. iniciar emulador
  5. «Adb devices» muestra emulador también

Dónde obtener SL4A para su dispositivo Android

  • sl4a_r5.apk
  • PythonForAndroid_r5.apk

A continuación, para instalar a través de adb:

  adb instalar Descargas / sl4a_r5.apk
 adb instalar Descargas / PythonForAndroid_r5.apk

Cómo instalar PySide en Mac OS X

Vea las instrucciones en el Proyecto Wiki Qt: Binarios PySide para Mac OS X

Otras instrucciones útiles

Ctypes de Construcción para el PGS4A

  hg clone https://code.google.com/p/android-python27/

Mira en README, copie el entorno configuración de la variable + arreglar caminos:

  environment.sh fuente
 bootstrap.sh fiesta
 build.sh fiesta
 / / lib.linux-i686-2.7 / _ctypes.so / ruta de compilación cp Python / a / pgs4a / private /
 cp -rpv Python / lib / ctypes ~ / src / pgs4a-0.9.4 / private / lib /
 cd / ruta / a / pgs4a /
 rm -rf / ctypes / test / lib privado

Ejecución de Python desde shell ADB

  /data/data/com.googlecode.pythonforandroid/files/python/bin cd
 export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /data/data/com.googlecode.pythonforandroid/files/python/lib

Notas PGS4A

  • Cambio «android-8» a «android-15» para instalar la plataforma adecuada
  • Enlace simbólico «android-15» de SDK de Android en pgs4a / android-sdk / plataformas
  • Para inicializar: python android.py configure mygame (escribirá un archivo .android.json )
  • Para construir y desplegar: python android.py build mygame release install

Notas Py4A

  http://code.google.com/p/python-for-android/wiki/BuildingPython
 exportación ANDROID_NDK = ~ / pkg / android-ndk-r8 /
 export PATH = $ PATH: $ ANDROID_NDK: $ ANDROID_NDK / toolchains / arm-linux-androideabi-4.4.3 / prebuilt / linux-x86 /

Enlaces

  • Hable página en ep2012.europython.eu
  • YouTube video de la segunda parte de la charla

 

 

Fuente  aqui

Pequeña placa con Python integrado


Esta pequeña placa llamada Micro Python  basada en un ARM Cortex-M4 STM32F405RG de 32bits y corriendo a 168 MHz integra un interprete python  en tan solo unos pocos centímetros.

Comparado con otras alternativa como PyMite (capaz de ejecutar el interprete de Pyhton en micro controladores de 8bits), esta pequeña placa promete ser muy interesante     aunque lamentablemente no han integrado un interfaz ethernet ni WIFI   ,aunque  en tan diminuto espacio  tenemos 2 puertos SPI, 2 x CAN, 2x I2C, 5 puertos USART a la vez que 30 pines I/O y un pequeño zócalo para tarjetas de memoria Micro SD para almacenamiento.

Micro Python es  un proyecto financiado a través de una campaña de Kickstarter (visite la página de Kickstarter para más detalles).

Micro Python: Python for microcontrollers -- Kicktraq Mini

Micro Python es una implementación de la Python 3 lenguaje de programación que está optimizado para funcionar eficientemente en microcontroladores incluyendo un parser, compilador, máquina virtual completa y el sistema de tiempo de ejecución. Ademas el compilador puede compilar a código de bytes o código máquina nativo (más el uso de memoria, pero una ejecución más rápida), seleccionable por función. Asimismo también es compatible con ensamblador.

Micro Python actualmente soporta procesadores ARM de 32 bits con el conjunto de instrucciones v2 Pulgar, como la gama Cortex-M que se utilizan en los microcontroladores de bajo costo. Ha sido probado en un chip STM32F405.

Micro Python tiene las siguientes características:

  • La plena aplicación de la gramática Python 3.
  • Implementa un analizador léxico, el analizador, compilador, máquina virtual y en tiempo de ejecución.
  • Código Python se compila a un código de bytes comprimido que se ejecuta en la máquina virtual incorporada.
  • El uso de memoria se reduce al mínimo mediante el almacenamiento de objetos de formas eficientes. Los enteros que caben en 31-bits no asignan un objeto en el montón, y así lo requieren memoria sólo en la pila.
  • El uso de decoradores, las funciones pueden ser opcionalmente compilados a código máquina nativo, que tiene más memoria, pero se ejecuta alrededor de 2 veces más rápido que el código de bytes. Estas funciones siguen implementar el lenguaje Python completo.
  • Una función también puede ser opcionalmente compilado asumir que todos los objetos son enteros y así funcionar a velocidades cercanas a la de una función de C equivalente, pero con compatibilidad reducida para el lenguaje Python.
  • Una implementación de ensamblador en línea permite un acceso completo a la máquina subyacente.

La placa MicroPython  es una placa de desarrollo basado en el microcontrolador STM32F405 que correMicro Python. Mide 33 x 40 mm.

Cuenta con una interfaz USB integrado que se presenta como un dispositivo serie (puerto de comunicaciones virtuales) y un dispositivo de almacenamiento extraíble. Cuando se conecta a un ordenador, puede copiar los scripts de Python al sistema de archivos local de la placa , que luego se ejecuta. El dispositivo serie USB dirige stdin / stdout del script Python para su PC.

Alimentado por una batería, la tarjeta puede compilar y ejecutar scripts de Python y sin conexión a ninguna PC. Hay una ranura microSD para almacenar grandes cantidades de datos, 2 LEDs, un conmutador, un acelerómetro, y 30  E / S pins de uso general . Los pines de E / S son: 4 USART, 2 SPI, 2 buses I2C, 14 pines ADC, 2 pins del CAD, y 4 puertos de servo con el poder.

La placa  Micro Python es adecuada para todos, independientemente de los conocimientos en hardware o software. Con unas pocas líneas de código Python en un archivo de texto, cualquier persona puede comenzar a parpadear LEDs y responder a las acelerómetro de entrada sin necesidad de soldaduras o componentes de conexión.

Micro Python y la placa de de Micro Python están actualmente en desarrollo, y estarán disponibles pronto bajo una licencia de código abierto.

Fuente aqui