14 points par GN⁺ 2024-07-07 | 2 commentaires | Partager sur WhatsApp
  • Framework Python open source pour développer des applications GUI fonctionnant sur plusieurs plateformes, y compris les environnements desktop, mobile et embarqués
  • L’objectif est de permettre une conception d’interactions rapide et facile ainsi qu’un prototypage accéléré, tout en facilitant la réutilisation et le déploiement du code
  • Facile à utiliser, il permet de déployer des applications sur plusieurs plateformes à partir d’une base de code unique
    • Mac, Linux (y compris Raspberry Pi OS), BSD, Windows, iOS, Android
    • Tous les widgets Kivy prennent en charge le multitouch
  • Écrit en Python et en Cython, avec une base OpenGL ES 2.0
  • Compatible avec les usages en entreprise (licence MIT), 100 % gratuit, avec un développement, un support et une maintenance assurés de manière professionnelle
  • Framework vieux de 10 ans avec un riche écosystème
    • Buildozer : outil de développement qui convertit les applications Python en paquets binaires afin de pouvoir les installer sur plusieurs plateformes, y compris les appareils mobiles
    • Plyer : API Python indépendante de la plateforme pour accéder aux fonctionnalités matérielles de diverses plateformes (Android, iOS, macOS, Linux et Windows)
    • PyJNIus : bibliothèque Python pour accéder à des classes Java via JNI (Java Native Interface)
    • Pyobjus : module Python permettant d’accéder à des classes Objective-C comme à des classes Python à l’aide de la réflexion du runtime Objective-C
    • Python for Android : outil de développement pour empaqueter des applications Python en binaires pouvant s’exécuter sur des appareils Android
    • Kivy iOS : toolchain qui compile les bibliothèques nécessaires à l’exécution des applications Kivy sur iOS et gère la génération de projets Xcode
    • Audiostream : bibliothèque permettant un accès direct au microphone et aux haut-parleurs
    • KivEnt : moteur de jeu orienté entités pour Kivy
    • Oscpy : implémentation Python du protocole réseau Open Sound Control (OSC)
    • Garden : widgets et bibliothèques créés et maintenus par les utilisateurs

2 commentaires

 
cosine20 2024-07-10

Beurk......

 
GN⁺ 2024-07-07
Avis Hacker News
  • Il existe divers projets liés à Kivy, ainsi que des outils comme python-for-android et Plyer

    • python-for-android : outil de compilation de projets Python pour Android
    • Plyer : outil fournissant des API cross-platform (notifications, matériel, sélecteur de fichiers, etc.)
  • KivyMD est un outil qui implémente Material Design au-dessus de Kivy

  • L’équipe de Kivy est sympathique, et certains l’ont rencontrée à PyCon ou au FOSDEM

  • Le framework Kivy est agréable à utiliser, et le langage de description kv est très utile

  • La compilation croisée peut être difficile, et le temps de chargement des applications est long, mais cela fonctionne

  • Il manque quelques fonctionnalités par rapport à de gros frameworks comme Qt ; il n’y a pas de WebView et l’accessibilité est faible

  • Globalement, c’est un très bon projet, mais c’est dommage qu’il ne soit pas plus connu

  • En 2024, les captures d’écran de la galerie Kivy ne sont pas très attrayantes

  • Electron semble toujours être le roi des interfaces utilisateur « desktop »

  • Le site ne mentionne pas l’accessibilité, et il semble que ce ne soit pas encore implémenté

  • Kivy n’est pas adapté aux applications destinées aux utilisateurs finaux

  • Il est décevant que les nouveaux frameworks UI soient insuffisants sur les fonctionnalités d’accessibilité

  • La landing page de Kivy parle davantage de financement que du framework lui-même

  • Il n’y a qu’une seule image montrant l’interface, et son style fait penser à une photo de banque d’images

  • La galerie est accessible via le lien en haut de page

  • JavaFX reste lui aussi excellent, avec une application qui fonctionne bien avec un heap de 50 MB

  • Il propose aussi des installateurs natifs pour les OS, mais pas de prise en charge du web

  • Kivy est le projet qui a conduit quelqu’un à faire sa première contribution open source en 2014

  • Cette personne a soumis la prise en charge des fichiers Kivy dans Vim et a travaillé avec Bram Moolenaar par e-mail via des patch diffs

  • Condoléances à Bram Moolenaar

  • Katrain utilise Kivy, et le packaging comme les mises à niveau posent problème sur les distributions en rolling release

  • Lors d’une installation via pip, cela fonctionne partiellement

  • Du point de vue du packaging, Kivy n’est pas bon

  • Un framework Python cross-platform appelé flet semble intéressant

    • Il est propulsé par Flutter, et il est possible de traduire des tutoriels Flutter/Dart vers Flet
    • La personne ne l’a pas encore essayé, mais la communauté est active, et il permet d’écrire de belles applications avec un langage populaire
  • Pour que Kivy soit plus largement adopté, il devrait se connecter au domaine data science / machine learning de Python

  • Construire des applications cross-platform centrées sur les données au sein d’un écosystème mono-langage est moins complexe que d’utiliser plusieurs API et runtimes

  • Le type d’applications pour lesquelles l’approche mono-langage est utile n’est pas celui du travail exploratoire en data science

  • Ce n’est pas non plus le cas des tâches nécessitant des graphiques interactifs haute performance

  • Pour les tâches consistant à fournir des algorithmes et des outils associés à des utilisateurs non techniques, Kivy pourrait avoir un avantage grâce à sa simplicité et à son prototypage rapide

  • Quelqu’un a de l’expérience en développement d’apps iOS avec Swift et SwiftUI

  • Cette personne demande des retours d’expérience de gens ayant créé une app iOS avec Kivy et l’ayant publiée sur l’App Store