Pythonista3
概要
Pythonという言語を使う人をPythonistaというらしいですが、Pythonista3は開発環境の名称として使われています。iOS専用開発言語アプリという位置づけです。これ自体だけではAppストアに登録するようなアプリを作ることはできません。
自分専用のアプリを作ったり、開発の練習をするのが主な目的になります。かなりいろいろなことが出来るので、1200円でかなり遊べるというか、本格的なアプリ開発を体験できるという価値があります。iPadやiPhoneで使えるというのはかなり携帯性の高いデバイスですので、開発環境がぐっと身近になった感じになるかもしれません。
ただしMacOSのXcodeというAppストアに登録するためのアプリを作ることができる開発環境向けにプロジェクトをエクスポートをすることができるみたいなので、アプリを配布できないということではなさそうです。
結局、XcodeはいるのでMacOSの端末が必要になることには変わりありません。Xcodeとの連携について詳しくは omz/PythonistaAppTemplate とか Xcode Template for Pythonistaというキーワードで検索して出てくる文献を参考にして欲しいです。
最初から導入されているModule,lib(モジュール、ライブラリ)があるのですが、これらは更新する事が出来ないようです。Matplotlibとかは新しくなっているのですが、それが使えないので、新しいグラフstyleが適用出来なかったりします。そんな感じのデメリットもあることを考えると、深追いしたい人は普通にLinux,macOS,WindowsなんかでPythonプログラミングをやった方が良いと思います。簡易的に扱えるiOS用のアプリという事を忘れずに接してください。デメリットを把握した上ならば、十分にやれる事も多いと感じれると思います。出来ない事にぶち当たる事があって、それを深く考えずに出来ない事もあると思って取り組んで下さい。
Pythonista3のmatplotlibのバージョン確認は以下のような対話形式のconsoleで確認出来る。
>> import matplotlib as mpl >>> mpl.__version__ '1.4.0'
1.4.0か…最新版は3.1.3とのことです。相当の差がある。アプリ側で導入しているライブラリが更新出来ない仕組みになっているのなら、アプリ側で更新して欲しいな。
Appストアにアプリを提供するにはApple Devloper Programに参加して年間11,800円を支払い続けないといけないです。但し、配信直前のテストまでは無償のユーザ登録のみで行えます。
出来ないこと・使いにくい所
iPadに無理やり組み込んだpythonista3では使いにくい部分が多々あります。個人的に技術力不足で出来ないと思い込んでいるだけの部分もあるかもしれませんが、いずれにしても難易度は高い問題や課題だと思うので、それらをここに列挙しておきます。
時間に余裕がある人は以下の問題の解決に挑んで頂いてもよいですが、時間の浪費を気にされる方は、以下のような問題に執着せず、あきらめてやれることをやった方が良いでしょう。
違う環境でpythonを使った方がよいです。自分は問題に対処すべき内容はpythonista3で大枠を作ってから、WindowsPCのVisualStudioにあるPythonに移行して使うことにしています。あるいは最初からWindowsPCで作るとかです。思い通りの仕上がり・出力
・処理結果に辿り着く事が出来ます。
- matplotlibでデフォルトで使えるのグラフスタイルが少ない。
- matplotlibフォントがiPadのフォントと連動しておらず、日本語フォントは自分で別途取り込まないといけない。IPAフォントとか無料で配布されているユニコード対応フォントを使わないと日本語がうまく表示できない。
- グラフのグリッドのzorder(レイヤーの積み重ね順みたいなもの)が機能せず、軸を数学関数を描くときによく使うようなグラフの真ん中が原点となるような軸にした場合
- (ax.spines['bottom'].set_position('zero')
- ax.spines['left'].set_position('zero')
- と設定した場合)に軸のラベルであるメモリ横の数字が補助グリッドの下になってしまうため、数字がgridに隠れてしまう。zoder関係の調整が無効になっていて、どうやっても解決できない。主線グリッドは下側のレイヤーに描画されるみたいなので問題はない部分もある。軸がグラフの上に描画されて、ゼロの上を辿るようなグラフは軸にグラフが隠れてしまう。
使い方
- コンソールアプリ 簡単なプログラムを試す基本です。
- コンソール 対話形式 簡単なプログラムを試す基本です。
- Pythonista3 Matplotlib style