|
|
今後XML をいじることになって来た場合、こういう環境でチョコとチョコって、便利なツールを作ることで、いろんな自動化が可能になると思います。OpenOfficeとも連動してますし。それが今回紹介する、PythonでGUIプログラムを作る環境としての wxPython です。
wxPython とは wxWidgets を ラップした環境です
wxWidgets というのは オープンソースのC++で書かれた GUIツールキットです。
簡単に言うと、Eclipseに使われているSWTのC++版と言うべきでしょうか。
クロス・プラットフォームでWindowsにおけるMFCを他の環境でも使えるようにしたと言う感じです。
SWTと同じと言ったのは、Native な API を直接たたくと言う意味でいいとこ取りの感じです。ただ歴史は古く1992年あたりから開発が始まったと言われます。
まあ、これだけならC++なので大変なのですが、これが Python からつかえる。これが
wxPython です。
wxWidgets を Python でラッピングした。じつは PerlやRubyでもラッピングされたwxPerl, wxRuby などもあるのですが。Pythonが 一番身近なようです。
Tcl/Tkの Tk をラップしたものが、今のところよく使われてますが、こちらはCでNativeにAPIは叩いてません。だから、将来的にはwxWidgetsの方がのびるかなって思ってます。Tkinter より システマティックに組める。C++で直接組むよりはるかにPythonで書いた方が楽ですからね。おまけにPython のもつ スクリプト言語としてのいろんな機能が使えますから、これは気軽に本格的なGUIアプリをしかもデータベースやXMLパーサーなどもPythonはしっかりしてます。なにしろ Google言語といわれるGoogleのWebサービスを支える言語ですからね。
本としては
wxPython In Action
が Manning から出ていて、これが非常に読みやすいです。
もともとPython は教育用言語から派生したスクリプト言語ですから、非常に使いやすいまた、可読性に富んだ言語です。
Windows, UNIX (GTK+ か Motif がある環境), Mac OS でつかえる、かつフリーでかつ気軽にプログラミングできる。
Pythonは C++で組む際のお決まりの手づきを一切省略できます。したがって、GUIプログラミングの本質を学べる。これは Webアプリや Webサービスとして ローカルな環境から移行する際に、Ajaxなどを使って移行する際にも、そのパターンを抽象的にとらえられる目を養うことができるかと思います。
また、"wxPython In Action" では、MVCパターンを使ったリファクタリング、ユニットテストに触れられてることからもみても、如何にシステマティックかつアジャイルな開発環境を提供しているかお分かりいただけると思います。
|
|