Pythonを使ってアプリケーションを実際に作成してみましょう。前回は「Facebookのようなものを作ってみようと思います」と書いてしまいましたが、ちょうど作りたいものがあったので「Twitterと連携するコミュニケーションツール」を「Django」で作ることにします。
DjangoはPython上で動作するWAF(Web Application Framework)のことです。Webアプリケーションフレームワークというのは、Webアプリケーションを作るとき、決まり切った機能を簡単に利用するための仕組みです。Python上で動作するWAFにはTurboGearsやweb.pyなどがありますが、現在は事実上DjangoがPythonでのWAFの標準というか最もメジャーな存在といってよいでしょう。
Djangoは有志の方が作成した日本語ドキュメントがとても充実しているというのも、みなさんにDjangoをおススメする大きな理由です。この連載の趣旨は「日本でもっとPythonが普及するといいな」ということなので、現在Pythonで一番メジャーなWAFであるDjangoと組み合わせて「Twitterと連携するコミュニケーションツール」を作ってみよう、と思ったわけです。
TurboGearsについても説明しておきましょう。数年前にPythonで初めてWAFを使うときに私が選択したのは、DjangoではなくてTurboGearsでした。TurboGears 1.x時代の話ではありますが、当時のTurboGearsはひとつのWAFというよりは、MVC(アプリケーションをModel、View、Controllerの3つに分ける設計手法のこと)でいうところの「M」がSQLObject、「V」がkid、「C」がCherryPyというそれぞれ独立したモジュールというかパッケージを組合せてできているWAFでした。私はWebアプリも作るのですが、もともとインフラエンジニア出身ということもあって、Webでないアプリ(daemon系やtoolなど)も作ることがあるので、M、V、Cが分離して使えるほうが使いまわしが利いてよさげだった、当時はDjangoよりもTurboGearsの方が何となく活発に見えた、という理由です。個人的にはTurboGearsは2.xになって失速してしまった感があり、最近はDjangoを使うことの方が多いです。