Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PyConJP2014 LT Python で一般向けスタンドアロンアプリを作ってみた Pydun

2,362 views

Published on

PyConJP2014 2014-09-13のLTで発表した、「Python で一般向けスタンドアロンアプリを作ってみた」のスライドです。発表のアプリは、http://sourceforge.jp/projects/pydun/ からダウンロードできます。

Published in: Software
  • Be the first to comment

PyConJP2014 LT Python で一般向けスタンドアロンアプリを作ってみた Pydun

  1. 1. Pythonで 一般向け スタンドアロンアプリを 作ってみた PyConJP2014 綿引 博之 @hrwatahiki
  2. 2. 始める前に 今回作ったプログラムをダウンロードできます。 http://sourceforge.jp/projects/pydun/releases/ もしくは 「pydun 」 で検索してください。
  3. 3. 始める前に ● Windows通常版がおすすめです。 ● Linux版はライブラリがいろいろ必要なので、 Windows版をWine上で動かすのが おすすめです。 ● Macは持ってないんで試してません。
  4. 4. 自己紹介 ● 一応プログラマーです。 ● 茨城県の真ん中あたりに住んでます。 ● 仕事ではPythonをほとんど使っていません。 ● そもそも周りにPythonが分かる人がいない。
  5. 5. Pythonの印象 ● 書きやすい。 ● 読みやすい。 ● すごいプログラマーがかっこいいWebサービスとか 作るのに使ってそう。 ● 一般人が簡単なGUI付きアプリ作るのは どうなのか?
  6. 6. 作ったアプリ ● 名前は「pydun」 (PYthon+DUNgeon) ● 方眼紙の上に地図を描くのをコンピューター上で やるアプリケーション ● わかる人向けに言うと、DSの「世界樹の迷宮」の 下画面 世界樹の迷宮 ホームページより引用
  7. 7. 作った理由 ● 作者がゲーム好き ● 同じようなことをやるプログラムは既にいくつか あるが、処理が重かったり機能が少なかったりで 不満があった。 ● Pythonの勉強のため ● リハビリ
  8. 8. アプリの目標 ● Pythonでつくる(must) ● プログラムのことがよくわからない 一般ユーザーでも使えるものにする(must) ● セーブデータを互換性の高いものにする(should) ● マルチプラットフォーム(may) ● 自分が満足すること(???)
  9. 9. GUIライブラリ ● Tkinter  →見た目が残念、資料があまりないので、× ● PyGTK(PyGObject)   →昔作ったことがある(Cだけど)ので、× ● wxPython  →よさそう。本も買った(読んでない) ● PyQt or PySide (Qt)  →よさそう。そういえば・・・
  10. 10. 磯 蘭水さんが PyConJP2011で 「PyQtではじめるGUIプログラミング」 っていうのやってた。 Qt にしよう!!!
  11. 11. PyQt と PySide ● どちらもQtのPythonバインディング ● PyQtはGPL ● PySideはLGPL ● 作ったのはNokia(当時のQt所有者) ● あまり違いはない。 (と思う。ちゃんとは調べてません。) ● 後発のPySideにしました。 ● 細かく制御する必要があるため、 GUIデザイナーは使いませんでした。
  12. 12. セーブファイル ● yamlにしました。 →テキストで、人間が読みやすい →セーブファイル単体でも、地図として読めます
  13. 13. Windows用実行ファイルを作る ● 作成当時(2012年頃)の話です。 Py2exeはバージョンアップしてます。 ● Py2exe  → いろいろできるけど、設定ファイルを作るのが大変 ● cx_Freeze ● PyInstaller  →ドキュメントが分かりやすい(と思う)    コマンド1行で実行ファイルができる。 Python3以降には対応していない。 ● PyInstallerにしました。
  14. 14. できた!
  15. 15. 反省 ● ソースが汚い、コメントが少ない。 ● Python2になってしまった(PyInstallerを使うため)。 ● プログラミングに励むあまり、 ゲームをやる気力がなくなってしまった。
  16. 16. まとめ ● PythonとPySideを使って、スタンドアロンアプリを 作りました。 ● 楽しかったです。 ● Python3に対応できるよう、よく考えよう。 ● ご意見いただければ幸いです。(@hrwatahiki)

×