Python es uno de los lenguajes de programación más fáciles disponibles en la actualidad y la curva de aprendizaje es suave. No podemos usar Python para desarrollar una aplicación de aspecto nativo. Específicamente:
- Python no puede recibir devoluciones de llamada de las clases de la interfaz de usuario de Java, por lo que no puede utilizar ningún elemento nativo de la interfaz de usuario de Java, como ListView, etc. Solo están disponibles los cuadros de diálogo, etc. Si tiene una interfaz de usuario totalmente personalizada, como un juego, puede probar PyGame para Android o puede mirar a Kivy, que también usa PyGame.
- Empaquetar aplicaciones de Python es muy difícil, especialmente porque el intérprete de Python no está incluido en Android por defecto.
Su proceso de desarrollo es más fácil, el costo de desarrollo es más bajo. Pero, siempre proporcionan muchos errores, retrasos, y su rendimiento es bastante malo. La elección, naturalmente, depende de la idea de su proyecto y los recursos disponibles.
En general, la mayor limitación en los dispositivos móviles es la energía de la batería. Dado que los lenguajes dinámicos interpretados generalmente tienen una sobrecarga de CPU más alta que un lenguaje tipado estáticamente, un programa Python será una mayor pérdida de batería que el equivalente de Java.
- ¿Es necesario escribir un método onDestroy en una aplicación de Android?
- Desarrollo de Android: ¿debo usar GCM o abrir constantemente SocketIO para mi aplicación?
- ¿Cuáles son algunas de las mejores aplicaciones para Android?
- ¿Cómo almacenan datos Evernote, Pocket, Tumblr, las aplicaciones populares de Android en modo fuera de línea?
- ¿Debería aprender todo sobre Android antes de comenzar a crear una aplicación?
Además de esto, deberá enviar todo el tiempo de ejecución de Python con el programa, mientras que el tiempo de ejecución de Java ya estará incluido en el dispositivo. Esto significa más sobrecarga de memoria, otro recurso escaso en un dispositivo móvil.
Si está buscando algo que no sea Java, eche un vistazo a Scala. Es un lenguaje de tipo estático en la JVM, pero utiliza la inferencia de tipos para eliminar la mayor parte del ruido que se produce en Java. También es totalmente compatible con la programación funcional y tiene muchas características de Python. Debido a que está tipificado estáticamente, es tan eficiente como Java directo sin ninguna de las desventajas.
Si desea crear una aplicación que utilice elementos de interfaz de usuario nativos, que realmente pueda distribuir en Play Store, o ambos, Java sería una mejor opción que Python.