「Pythonでスマホアプリを開発したい」
「ライセンスのことで悩みたくない」
上記があてはまるなら、Kivy一択です。
本記事の内容
- Kivyとは?
- Kivyのシステム要件
- Kivyのインストール
- Kivyの動作確認
それでは、上記に沿って解説していきます。
Kivyとは?
Kivyとは、PythonにおけるGUIアプリ開発のためのフレームワークです。
オープンソースであり、開発が活発に行われています。
PythonでGUIアプリ開発と言うと、複数の選択肢があります。
選択肢となるGUIフレームワークは、以下。
- tkinter
- Kivy
- Qt
- WxPython
- Remii(ブラウザベース)
他にもありますが、現状では次の二つに絞ることができます。
- Kivy
- PySimpleGUI
「PySimpleGUIはどこから出てきたの?」
確かに、唐突に出てきました。
詳細は、次の記事で解説しています。
簡単に言うと、PySimpleGUIは上記のKivy以外に対応しています。
PySimpleGUIを利用すると、フレームワークを気にする必要がありません。
PySimpleGUIでコーディングすると、tkinterに対応できます。
そのコードのまま、Qtに切り替えることも可能です。
よって、KivyかPySimpleGUIの二択になります。
スマホアプリの開発を考えるなら、Kivyがおススメです。
Kivyで開発したGUIアプリは、以下のすべてに対応します。
- Windows
- macOS
- Linux
- Android
- iOS
- Raspberry Pi
また、オープンソースであり、ライセンスについて考える必要がありません。
あとは、マルチタッチイベント対応という点もスマホアプリでは大きいでしょう。
以上、Kivyについて説明しました。
次は、Kivyのシステム要件を確認します。
Kivyのシステム要件
現時点(2021年4月)での最新のKivyは、バージョンが2.0.0となります。
バージョン2.0.0は、2020年12月20日に公開されています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
これは、開発環境での話です。
Kivyで開発したモノは、さらに多くのOSで動きます。
そして、サポート対象となるPythonのバージョンは以下。
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
いい感じのサポート状況です。
Pythonの公式開発サイクルに準じています。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月 |
3.7 | 2018年6月27日 | 2023年6月 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
個人的には、公式開発サイクルに準じるライブラリは信用度がUPします。
セキュリティはもちろん、今後の更新に関しても。
Kivyのシステム要件は、Pythonのバージョンにだけ注意すれば問題ないでしょう。
以上、Kivyのシステム要件の説明でした。
次は、Kivyをインストールしていきます。
Kivyのインストール
最初に、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.0.1 setuptools 56.0.0
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、Kivyのインストールです。
Kivyのインストールは、以下のコマンドとなります。
pip install Kivy
インストールには、少しだけ時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version --------------- --------- certifi 2020.12.5 chardet 4.0.0 docutils 0.17.1 idna 2.10 Kivy 2.0.0 kivy-deps.angle 0.3.0 kivy-deps.glew 0.3.0 kivy-deps.sdl2 0.3.1 Kivy-Garden 0.1.4 pip 21.0.1 Pygments 2.8.1 pypiwin32 223 pywin32 300 requests 2.25.1 setuptools 56.0.0 urllib3 1.26.4
結構いろいろなパッケージが、インストールされています。
Kivyは、pywin32(pypiwin32)にも依存しているのは興味深いです。
pywin32に関しては、次の記事でまとめています。
以上、Kivyのインストールの説明でした。
最後に、Kivyの動作確認を行います。
Kivyの動作確認
公式に載っているサンプルコードです。
これをそのまま利用します。
from kivy.app import App from kivy.uix.button import Button class TestApp(App): def build(self): return Button(text='Hello World') TestApp().run()
上記を実行すると、以下の画面が表示されます。
この画面が表示されれば、Kivyの動作確認はOKです。
以上、Kivyの動作確認の説明でした。