Kivy es un framework de Python gratuito y de código abierto para desarrollar aplicaciones móviles y otro software multitáctil con una interfaz de usuario natural (NUI) . Se distribuye bajo los términos de la licencia MIT y puede ejecutarse en Android , iOS , Linux , macOS y Windows .
Kivy es el marco principal desarrollado por la organización Kivy, [ 3 ] junto con Python para Android, [ 4 ] Kivy para iOS, [ 5 ] y varias otras bibliotecas destinadas a ser utilizadas en todas las plataformas. En 2012, Kivy recibió una subvención de $5000 de la Python Software Foundation para portarlo a Python 3.3. [ 6 ] Kivy también es compatible con Raspberry Pi , que fue financiada a través de Bountysource . [ 7 ]
El framework contiene todos los elementos necesarios para construir una aplicación, tales como:
- Amplia compatibilidad con la entrada de datos mediante ratón , teclado , TUIO y eventos multitáctiles específicos del sistema operativo;
- una biblioteca gráfica que utiliza únicamente OpenGL ES 2 y se basa en Vertex Buffer Object y sombreadores ;
- una amplia gama de widgets que admiten multitáctil;
- un lenguaje intermedio (Kv) [ 8 ] utilizado para diseñar fácilmente widgets personalizados.
Kivy es una evolución del proyecto PyMT. [ 9 ]
Ejemplo de código
Aquí tienes un ejemplo del programa "Hola mundo" con un solo botón:
from kivy.app import App from kivy.uix.button import Buttonclase TestApp ( App ): def build ( self ): return Button ( text = "Hola Mundo" )TestApp () . run ()Idioma Kv
El lenguaje Kv se dedica a describir interfaces de usuario e interacciones en el framework Kivy. Al igual que con otros lenguajes de marcado de interfaz de usuario , permite crear fácilmente una interfaz completa y añadir interacciones. Por ejemplo, para crear un cuadro de diálogo de carga que incluya un explorador de archivos y un botón de Cancelar/Cargar, primero se puede crear el widget base en Python y luego construir la interfaz de usuario en Kv.
En main.py:
clase LoadDialog ( FloatLayout ): def load ( self , filename ): pass def cancel ( self ): passY en el Kv asociado:
#:kivy 1.11.1<LoadDialog> : BoxLayout : tamaño : root.size pos : root.pos orientación : "vertical"FileChooserListView : id : filechooserBoxLayout : size_hint_y : None height : 30Botón : texto : "Cancelar" on_release : root.cancel()Botón : texto : "Cargar" on_release : root.load(filechooser.path, filechooser.selection)Como alternativa, el diseño (en este caso, Box Layout) y los botones se pueden cargar directamente en el archivo main.py.
Proyectos relacionados
- Buildozer, empaquetador genérico de Python para Android e iOS .
- Plyer, un envoltorio de Python independiente de la plataforma para API dependientes de la plataforma .
- Pyjnius, acceso dinámico a la API de Java / Android desde Python .
- Pyobjus, acceso dinámico a la API de Objective-C / iOS desde Python .
- Python para Android, conjunto de herramientas para crear y empaquetar aplicaciones Python para Android .
- Kivy para iOS, conjunto de herramientas para crear y empaquetar aplicaciones Kivy para iOS .
- Audiostream, biblioteca para acceso directo al micrófono y al altavoz .
- KivEnt, motor de juegos basado en entidades para Kivy.
- Kivy Garden, widgets y bibliotecas creadas y mantenidas por la comunidad .
- Kivy SDK Packager, scripts para la generación de Kivy SDK en Windows , macOS y Linux .
- Kivy Remote Shell, aplicación de shell interactiva remota SSH + Python .
- KivyPie, distribución basada en Raspbian que ejecuta el último framework Kivy en la Raspberry Pi .
- OSCPy, una implementación de OSC rápida y fiable .
- Condimento, preprocesador que incluye o elimina una porción de código Python , según las variables de entorno .
- KivyAuth permite iniciar sesión en aplicaciones Kivy a través de redes sociales como Google , Facebook , GitHub y Twitter .
- KivMob, soporte de AdMob para aplicaciones Kivy.
- KivyMD, un conjunto de widgets de Material Design para Kivy.
Verano de Código de Google
Kivy participó en Google Summer of Code bajo el patrocinio de la Python Software Foundation .
- Kivy en GSoC'2014. [ 10 ]
- Kivy en GSoC'2015. [ 11 ]
- Kivy en GSoC'2016. [ 12 ]
- Kivy en GSoC'2017. [ 13 ]
Véase también
- Pygame , otra API de juegos de Python, una capa sobre Simple DirectMedia Layer
- Cocos2d
- Panda3D
- Pyglet
- Capa de scripting para Android
Referencias
- ^ "Registro de cambios de Kivy" , kivy.org , consultado el 5 de abril de 2016
- ^ "Kivy 2.3.1" . github.com . 2024-12-26 . Consultado el 22 de marzo de 2024 .
- ^ "Sobre nosotros" , kivy.org
- ^ "Python para Android" , github.com
- ^ "Kivy para iOS" , github.com
- ^ "Kivy y Python 3.3, proyecto iniciado" , Grupos de Google
- ^ "Kivy en Raspberry Pi" , bountysource.com , archivado del original el 19/11/2006 , recuperado el 10/05/2013.
- ^ "Guía de programación » Lenguaje Kv" , kivy.org
- ^ "Preguntas frecuentes: ¿Cómo se relaciona Kivy con PyMT?" , kivy.org , consultado el 9 de junio de 2012.
- ^ "Google Summer of Code 2014 en la Python Software Foundation" .
- ^ "Google Summer of Code 2015 en la Python Software Foundation" .
- ^ "Google Summer of Code 2016 en la Python Software Foundation" .
- ^ "Google Summer of Code 2017 en la Python Software Foundation" .
Enlaces externos
- Sitio web oficial
- Software móvil multiplataforma
- Software multiplataforma
- Software libre programado en Python
- Bibliotecas de Python (lenguaje de programación)
- Software que utiliza la licencia MIT.