Diferencia entre Kivy y Java para aplicaciones Android
Para un desarrollador de python que tiene cierta experiencia en la creación de aplicaciones android con java. Quiero crear una pequeña aplicación que acceda a mi portal universitario y recuperar algunos datos para acceder fácilmente a ella en android.
1) ¿Cuál es su más fácil y más rápido para desarrollar aplicaciones Android?
- ¿Es posible descargar apk desde google play programáticamente a PC?
- Sl4a python notificar pregunta
- ¿Cuáles son los posibles problemas de rendimiento en el uso de python over java para el desarrollo de aplicaciones para Android?
- Java vs Python HMAC-SHA256 no coinciden
- Python - ¿Kivy implementa actividades en las aplicaciones de Android?
2) ¿Kivy tiene limitaciones para acceder a ciertas partes de android (como no totalmente integrado con su api)?
3) Y, por último, una aplicación Android desarrollada utilizando kivy se ejecutaría tan rápido como uno desarrollado con java?
- Escribir código de python en android
- Error de GLS: INVALID_AUDIENCE en los puntos finales de la nube de google
- Lanzar un emulador de Android de Python-Django
- Ejecución de hello.py desde un proceso Android
- Error de carga DLL:% 1 no es una aplicación Win32 válida - Appcelerator
- Systrace | Android | El fichero o directorio no existe
- Regístrate usando G + (Google+) usando kivy
- No se puede autenticar en el servidor GCS CCS
Esta es una pregunta bastante subjetiva.
1) ¿Cuál es su más fácil y más rápido para desarrollar aplicaciones Android?
Creo que hay un argumento fuerte para kivy, pero esto no tiene una respuesta objetiva.
2) ¿Kivy tiene limitaciones para acceder a ciertas partes de android (como no totalmente integrado con su api)?
El proyecto kivy incluye pyjnius, una herramienta para acceder a las clases de java a través de python, y en principio creo que esto debería dar acceso arbitrario al java apis (editar: en reflexión, no arbitrario, pero probablemente no limitado de manera inmediatamente importante).
En la práctica, los envoltorios de python pre-construidos son un trabajo en progreso, aunque mejoran rápidamente. La biblioteca androide de python ya da acceso fácil a muchas cosas (incluyendo pero no limitado a intentos, vibraciones, acelerómetro, etc.). Incluso cuando no hay ya un envoltorio de python, puede ser muy fácil hacer el trabajo necesario.
Edit: Recientemente ha habido un gran trabajo en el proyecto plyer de Kivy, destinado a proporcionar una api transparente a las herramientas específicas de la plataforma para que pueda llamar una vez y obtener el mismo comportamiento en diferentes sistemas sin conocer los detalles. Incluye soporte útil para partes del api de Android.
3) Y, por último, una aplicación Android desarrollada utilizando kivy se ejecutaría tan rápido como uno desarrollado con java?
En última instancia, la respuesta es probablemente no, pero la diferencia es muy poco probable que sea importante a menos que esté haciendo algo fuerte cpu limitada. La tarea que usted sugiere no sería limitada de esa manera.
Para completar la respuesta incly, pyjnius de hecho permite acceder a una gran cantidad de la api Android. Pero no es perfecto, llamar a clases existentes no siempre es suficiente, y un programador de Android a menudo necesitan para crear el código que será llamado por Android para gestionar los eventos, hay dos maneras de hacerlo, ambos utilizados por el api de Android.
- El primero es interfaces: necesitas crear una clase que implemente una interfaz java existente, pyjnius puede hacer eso, crear una clase python y declarar qué interfaz java implementa, y tener un decorador para declarar los métodos que tienes que declarar.
- La segunda es subclase, necesitas subclase una clase java existente y reemplazar algunos métodos, y no tenemos una manera de hacer eso con pyjnius todavía, así que para estos, tendrías que crear una clase java y usarla En su programa (afortunadamente se puede mezclar eso con kivy / pyjnius, simplemente no puede ser 100% python en ese escenario).
Así que puede valer la pena una mirada a la api de antemano, para ver si las partes de la api Android que tiene que acceder requiere eso.
- Ventajas de usar Binder para IPC en Android
- Descartar PopupWindow en touch fuera de popup, sin utilizar el constructor obsoleto