PR

SDKをダウンロードする

 開発は,Google App Engine SDK(以下,SDK)を使ってローカル環境で作成し,Googleのサーバーへアップロードするという流れで行います。SDKを使用すると,Google App EngineがサポートするすべてのAPIとライブラリをローカル環境で利用できます。SDKは,Windows,Mac OS X,Linuxに対応しています。Google App Engineのページからダウンロードできます。

図1●Google App Engine SDKのダウンロード・ページ(プレビュー版での画面)
図1●Google App Engine SDKのダウンロード・ページ(プレビュー版での画面,以下同じ)
[画像のクリックで拡大表示]

 Windowsの場合は,上記に加えてPython本体をインストールする必要があります。Pythonのサイトから,python-2.5.2.msiをダウンロードしてインストールします。次にSDKのサイトからGoogle App Engine_1.0.2.msi(記事執筆時,以下同じ)をダウンロードして,インストールすれば準備完了です。

 Mac OS Xの場合は,Google App Engine_1.0.2.dmgをダウンロードしてマウントし,ディスク・イメージの中に入っているインストーラをダブルクリックすればOKです。Pythonは,Mac OS X Leopardであればはじめから2.5.1がインストールされているので,このまま開発を進めて問題ないでしょう。

 Linuxの場合は,google_appengine_1.0.2.zipをwget(ファイルをダウンロードするコマンド)して,unzipするだけで準備完了です。もちろんPythonも必要ですが,Ubuntu 8.04 LTSやDebian Lenny/Sidのような比較的新しいディストリビューションであれば,標準でPython 2.5.2が用意されているので心配はいりません。安定版のDebian EtchやCentOS/Red Hat Enterprise Linuxのような枯れた環境では,Pythonのバージョンが2.4系と古いので,その場合は最新の2.5系を別途用意したほうが良いでしょう。

 上記3種類のうちどれを利用しても良いのですが,今回の記事では,筆者がふだん愛用しているDebian GNU/Linuxをローカルの開発環境として開発を進めていきます。

GOOGLE_APP_ENGINE_ZIP=google_appengine_1.0.2.zip
wget http://Google App Engine.googlecode.com/files/$GOOGLE_APP_ENGINE_ZIP
unzip $GOOGLE_APP_ENGINE_ZIP
cd google_appengine
./dev_appserver.py -h
リスト5●wgetでSDKを取得してunzipする

 dev_appserver.py -hとすると,開発サーバーのヘルプが表示されます。表示にある通り,app.yml(.yamlも可)という名前のYAML形式のファイルを用意して,アプリケーションの情報を登録する必要があります。deb_appserver.pyのあとにapp.ymlの存在するディレクトリ名を引数として起動することで,開発サーバーを起動してアプリケーションの動作を確認できます。

ローカルでHello Worldを動かしてみる

 さっそくアプリケーションを動かしてみましょう。まずエディタを起動して下記の内容でapp.ymlを作成します。Google App Engineディレクトリの下にhelloworldというディレクトリを作成し,そこにapp.ymlを置きます。

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py
リスト6●アプリケーション情報を登録するapp.ymlを作成

 次に,helloworld.pyを作成します。「Hello, world!」を出力するだけの単純なPythonプログラムです。

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'
リスト7●Hello Worldプログラムを作成

 作成したら,さっそく実行してみましょう。

図2●Hello Worldプログラムをローカルで実行
図2●Hello Worldプログラムをローカルで実行
[画像のクリックで拡大表示]

 開発サーバーを起動して,ブラウザでhttp://localhost:8080にアクセスすると「Hello, World!」と表示されます。

図3●ローカルでの実行結果
図3●ローカルでの実行結果

 さて,この状態でhelloworld.pyのテキストを書き換えてみましょう(例えば「Hello, Google!」と出力するように変更します)。ファイルを保存して,ブラウザをリロードすると出力される文字が変わります。つまり,ローカルで変更したスクリプトの内容は,サーバーを再起動することなく即座に反映されるのです。