2008年7月9日水曜日

サンデープログラマーにGoogle App Engineをお勧めする理由


僕はこれまでレンタルサーバーを借りてPHPでWebサービスを作って公開してたんですが,今やすっかりGAEの虜です.

僕が最初に感じたGAEの利点は次の二つ.

1.環境構築が不要
GAEの開発環境はSDKをダウンロードしてインストールすれば構築完了です.
たとえば,PHPでWebサービスを開発する場合は,ApacheやMySQLをインストールしてなんたら.cnfを書き換えて,.htaccessを設定してSmartyやらpdoやらgdやらをインストールしてchmodしてなんて作業を延々としないといけません.開発マシンがクラッシュしたりすると,もう一度同じ作業をする必要があって,あれ前回どういう手順だったけと思いだしながらやるわけです.うげぇ.
一方でGAEは数クリックで開発環境の構築完了.
僕のようなミドルウェアから下のレイヤーには興味がなく,アプリケーションを作りたいだけの人間にはうってつけです.

2.ユーザー登録機能の実装が不要
GAEではGoogle Accountでの認証をサポートしています.
従来ならメールアドレスとIDを入力して確認メール送ってメール内のURLがクリックされたらアカウントをアクティベートして,なんていうユーザー登録の仕組みを地道に作ってたわけですが,これも不要.
ユーザーがGoogle Accountを持っている人に限られてしまう可能性はあるけど,新しいネットサービスを使ってみようと思う人であれば,Gmailを使っていそうだから問題ない.
ユーザー認証の実装はなんと次の4行で出来てしまいます.
    user = users.get_current_user()
    if user:
      #認証済みの場合の処理
    else:
      #ログイン画面にリダイレクト.ログイン後は最初にアクセスした画面に再度リダイレクト.
      self.redirect(users.create_login_url(self.request.uri))

アプリ開発者がアプリ開発に集中できる.これがGAEをお勧めする理由です.
GQLではJOINやGROUP BYができなかったりと制限は色々とあるのですが,それもスケーラビリティの代償と考えれば納得できます.
僕は.NET数年,PHP半年という経験のサンデープログラマーなのですが,最初はPythonに抵抗感があったものの,Python+Djangoを数日勉強しただけでアプリを開発することができました.
Read this Laterも実装自体にかかったのは10数時間です.

そしてこれが無料なんです.


0 件のコメント: