2017/05/14

wxPython は Phoenix という新しいバージョンがあるので注意

[最近、wxPython を使い始めた](https://kokufu.blogspot.jp/2017/04/ubuntu-1604-wxpython-python3.html) のですが、本やドキュメントの内容をそのまま適用できないケースが多いのです。
調べてみると、Phoenix という新しいプロジェクトが始まり、仕様が結構変わったようです。

[Welcome to the wxPython Phoenix Project](https://wxpython.org/Phoenix/docs/html/)

公式サイトには以下のようにあります。

> Likewise the intent with the wxPython Phoenix project is throw almost everything from wxPython Classic into the fire to be built anew from the ashes of its former self, without all of the old crud that had built up over the long life of Classic.

意訳すると、「(不死鳥フェニックスと)同様、wxPython Phenix プロジェクトの目的は、wxPython Classic のほぼ全てを炎の中に投げ入れ、Classic の長い歴史の中で作られた問題点を解決した新たな wxPython を灰の中から再構築することです。」
といった感じでしょうか。



### 2017年4月ファーストリリース?
wxPython Phoenix の[公式 GitHub](https://github.com/wxWidgets/Phoenix) を確認すると、開発は 2010年11月からスタートしていたようです。
しかし、リリースタグは 2017年4月16日の `4.0.0a1` が最初です。
正確なことは未確認なのですが、これが Phoenix 版の最初のリリースのようですちょうど私が wxPython を使用開始する数日前。そりゃ、ドキュメントも古いわ。。


### 変更点
どこが変わったのか確認してみたところ、以下にまとまっていました。
細々としたところは書いてないけど、ざっくりまとめてますという感じですそれでも、結構量があるけど。

[wxPython Project Phoenix Migration Guide](https://wxpython.org/Phoenix/docs/html/MigrationGuide.html)

これによると、Classic のバージョン番号は [wxWidgets](https://www.wxwidgets.org/) と同じものを採用していたけど、Phoenix からは独自のバージョン表記に移行するとのこと。
そして、メジャーバージョンをあげたとのことです。
つまり、wxWidgets の最終バージョンが 3.1.0 であることから、4.x.x 系が Phoneix ということで間違い無さそうです後で確認したところ、[wxPython Classic](https://github.com/wxWidgets/wxPython) の最終バージョンは 3.0.2.0 でした。



### 過去のドキュメントも使える
そもそも、wxPython は wxWidgets の Python バインディングです。そのため、wxWidgets の仕様が変わらなければ wxPython の仕様も大きく変わるということはないでしょう。

数日使っただけの感想ですが、Phoenix プロジェクトは、Classic と比べて、より素直に wxWidgets をバインディングすることを目指しているように思います。

つまり、過去の手法がそのまま使えなくても、代替手段は用意されているはずです。そして、よりシンプルになっている可能性が高いということです。
そういった認識を持って使用していれば、大きな問題は無さそうですとはいえ、そのまま使える方が手間が少なくて良いのだけど

0 件のコメント: