Accueil🇫🇷Chercher

Kivy

Kivy est une bibliothèque libre et open source pour Python, utile pour créer des applications tactiles pourvues d'une interface utilisateur naturelle. Cette bibliothèque fonctionne sur Android, iOS, GNU/Linux, OS X et Windows. Elle est distribuée gratuitement et sous licence MIT.

Kivy
Description de l'image Kivy-logo-black-80.png.

Kivy est le framework principal dĂ©veloppĂ© par l'organisation Kivy, en parallèle avec Python-for-Android[2], Kivy iOS, ainsi que plusieurs autres bibliothèques destinĂ©es Ă  ĂŞtre utilisables sur toutes ces plateformes. En 2012, Kivy a obtenu un financement de 5 000 $ de la Python Software Foundation pour le portage vers Python 3.3. Kivy supporte aussi le RaspberryPi grâce Ă  un financement participatif via le site BountySource (en).

Le framework contient tous les éléments pour construire des applications et notamment :

  • fonctionnalitĂ©s de saisie Ă©tendues pour la souris, le clavier, les interfaces utilisateurs tangibles, ainsi que les Ă©vènements multi-touch gĂ©nĂ©rĂ©s par ces diffĂ©rents matĂ©riels.
  • une bibliothèque graphique basĂ©e seulement sur OpenGL ES2, et utilisant les Objets Tampons Vertex et les shaders.
  • une large gamme de widgets acceptant le multi-touch.
  • un langage intermĂ©diaire (le Kv[3]), pour construire facilement des widgets personnalisĂ©s.

Kivy est le successeur de PyMT[4].

Exemple de code

Voici un exemple de programme affichant Hello word, avec un unique bouton:

 from kivy.app import App
 from kivy.uix.button import Button
 class TestApp(App):
     def build(self):
         return Button(text='Hello World')
 TestApp().run()

Langage Kv

Le langage Kv (Kivy) est un langage destiné à la description des interfaces et des interactions avec l'utilisateur. Comme en QML, il est possible de créer facilement l'ensemble de l'interface utilisateur d'un programme et y relier les actions utilisateurs. Par exemple, pour créer une boîte de dialogue de type "Ouvrir" qui contiennent un navigateur de fichier et deux boutons Annuler et Ouvrir, on pourrait créer une trame Python, puis construire l'interface en Kv.

Le code Python main.py :

 class LoadDialog(FloatLayout):
     def load(self, filename): pass
     def cancel(self): pass

Et le code associé en langage Kv loaddialog.kv:

 #:kivy 1.4.0
 <LoadDialog>:
     BoxLayout:
         size: root.size
         pos: root.pos
         orientation: "vertical"
         FileChooserListView:
             id: filechooser
         BoxLayout:
             size_hint_y: None
             height: 30
             Button:
                 text: "Cancel"
                 on_release: root.cancel()
             Button:
                 text: "Load"
                 on_release: root.load(filechooser.path, filechooser.selection)

L'application complète associe dans un même dossier le code Python et le code en langage Kv.

Outre le manuel utilisateur[5] disponible sur le site web, quelques livres sont disponibles sur le sujet[6] - [7] (en anglais). Le lancement de l'application sur un smartphone peut passer par deux solutions:

  • construire l'application en code natif (compilation croisĂ©e), Ă  l'aide d'outils tels que buildozer[8]
  • transfĂ©rer le code source vers un lanceur d'application ou interprĂ©teur installĂ© sur le smartphone via sa logithèque, tel que le Kivy launcher[9] sur Android.

La nature du développement multi-plateforme permet de réutiliser, en règle générale, le code sans changement d'un environnement à un autre.

Google Summer of Code

Kivy participe au Google summer of Code par le biais de la Python sofware Foudation

Références

  1. « Release 2.2.0 », (consulté le )
  2. (en) « Kivy/python-for-android », sur GitHub (consulté le ).
  3. (en) « Introduction to the Kivy Language », sur http://kivy.org (consulté le )
  4. (en) « how-is-kivy-related-to-pymt » (consulté le )
  5. (en) « Documentation Kivy »
  6. (en) Dusty Phillips, Creating Apps in Kivy, États-Unis, O'Reilly, , 188 p. (ISBN 978-1-4919-4667-1)
  7. (en) Roberto Ulloa Rodriguez, Kivy: Interactive Applications in Python, Angleterre, Packt Publishing Limited, , 138 p. (ISBN 978-1783281596)
  8. (en) « buildozer package »
  9. (en) « Kivy Launcher »

Liens externes

Site officiel

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.