Encontré que Kivy era bastante productivo, dentro de sus límites. Aporta el tipo de aumento de la productividad que se ve típicamente al comparar enfoques de Python y Java (debo confesar que mi experiencia de codificación de Android es bastante limitada, puedo estar subestimando el nivel de productividad de codificación de Android que se puede lograr con Java).
Para tener una idea de Kivy, codifiqué un pequeño proyecto: piKam, una IU remota para la cámara Raspberry Pi. Una cosa que realmente me gustó es que me resultó bastante fácil separar el diseño de la interfaz de usuario en archivos kv, lo que facilitó la compatibilidad con los diseños de paisajes y retratos. Todo fue muy divertido de codificar. Eventualmente golpeé una pared con Python-performance en la Raspberry Pi.
Por el momento, Kivy tiene bastantes limitaciones. Grandes, como la no internacionalización real. Los más pequeños, como los eventos sin orientación en Android. Necesita madurar un poco. Toda la arena de la interfaz de usuario móvil está evolucionando rápidamente, el conjunto de widgets de Kivy también necesita evolucionar: le falta algo de la ternura más nueva.
- ¿Cómo analizo los datos JSON para una aplicación de Android?
- ¿Cómo empezar a aprender cómo hacer aplicaciones de Android? ¿Es el conocimiento de Java una condición previa?
- En Android, ¿es realmente necesario anular todos los métodos del ciclo de vida?
- ¿Qué debo aprender primero, desarrollo de Android o algoritmos?
- ¿Puedo aprender el desarrollo de aplicaciones de Android en un mes? ¿Qué cosas se requieren?
La documentación de Kivy está bien, pero debe completarla buscando en los ejemplos incluidos, buscando bastante en Google, leyendo la fuente de Kivy y experimentando
No dudaría en usar Kivy para hacer algo pequeño, rápido y de corta duración, pero cualquier cosa que requiera mucho código, se ejecute por períodos prolongados, haga un uso extensivo de sensores o tenga que ser eficiente, se implementaría mejor de forma nativa . Es una excelente manera de comenzar con el desarrollo de la interfaz de usuario: es muy fácil ver los primeros resultados, una plataforma multiplataforma muy buena. Sería una gran herramienta de enseñanza para que los niños codifiquen sus móviles.