= ver4開発
== UNIX版第1回開発会議(和倉温泉,2017-2-10~12)
=== 開発言語
* 要件
* C++に比べて、開発の敷居が低い
* 質量分析やプロテオミクスに関するライブラリが充実していること
* Pythonを用いる
* JavaとPythonが要件を満たす。初期の学習・導入コストの低いPythonを選定
* 方針として、「python3.4以降 + Windowsへの導入が容易なライブラリ」を用いて開発する
* つまり正確には、「UNIX版」ではなく「マルチOS版」の開発
* 開発者の環境がWindowsという話は秘密だ
=== GUIライブラリの選定
* 以下のライブラリについて検討:
||'''ライブラリ'''||'''継続検討・不採用'''||'''備考'''||
||[https://riverbankcomputing.com/software/pyqt/intro PyQT]||不採用||ライセンスがGPL||
||[https://wiki.qt.io/PySide PySide]||不採用||LGPL。Winへの導入に挫折(nmake, cmake, qmakeについてエラーを吐き続け、[https://pypi.python.org/pypi/Shiboken Shiboken]までたどり着いて死んだ)(Macへの導入は容易)||
|| || ||※脂肪肝を乗り越えると逝けそう||
||[https://wxpython.org/ WxPython]||不採用||LGPLライクな独自ライセンス。WinはVisual C++ 2010 が要る(Macは容易に導入可能で、すぐにHello, world!が出た)||
|| || ||※VS2010でビルドされているWindows版Python3.4で動かそうとしたためで、2.x用はバイナリで配布されているから導入容易なはずでかつソースからのビルドも[https://www.microsoft.com/en-us/download/details.aspx?id=44266: Microsoft Visual C++ Compiler for Python 2.7]を使えば可能。また、 python3.5 からはVS2015でビルドされているので問題は生じなかった、はず。(Windowsでのpython3系の利用には 3.5 以降かどうかが分岐点になりそう。同じ理由でWindowsではpython2.7系も避けたほうが良いという印象。[https://wiki.python.org/moin/WindowsCompilers: 参考])||
||[http://www.pygtk.org/ PyGTK]||不採用||2011年4月で更新が止まっているので、チェックすらせず||
||[https://kivy.org/#home Kivy]||継続検討||MITライセンス。Windowsへのインストールはあっさりできた。(逆にMacでは、Mac port のpy35-kivyが依存ライブラリとは指定していない pygameを別途インストールする必要があったので、少し苦労した。)今後優先して検討を進める。||
||[https://wiki.gnome.org/action/show/Projects/PyGObject?action=show&redirect=PyGObject PyGObject]||継続検討(非優先)||LGPL。pyGTKの後継で、GObject introspectionというGTKの新しいバインディング機構を利用する。pyGIと呼ばれていたこともある。||