- Framework open source de Python para desarrollar apps GUI que funcionan en múltiples plataformas, incluyendo escritorio, móvil y plataformas embebidas
- Su objetivo es permitir un diseño de interacción rápido y sencillo, así como prototipado ágil, al mismo tiempo que facilita reutilizar y desplegar código
- Es fácil de usar y permite desplegar apps en múltiples plataformas con una sola base de código
- Mac, Linux (incluyendo Raspberry Pi OS), BSD, Windows, iOS, Android
- Todos los widgets de Kivy soportan multitouch
- Está escrito en Python y Cython, y se basa en OpenGL ES 2.0
- Es amigable para negocios (licencia MIT), 100% gratis de usar y desarrollado, soportado y mantenido profesionalmente
- Es un framework con 10 años de trayectoria y cuenta con un ecosistema amplio
- Buildozer: herramienta de desarrollo que convierte aplicaciones Python en paquetes binarios para poder instalarlas en múltiples plataformas, incluidos dispositivos móviles
- Plyer: API de Python independiente de la plataforma para acceder a funciones de hardware en distintas plataformas (Android, iOS, macOS, Linux y Windows)
- PyJNIus: biblioteca de Python para acceder a clases Java usando JNI (Java Native Interface)
- Pyobjus: módulo de Python para acceder a clases Objective-C como clases de Python mediante reflexión del runtime de Objective-C
- Python for Android: herramienta de desarrollo para empaquetar apps de Python como binarios que pueden ejecutarse en dispositivos Android
- Kivy iOS: toolchain que compila las bibliotecas necesarias para ejecutar aplicaciones Kivy en iOS y gestiona la creación de proyectos de Xcode
- Audiostream: biblioteca con acceso directo a micrófonos y bocinas
- KivEnt: motor de juegos basado en entidades para Kivy
- Oscpy: implementación en Python del protocolo de red Open Sound Control (OSC)
- Garden: widgets y bibliotecas creados y mantenidos por usuarios
2 comentarios
Uf......
Opiniones en Hacker News
Hay varios proyectos relacionados con Kivy, y existen herramientas como python-for-android y Plyer
KivyMD es una herramienta que implementa Material Design sobre Kivy
El equipo de Kivy es amable, y hay experiencia de haberlos conocido en PyCon o FOSDEM
El framework Kivy es agradable de usar, y el lenguaje descriptivo llamado kv es muy útil
La compilación cruzada puede ser difícil y el tiempo de carga de la app es largo, pero funciona
En comparación con frameworks grandes como Qt, le faltan algunas funciones; no tiene WebView y la accesibilidad es deficiente
En general es un proyecto muy bueno, pero da pena que no sea más conocido
A partir de 2024, las capturas de pantalla de la galería de Kivy no resultan atractivas
Electron sigue pareciendo el rey de las interfaces de usuario de "escritorio"
No hay mención de accesibilidad en el sitio, y parece que todavía no está implementada
Kivy no es adecuado para aplicaciones orientadas al usuario final
Es decepcionante que los nuevos frameworks de UI tengan carencias en funciones de accesibilidad
La página principal de Kivy menciona más el financiamiento que el framework en sí
Solo hay una imagen que muestra la UI, y el estilo parece una foto de stock
Se puede acceder a la galería mediante el enlace superior
JavaFX también sigue siendo excelente, y hay una app que funciona bien con un heap de 50 MB
También ofrece instaladores nativos del sistema operativo, pero no tiene soporte web
Kivy fue el proyecto que llevó a hacer la primera contribución de código abierto en 2014
Se envió soporte para archivos de Kivy a Vim, y se trabajó con Bram Moolenaar por correo electrónico mediante parches diff
Se expresan condolencias por Bram Moolenaar
Katrain usa Kivy, y en distribuciones rolling release hay problemas con el empaquetado y las actualizaciones
Al instalar con pip funciona parcialmente
Desde la perspectiva del empaquetado, Kivy no es bueno
Resulta interesante un framework multiplataforma de Python llamado flet
Para que Kivy se use más ampliamente, tendría que conectarse con el ámbito de ciencia de datos/machine learning de Python
Construir apps multiplataforma centradas en datos dentro de un ecosistema de un solo lenguaje es menos complejo que usar varias APIs y runtimes
El tipo de apps para el que el enfoque de un solo lenguaje es útil no son los trabajos exploratorios de ciencia de datos
Tampoco lo son los trabajos que requieren gráficos interactivos de alto rendimiento
En tareas de poner algoritmos y herramientas relacionadas a disposición de usuarios no técnicos, Kivy puede tener ventaja por su simplicidad y rapidez para prototipar
Hay experiencia escribiendo apps para iOS con Swift y SwiftUI
Se pide compartir experiencias de alguien que haya escrito una app para iOS con Kivy y la haya publicado en la App Store