文書操作
WebデザイナーのためのDjangoはじめの一歩
露木さんによると船井さんがやる気らしい。うーむ、興味深い。しばらく遠ざかっていたDjangoですが、実際に動きがあるならば是非参加していじってみたいですな。
Webデザイナーという言葉が歩き回っているけれど、私はデザイナーではなくてむしろコーダーなのでもう少し曖昧にしてWeb屋さんにとってのDjangoは何かということを考えてみたいなと思いました。先のエントリで、考えるより手を動かそうと言うことを認識したのに実践できていないのはスルーしてください。今の私は文章を書きまくることが手を動かすことなのです。ただし私はプログラミングに関してはほとんど知識がありません。ネットや書籍などで見聞きした情報を適当に解釈して概念化してますのでその分差し引いた上でこの先にお進みください。
Djangoって何?
DjangoというのはWebアプリケーションフレームワークです。つまりWebアプリケーションのフレームワークです。
もっと言い換えてみましょう。
Webアプリケーションって何?
Webアプリケーションというのはざっくりいってしまえばブラウザ上で動くアプリケーションのことですので、身近なところでいえば、ブログ、掲示板、ネットショップやイメージギャラリーなどといったものが考えられるのではないでしょうか。つまり、Djangoというのはブログや掲示板、ネットショップやイメージギャラリーなどといったもののフレームワークです。
もっと言い換えてみましょう。
フレームワークって何?
フレームワークというのは直訳すれば枠組みです。いろいろな仕組みの集まり、といってもいいかもしれません。それではWebアプリケーションが必要とする基本的な仕組みというのは何でしょうか。
静的なWebサイトと違い、Webアプリケーションには動的な仕組みが必要です。動的というのは閲覧者のアクションによってサイトの振る舞いがいろいろ変わるということでしょう。静的なサイトではWebサーバにHTMLファイルや画像を配置すればそれでOKですが、動的なサイトを作成するにはHTMLファイルや画像を処理するだけではなくその他たくさんの「仕組み」が必要です。たとえばログインすると商品を買うことができるというようなネットショップはHTMLファイルと画像だけでは構築することができません。
もちろん動的といっても掲示板のようなとても単純なものもあれば、ネットショップやオンライントレードのように高度なセキュリティやスケーラビリティを要するものもありますので、一概に「これとこれとこれがあればOK」といったことは決められませんが、「このくらいのものがあれば単純で小さなものからある程度複雑で大きなものまで何となくできちゃうんじゃないのか」というようなものなら「基本的な仕組み」といってもよいのではないでしょうか。たとえば認証やセッション管理、データベースへのデータの保存といったことがこの基本的な仕組みとしてあげることができるでしょう。
結局のところ
Djangoというのは、ブログや掲示板やネットショップなどを作るために必要な基本的な仕組みを提供してくれるものです。
フレームワークいろいろ
アプリケーションフレームワークにはいろいろなものがあります。有名どころはJavaの「Struts」や.netの「ASP.net」などではないでしょうか。なぜならJavaも.netもわからない私でも聞いたことがあるフレームワークだからです。最近の流行はPerl、PHP、Ruby、Pythonなどのいわゆる軽量言語によるフレームワークです。軽量言語は何が軽量なのかよくわかりませんが、まぁ「お手軽」程度に考えておけばよいのではないでしょうか。
Rubyによる「Ruby on Rails」というフレームワークの出現以降、PerlやPHP、Pythonなどによるさまざまなフレームワークが生み出されてきました。もはや食傷気味とでもいえるWebアプリケーションフレームワークですが、それぞれに特徴があり、どれを選んでもいいように思えますので、好きなものを選べばいいのではないでしょうか。
選ぶ上で一番大きなウェイトを占めるのはやはり習得している言語だと思います。特にPerlやPHPといった言語はWeb屋さんであれば必ず一度はいじったことのある言語でしょう。PerlでいろいろCGI書いたよという人ならCatalystとか、Xoopsいじってていろいろカスタマイズしたりモジュール作ったりしたよという人ならCakeとかSymphonyとかRhacoとかいじってみればきっと幸せになるのではないでしょうか。しかしCGIは簡単なものをちょちょっとカスタマイズしただけだしー、Xoopsも動かして使ってはみたけれどモジュール作るとかカスタマイズするとか無理っぽいな…という人は、是非Pythonフレームワークをいじってみてほしいと思います。
CGIやXoopsでいまいちのめり込めなかったあなたへ
Pythonは日本ではマイナー気味です。レンタルサーバの利用可能言語とかにもあんまり載ってません。なのに何故Pythonなんでしょうか。
うーん、現実的に仕事でがんがん使っていこうという野望があるなら素直に他の言語のスペシャリストになった方がよいのかもしれません。特にWeb屋さんであればPerlやPHPの方がよっぽど仕事に生かせるのではないでしょうか。いやむしろJavasciptやActionScriptを勉強した方がよいかもしれません。しかし仕事とは(あんまり)関係なく自分のための便利なちょっとしたツールやオレ環境を構築する目的で、理解しやすかったり自学自習しやすかったりする言語を勉強したいなというのであればPythonがいいと思います。私は昔PerlでCGIを書いたり、XoopsでPHPをいじってみたりしましたが、結局Python環境に落ち着いています。好みは人それぞれで、好きになる言語も人それぞれですが、あなたがそれをまだ決めていなくて、たまたまこのエントリを目にしているのであれば、だまされたと思ってまずはPythonをいじってみてほしいと思います。
Djangoまでの道のり
いきなりDjangoのチュートリアルをやってもよいですが、その前にUnixシステムやWebアプリケーションの仕組みについての概念を頭に入れておくとよいかもしれません。まぁWeb屋さんであればUnixシステムのコマンドもある程度理解できるでしょうし、必要最低限の概念も頭に入っていると思いますし、なにより、基本的な知識すらあやふやな私ができるくらいですからよっぽど大丈夫だと思います。
Pythonなんていじったことが無いんだけど、という人はDjangoのチュートリアルと平行して、「みんなのPython」という書籍を読んだり、PythonでCGIを書いてみたりするとよいと思います。3つ同時平行だと大変そうですが、たぶんいけると思います。というか、私はそんな感じで勉強してます。
ということで
勢いのあるうちに少人数でもいいので勉強会の足がかりとなるような集まりか何かができるといいですね。そのまま東海のDjangoの勉強会となるもよし、Pythonの勉強会として範囲が広くなって行くもよし、とにかくアクションを起こさないとしぼんでなくなっちゃいますね。
- 固定リンク
- ¦
- コメント (2)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://nagosui.org:8080/Nagosui/COREBlog2/first-step-of-django-for-web-designer/tbping

気合いはいった記事ですねー。
PHPって最初の敷居は低いんだけど、次のステップがいきなりあがりますよね。一度PHPをやってやっぱダメだと思った人に是非すすめたいです。
挫折組のためのDjangoとかw
寝る寸前にぼけぼけの頭で書いたエントリなのでムラがありまくりです…orz
Perlの括弧が嫌いなあなたに贈るDjangoとか、PHPに撃沈されたあなたのためのDjangoとか、そんな感じでいいんでしょうか(;´_つ`)