初アプリ デプロイ Google App Engine for Python
2009/11/11
http://d.hatena.ne.jp/smeghead/20091029/cloudbug1 で触り始めたGoogle App Engine for Pythonですが、いろいろと嵌ったりしながら、Starbug1のコピーのBTSのチケット一覧とチケット登録ができるところまできたので、始めてのデプロイをしてみました。デプロイは非常に簡単。
App Engine では、アプリケーションの作成と管理を管理コンソールから行います。アプリケーションの ID を登録後、SDK で提供される appcfg.py というコマンドライン ツールを使用して、アプリケーションをウェブサイトにアップロードします。
アプリケーションのアップロード – Google App Engine – Google Code
書いてあるとおりで、問題なくアップロードできました。「こんなに簡単にgoogleのインフラ使えちゃっていいのだろうか」と思えてしまうくらいです。
Cloudbug1
チケット一覧とチケット登録以外は動いてません。
- 登録とかを試すのは自由にできますが、アプリからデータを消すことはできないので、注意してください。
- このアプリは、gaeの勉強のためのものなので、削除する可能性もあります。
わかったこと
gae/pyで提供されているwebappというフレームワークと、djangoのtemplate(両方ともgae/pyにバンドルされている)を使って、ここまでアプリを作成をしてみてわかったこと。
- webappの作業範囲は、非常に狭いが、その分見通しはいい。
- webappの上に薄いフレームワークを作れば、快適な状態に近づくと思う。
- djangoのtemplateは、viewで行なうべきこと*しか*できない。
- これは、viewで誤魔化しが効かないということなので、窮屈に感じた。
- webapp+templateだけでは、selectタグなどの表示が面倒。
- フォーム類のタグに対応したクラスを作る
- webapp+templateでは、validationのサポートが無い
- 簡単なvalidationの仕組みを作る
- 単純にBigTableにデータを保存するのは、とっても簡単だが、トランザクション(エンティティグループ)のイメージが捕みにくい。
- Googleのgae/pyのマニュアルを読んでいて(BigTableの特徴にも依るかもしれないが)、エンティティクラスに対しての操作の意味とインスタンスに対しての操作の意味の区別がわかりにくかった。
もうちょっと、遊びを続けてみようと思います。