Kivy es un marco Python gratuito y de código abierto para desarrollar aplicaciones móviles y otro software de aplicación multitáctil con una interfaz de usuario natural (NUI) . Se distribuye según los términos de la licencia MIT y se puede ejecutar en Android , iOS , Linux , macOS y Windows .
Desarrollador (es) | Organización Kivy |
---|---|
Versión inicial | 1 de febrero de 2011 [1] |
Lanzamiento estable | 2.0.0 / 10 de diciembre de 2020 [2] |
Repositorio | github |
Escrito en | Python , Cython |
Sistema operativo | Multiplataforma |
Tipo | Marco de aplicación |
Licencia | MIT ( software libre ) |
Sitio web | kivy |
Kivy es el marco principal desarrollado por la organización Kivy, [3] junto con Python para Android, [4] Kivy iOS, [5] y varias otras bibliotecas destinadas a ser utilizadas en todas las plataformas. En 2012, Kivy obtuvo una subvención de $ 5000 de la Python Software Foundation para trasladarlo a Python 3.3. [6] Kivy también es compatible con Raspberry Pi, que fue financiado a través de Bountysource . [7]
El marco contiene todos los elementos para construir una aplicación como:
- amplio soporte de entrada para mouse , teclado , TUIO y eventos multitáctiles específicos del sistema operativo,
- una biblioteca gráfica que usa solo OpenGL ES 2 y se basa en Vertex Buffer Object y shaders ,
- una amplia gama de widgets que admiten multitouch ,
- un lenguaje intermedio (Kv) [8] que se utiliza para diseñar fácilmente widgets personalizados.
Kivy es la evolución del proyecto PyMT y se recomienda para nuevos proyectos. [9]
Proyectos relacionados
- Buildozer , empaquetador genérico de Python para Android e iOS .
- Plyer , 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 , cadena de herramientas para crear y empaquetar aplicaciones Python para Android .
- Kivy para iOS , cadena de herramientas para crear y empaquetar aplicaciones Kivy para iOS .
- Audiostream , biblioteca para acceso directo al micrófono y altavoz .
- KivEnt , motor de juego basado en entidades para Kivy.
- Kivy Garden , widgets y bibliotecas creados y mantenidos 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 SSH + Python remota .
- KivyPie , distribución basada en Raspbian que ejecuta el último marco de Kivy en Raspberry Pi .
- OSCPy , una implementación OSC rápida y confiable .
- Condimento , preprocesador que incluye o elimina la parte del código Python , según las variables de entorno .
- KivyAuth , inicio de sesión social a través de cuentas de Google , Facebook , GitHub y Twitter en aplicaciones Kivy.
- KivMob , compatibilidad con AdMob para aplicaciones Kivy.
- KivyMD , un conjunto de widgets de Material Design para Kivy.
Ejemplo de código
A continuación, se muestra un ejemplo del programa Hola mundo con un solo botón:
desde kivy.app Importar la aplicación desde kivy.uix.button Importar Botónclass TestApp ( App ): def build ( self ): return Button ( text = "Hola mundo" )TestApp () . correr ()
Idioma kv
El lenguaje Kv es un lenguaje dedicado a describir la interfaz de usuario y las interacciones en el marco Kivy. Al igual que con otros lenguajes de marcado de interfaz de usuario , es posible crear fácilmente una interfaz de usuario completa y adjuntar interacción. Por ejemplo, para crear un cuadro de diálogo de carga que incluye un explorador de archivos y un botón Cancelar / Cargar, primero se puede crear el widget base en Python y luego construir la interfaz de usuario en Kv.
En main.py:
class LoadDialog ( FloatLayout ): def load ( self , filename ): pass def cancel ( self ): pass
Y en el Kv asociado:
#: kivy 1.11.1 : BoxLayout : size : root.size pos : root.pos orientación : "vertical" FileChooserListView : id : filechooser BoxLayout : size_hint_y : Ninguno altura : 30 Botón : texto : "Cancelar" on_release : root.cancel () Botón : texto : "Cargar" on_release : root.load (filechooser.path, filechooser.selection)
Alternativamente, el diseño (aquí, Diseño de caja) y los botones se pueden cargar directamente en el archivo main.py.
Verano de código de Google
Kivy participó en Google Summer of Code bajo Python Software Foundation .
- Kivy en GSoC'2014. [10]
- Kivy en GSoC'2015. [11]
- Kivy en GSoC'2016. [12]
- Kivy en GSoC'2017. [13]
Ver también
- Pygame , otra API de juego de Python , una capa sobre Simple DirectMedia Layer
- Cocos2d
- Panda3D
- Pyglet
- Capa de secuencias de comandos para Android
Referencias
- ^ "Registro de cambios de Kivy" , kivy.org , consultado el 5 de abril de 2016
- ^ "Kivy 2.0.0" . github.com . 2020-12-10 . Consultado el 10 de marzo de 2021 .
- ^ "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
- ^ "Guía de programación» Kv language " , kivy.org
- ^ "Preguntas frecuentes: ¿Cómo se relaciona Kivy con PyMT?" , Kivy.org , recuperada 2012-06-09
- ^ "Google Summer of Code 2014 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2015 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2016 @ the Python Software Foundation" .
- ^ "Google Summer of Code 2017 @ the Python Software Foundation" .
enlaces externos
- Página web oficial