- デスクトップ、モバイル、組み込みプラットフォームを含むクロスプラットフォームで動作する GUI アプリを開発するためのオープンソースの Python フレームワーク
- 高速で簡単なインタラクション設計と迅速なプロトタイピングを可能にすると同時に、コードの再利用と配布を可能にすることを目標としている
- 使いやすく、単一のコードベースで複数のプラットフォームにアプリを配布できる
- Mac、Linux(Raspberry Pi OS を含む)、BSD、Windows、iOS、Android
- すべての Kivy ウィジェットはマルチタッチをサポート
- Python と Cython で書かれており、OpenGL ES 2.0 ベース
- ビジネスフレンドリーな MIT ライセンスで 100% 無料で利用可能であり、専門的に開発・サポート・保守されている
- 10年の歴史を持つフレームワークで、豊富なエコシステムが存在する
- Buildozer: モバイルデバイスを含む複数のプラットフォームにインストールできるよう、Python アプリケーションをバイナリパッケージに変換する開発ツール
- Plyer: さまざまなプラットフォーム(Android、iOS、macOS、Linux、Windows)のハードウェア機能にアクセスするための、プラットフォーム非依存の Python API
- PyJNIus: JNI(Java Native Interface)を使用して Java クラスにアクセスするための Python ライブラリ
- Pyobjus: Objective-C ランタイムのリフレクションを使用して Objective-C クラスに Python クラスとしてアクセスするための Python モジュール
- Python for Android: Python アプリを Android デバイス上で実行できるバイナリにパッケージ化する開発ツール
- Kivy iOS: iOS で Kivy アプリケーションを実行するために必要なライブラリをコンパイルし、Xcode プロジェクトの生成を管理するツールチェーン
- Audiostream: マイクとスピーカーに直接アクセスできるライブラリ
- KivEnt: Kivy 向けのエンティティベースのゲームエンジン
- Oscpy: Open Sound Control(OSC)ネットワークプロトコルの Python 実装
- Garden: ユーザーが作成・保守するウィジェットおよびライブラリ
2件のコメント
うえっ……
Hacker Newsのコメント
Kivyには関連するさまざまなプロジェクトがあり、python-for-androidやPlyerのようなツールがある
KivyMDは、Kivy上でMaterial Designを実装したツールである
Kivyチームは親切で、PyConやFOSDEMで会った経験がある
Kivyフレームワークは使いやすく、
kvという記述言語が非常に便利であるクロスコンパイルは難しいことがあり、アプリの読み込み時間も長いが、動作はする
Qtのような大きなフレームワークと比べると、いくつか機能が不足しており、WebViewがなく、アクセシビリティも弱い
全体として非常に良いプロジェクトだが、もっと広く知られていないのが残念
2024年時点では、Kivyギャラリーのスクリーンショットは魅力的ではない
Electronは今のところ「デスクトップ」UIの王者に見える
アクセシビリティについてサイト上での言及がなく、まだ実装されていないように見える
Kivyはユーザー向けアプリには適していない
新しいUIフレームワークにアクセシビリティ機能の不足があるのは残念だ
Kivyのランディングページは、フレームワーク自体よりも資金支援について多く触れている
UIを見せる画像が1枚しかなく、スタイルもストックフォトのように見える
ギャラリーには上部リンクからアクセスできる
JavaFXも依然として優れており、50MBヒープで問題なく動くアプリを持っている
ネイティブOS向けインストーラーも提供しているが、Web対応はない
Kivyは、2014年に自分が初めてオープンソースへ貢献するきっかけになったプロジェクトである
VimにKivyファイルのサポートを提出し、Bram Moolenaarとメールでパッチ差分をやり取りしながら作業した
Bram Moolenaarに哀悼の意を表する
KatrainはKivyを使っており、ローリングリリース系ディストリビューションではパッケージ化とアップグレードが問題になる
pipでインストールした場合は部分的に動作する
パッケージングの観点では、Kivyはあまり良くない
fletというクロスプラットフォームPythonフレームワークが興味深い
Kivyがより広く使われるためには、Pythonのデータサイエンス/機械学習分野との接点が必要である
単一言語のエコシステム内でデータ中心のクロスプラットフォームアプリを構築する方が、複数のAPIやランタイムを使うより複雑さが少ない
単一言語アプローチが有用なアプリの種類は、探索的データサイエンス作業ではない
高性能なインタラクティブグラフィックスが必要な作業でもない
アルゴリズムと関連ツールを非技術ユーザーに提供する作業では、Kivyはシンプルさと高速なプロトタイピングで利点を持ちうる
SwiftとSwiftUIでiOSアプリを書いた経験がある
KivyでiOSアプリを書いてApp Storeに公開した経験がある人の体験談を求めている