2010年12月28日火曜日

Google App Engine:app.yamlとハンドラ

webappをベースに携帯電話用のウェブサイト構築のフレームワークを作成中。

ハンドラの定義を簡略化させたいので、
app.yamlか、メインとなるハンドラを自動生成させる仕組みを構想中。


こんな感じの構成で、
 /framework/__init__.py
 /sites/admin/__init__.py
 /sites/admin/main.py
 /sites/__init__.py
 /sites/index.py
 /sites/login.py
 /app.yaml
 /mainhandler.py


案1:app.yamlをこんな感じで自動生成させる。
------------------
- url: /index\.html
script: sites/index.py

- url: /login\.html
script: sites/login.py

・・・以下同様に続く。
------------------


案2:mainhandler.pyをこんな感じで自動生成させる。
------------------
import sites
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

application = webapp.WSGIApplication(
[('/index.html', sites.index.Html),('/login.html', sites.login.Html),・・・以下同様に続く], debug=True)

def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()
------------------

案1は、(importの範囲を絞れるので)たぶん起動速度が速い。
その代償にapp.yamlをいじり辛くなってしまうので、
フォルダごとに管理者ユーザのみのアクセスを設定したりするのは難しい。


案1と案2の折衷案がよさそうな気もする・・・
まずは案1と案2のパフォーマンスの差を調べよう。

2010年12月16日木曜日

開発進捗(12/16)

頭の中ではなんとなくデザインが進んでいるのですが、
具体的な進捗は、仕事が忙しくて、ゼロ。

新品のノート(Windows7 64 bit)を買ったので、環境を再構築しよう。