Zopeで遊ぶ

正月あたりからPythonを少しいじってるんですけど、特に「Pythonでコレを実装したい!」見たいなのが無いので、いかんと思い、とりあえずキーワードだけは耳にしていたZopeなるものを触ってみた。

Zopeは一言で言うとなんだろう。「Pythonで実装されたWebアプリケーションサーバー+DB+開発環境」みたいなもんですかね。とにかくZopeさえインストールしとけば一通りのwebアプリを作れると。

で、インストールしてみた。

サーバーを起動すると、こんな感じのコンソールが表示される。この画面でアプリを開発する感じか。

普通の静的なWebページなら、このツリーに適当なフォルダを作って、htmlドキュメントをブラウザ上で記述して、保存。これで完了。
ブラウザ内で作業が完結するってとこがポイントなのかな。

当然動的なページも作れる。いろいろやり方はあるようですが、とりあえずDTMLというドキュメントをHTMLドキュメントの代わりに作って、その中でZope特有のタグを埋め込んでUIを作る感じかな。で、ビジネスロジックを処理する部分はPythonのスクリプトを書いたり、ZClassと呼ばれる簡単なクラスを定義することで実装する(これをPython ProductとかZClass Productと呼ぶそうな)。

ZClassの定義は全部Zopeのコンソール上から行える。クラスを定義して、メソッド定義して、属性定義して・・という感じかな(まだ触ってない)。ロジックの部分は結局Pythonで書くことになるのかな。

あと一つおもろい概念として、Versionオブジェクトってのがある。
Zope自体が開発環境みたいなものなので、ソースのバージョン管理はどうするんだということで登場するのがVersionオブジェクト。Versionオブジェクトってのを作って、その中に「入る」と「仮想的な世界」に入ることになる。ちょっとこのコードをいじってみたい、というときはVersionオブジェクトに入って、動作確認し、正しく動けば変更をコミット、、、てな感じのことができる。

眠いのでこの辺で。