無料でホームページが作れると聞いて、Google App Engine というのを試してみた。
知りたい事。
- Google App Engine で出来る事と出来ない事を知りたい。
- ホームページ作成のおおまかな手順を知りたい。
- ユーザ認証とデータベースを使ったプログラムがどれだけ簡単か知りたい。
という事で、Google App Engine の Python 版でサンプルプログラムをアップするまでの手順を書きます。
登録
Google App Engine を使うには http://code.google.com/appengine/ へ行って登録します。登録には携帯電話のアドレスが必要という変な仕組み。
次に Create Application の画面で Identifier と Title を決めます。Identifier がサイトの URL になりますが、こんなのありえんだろうと思う名前さえ既に取られています。私は安易に propellatest という名前にしました。
このページの説明によると、ユーザ認証も Google で面倒を見てくれるらしいです。これはありがたい。
SDK の入手
開発には SDK が必要です。これは Google のサーバーを開発マシンでシミュレートする物らしいです。 http://code.google.com/appengine/downloads.html で私は一番簡単そうな python SDK の Mac 版を選んびました。ダウンロードした Google App Engine Launcher を Applications ディレクトリにコピーして起動すると、シンボリックリンクを作るか聞かれるので作ると、シェルからコマンドが実行出来るようになる。これで準備は完了。
サンプルコードで遊ぶ。
真面目な人はちゃんと Hello World から始めた方がいいですが、とりあえずサンプルコードを試してみます。http://code.google.com/p/google-app-engine-samples/ から、面白そうな cccwiki というのを選びました。
次に、先ほどの SDK でインストールされたコマンドを使ってローカルで実行します。
$ dev_appserver.py cccwiki/
とシェルから dev_appserver.py コマンドで展開された cccwiki を指定するだけです。http://localhost:8080 にアクセスすると wiki が表示されます。さっそくこれをアップしてみます。
cccwiki/app.yaml というファイルが設定ファイルです。この中の application: という項目が Identifier なので、先ほど登録した propellatest に変更します。
$ appcfg.py update cccwiki/
これで登録完了です。http://propellatest.appspot.com からアクセス出来ます。
プログラムの書き方。
あとは丁寧な日本語の説明があるので、簡単にウェブサイトが作れます。例えば最初に CGI を使った説明があって、これなら昔の CGI の移植も簡単だと思います。
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
Google App Engine の Python 版で出来る事。
- CGI を使った昔ながらの動的ホームページが作れる。
- webapp というシンプルなウェブフレームワークが添付されている。他のフレームワークも使える。
- ユーザ認証とデータベースは Google が用意した物を使える。
- Django のテンプレートも添付されている。
出来ない事。
- ストリーミング。
- 自分でデーモンを作って裏で走らせる事。
- データベースのバックアップ/リストアは自動化されていないみたい。
ホームページの管理
https://appengine.google.com/ からホームページの管理が出来ます。アクセス解析もある優れものです。