14 Punkte von GN⁺ 2024-07-07 | 2 Kommentare | Auf WhatsApp teilen
  • Open-Source-Python-Framework zur Entwicklung von GUI-Apps, die plattformübergreifend funktionieren, einschließlich Desktop-, Mobil- und Embedded-Plattformen
  • Ziel ist es, schnelles und einfaches Interaktionsdesign sowie Rapid Prototyping zu ermöglichen und gleichzeitig Code-Wiederverwendung und Deployment zu unterstützen
  • Einfach zu verwenden, und Apps können mit einer einzigen Codebasis auf mehreren Plattformen bereitgestellt werden
    • Mac, Linux (einschließlich Raspberry Pi OS), BSD, Windows, iOS, Android
    • Alle Kivy-Widgets unterstützen Multitouch
  • Geschrieben in Python und Cython, basierend auf OpenGL ES 2.0
  • Business-freundlich (MIT-Lizenz), zu 100 % kostenlos nutzbar und professionell entwickelt, unterstützt und gepflegt
  • Ein 10 Jahre altes Framework mit einem umfangreichen Ökosystem
    • Buildozer: Entwicklungstool, das Python-Anwendungen in Binärpakete umwandelt, damit sie auf mehreren Plattformen einschließlich Mobilgeräten installiert werden können
    • Plyer: Plattformunabhängige Python-API für den Zugriff auf Hardware-Funktionen verschiedener Plattformen (Android, iOS, macOS, Linux und Windows)
    • PyJNIus: Python-Bibliothek für den Zugriff auf Java-Klassen mithilfe von JNI (Java Native Interface)
    • Pyobjus: Python-Modul für den Zugriff auf Objective-C-Klassen als Python-Klassen mithilfe von Objective-C-Runtime-Reflection
    • Python for Android: Entwicklungstool zum Verpacken von Python-Apps als Binärdateien, die auf Android-Geräten ausgeführt werden können
    • Kivy iOS: Toolchain, die die für das Ausführen von Kivy-Anwendungen unter iOS erforderlichen Bibliotheken kompiliert und die Erstellung von Xcode-Projekten verwaltet
    • Audiostream: Bibliothek mit direktem Zugriff auf Mikrofon und Lautsprecher
    • KivEnt: Entity-basiertes Game-Engine für Kivy
    • Oscpy: Python-Implementierung des Netzwerkprotokolls Open Sound Control (OSC)
    • Garden: Widgets und Bibliotheken, die von Nutzern erstellt und gepflegt werden

2 Kommentare

 
cosine20 2024-07-10

Ugh......

 
GN⁺ 2024-07-07
Hacker-News-Kommentare
  • Es gibt verschiedene Projekte rund um Kivy sowie Tools wie python-for-android und Plyer.

    • python-for-android: ein Tool zum Kompilieren von Python-Projekten für Android
    • Plyer: ein Tool, das plattformübergreifende APIs bereitstellt (Benachrichtigungen, Hardware, Dateiauswahl usw.)
  • KivyMD ist ein Tool, das Material Design auf Kivy implementiert.

  • Das Kivy-Team ist freundlich; es gibt Erfahrungen mit Begegnungen auf der PyCon oder der FOSDEM.

  • Das Kivy-Framework lässt sich gut verwenden, und die Beschreibungssprache kv ist sehr nützlich.

  • Cross-Compilation kann schwierig sein, und die Ladezeit von Apps ist lang, aber es funktioniert.

  • Im Vergleich zu großen Frameworks wie Qt fehlen einige Funktionen; es gibt kein WebView und die Barrierefreiheit ist schwach.

  • Insgesamt ein sehr gutes Projekt, aber schade, dass es nicht bekannter ist.

  • Stand 2024 sind die Screenshots in der Kivy-Galerie nicht attraktiv.

  • Electron scheint derzeit der König der „Desktop“-UIs zu sein.

  • Auf der Website gibt es keine Erwähnung von Barrierefreiheit, und sie scheint noch nicht implementiert zu sein.

  • Kivy eignet sich nicht für Anwendungen mit direktem Endnutzerkontakt.

  • Es ist enttäuschend, dass neue UI-Frameworks bei Accessibility-Funktionen Defizite haben.

  • Die Landingpage von Kivy erwähnt Finanzierung stärker als das Framework selbst.

  • Es gibt nur ein einziges Bild, das die UI zeigt, und der Stil wirkt wie ein Stockfoto.

  • Die Galerie ist über den Link oben erreichbar.

  • JavaFX ist ebenfalls weiterhin großartig, und es gibt Apps, die mit 50 MB Heap gut laufen.

  • Es gibt auch native OS-Installer, aber keine Web-Unterstützung.

  • Kivy war das Projekt, das 2014 zur ersten Open-Source-Mitwirkung geführt hat.

  • Es wurde Support für Kivy-Dateien in Vim eingereicht, und an Patch-Diffs wurde per E-Mail mit Bram Moolenaar gearbeitet.

  • Beileidsbekundung für Bram Moolenaar.

  • Katrain verwendet Kivy, und auf Rolling-Release-Distributionen sind Packaging und Upgrades problematisch.

  • Bei Installation per pip funktioniert es teilweise.

  • Aus Packaging-Sicht ist Kivy nicht gut.

  • Ein plattformübergreifendes Python-Framework namens flet ist interessant.

    • Es wird von Flutter angetrieben, und Flutter/Dart-Tutorials lassen sich zu Flet übersetzen.
    • Es wurde zwar nicht selbst ausprobiert, aber es hat eine aktive Community, und man kann mit einer populären Sprache tolle Apps schreiben.
  • Damit Kivy breiter eingesetzt wird, müsste es stärker mit Pythons Bereichen Data Science und Machine Learning verknüpft werden.

  • Der Aufbau datenorientierter plattformübergreifender Apps innerhalb eines einsprachigen Ökosystems ist weniger komplex als die Nutzung mehrerer APIs und Runtimes.

  • Der Single-Language-Ansatz ist nicht für App-Typen nützlich, bei denen es um explorative Data-Science-Arbeit geht.

  • Auch nicht für Aufgaben, die hochperformante interaktive Grafik erfordern.

  • Bei Aufgaben, bei denen Algorithmen und zugehörige Tools nichttechnischen Nutzern bereitgestellt werden, könnte Kivy durch Einfachheit und schnelles Prototyping Vorteile haben.

  • Es gibt Erfahrung mit dem Schreiben von iOS-Apps mit Swift und SwiftUI.

  • Es wird um Erfahrungsberichte von Personen gebeten, die mit Kivy iOS-Apps geschrieben und im App Store veröffentlicht haben.