¿Cuáles son las limitaciones de Python en Android?

Me estoy preparando para iniciar un pequeño desarrollo de Android y necesito elegir un idioma. Conozco a Python pero tendría que aprender Java. Me gustaría saber de aquellos de ustedes que están usando Python en Android cuáles son las limitaciones. Además, ¿hay algún beneficio sobre Java?

Investigué esto recientemente por razones similares. Mis conclusiones fueron que no podía usar Python para desarrollar una aplicación de aspecto nativo, que es lo que quería en ese momento. Específicamente:

  • Python no puede recibir devoluciones de llamada de las clases de interfaz de usuario de Java, por lo que no puede utilizar ningún elemento nativo de Java UI como ListView, etc. Sólo los cuadros de diálogo, etc., están fácilmente disponibles. Si tienes una interfaz de usuario totalmente personalizada, como un juego, puedes probar PyGame para Android , o puedes ver Kivy , que también usa PyGame.

  • El empaquetado de aplicaciones de Python es muy difícil, especialmente porque el intérprete de Python no está incluido en Android por defecto. Los equipos de Kivy y PyGame están haciendo progresos intermitentes en esto.

  • Debido a los problemas antes mencionados, Python es esencialmente nunca se utiliza para hacer aplicaciones de pleno derecho publicado en la tienda de aplicaciones, y por lo que la literatura sobre cómo manejar los muchos problemas diversos con SL4A (Scripting Layer para Android) es muy delgada.

Por lo tanto, si desea realizar una aplicación que utilice elementos nativos de la interfaz de usuario, que realmente se puede distribuir en la Play Store, o ambos, Python no es una opción.

La mayoría de los puntos mencionados por Andrew stand, sólo quería mencionar que python puede ser y se utiliza para aplicaciones de pleno derecho publicado en GooglePlay e incluso iOS. No puedo hablar de otros marcos, pero aquí hay algunos ejemplos de aplicaciones publicadas con Kivy.

  1. Process Craft Google Play iOS
  2. Martillo de la guerra de la fantasía
  3. PreseMT es un presentador multitáctil
  4. Memo robots
  5. Verdad del suelo
  6. Caleidoscopio
  7. Ejemplo de demostración de demostración del proyecto Kivy
  8. DefelectTouch juego iOS
  9. Bargenius y muchos más …

En Packaging hemos tratado de hacerlo lo más sencillo posible, también ofrecemos

  • Una VM pre-construida que puede usarse para hacer que tu apk contigo no tenga que hacer nada excepto copiar el directorio de tu proyecto y ejecutar un comando.

En GUI, sí el ui es personalizado, por defecto (intenta igualar el tema de Holo de Android). Sin embargo, se puede personalizar para parecerse a otros apariencia y se siente, aunque no lo he probado personalmente.

Ah y mientras uno está hablando de aplicaciones basadas en python en android, he encontrado este proyecto mencionado en stackoverflow PyMob , su página de aplicaciones menciona algunas aplicaciones interesantes.

He desarrollado aplicaciones para Android en el mercado, codificadas en Python. Desventajas:

  1. Hasta ahora mis usuarios deben descargar el intérprete también, pero inmediatamente se les pide que lo hagan. (UPDATE: Vea el comentario abajo).
  2. El script no sale correctamente, por lo que incluyo una página web que les pide ir a: Configuración: Aplicaciones: ForceClose si se produce este problema.
  • ¿Cómo detener un WebView lanzado desde SL4A de ocultar la barra de notificación?
  • QPython o Kivy para la programación de Android con apk instalable en Python
  • ¿Cómo puedo empaquetar el intérprete entero de python en un APK de Android?
  • Escribiendo python (o cualquier otro SL4A) en android
  • ¿Es posible crear una aplicación completa para Android con SL4A?
  • Problemas con la conexión Bluetooth de Android
  • Android: Llamar a Python Script (a través de SL4A) desde código Java
  • Ejecución de un teléfono Android como un servidor web estable (para una secuencia de comandos CGI de Python)
  • SL4A vs Ruboto en Desarrollo de aplicaciones para Android
  • Uso de SL4A (Python) y bluetooth
  • Comenzando con Android: Java o Python (SL4A)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.