GAEでの言語選択
リリース当初は様子見という感じでみていたGAEも、そろそろ本気で取り組もうということでこの1ヶ月、改めて最新バージョンの検証やテスト等をおこなってきたが、現時点での結論は以下のとおりだ。
「Apps Engineに最適化されたPythonのフレームワークをつかえ」
おのずとKayフレームワークなのだろう。(腕に覚えのあるひとならフレームワークをつくってもいいのだが)
Java使いであればいろいろとフレームワークを使いたいだろうが、はっきりいって「遅い」のである。得てして重量級のフレームワークが多い中、選択肢としてはSlim3くらいであろう。このあたりに関してはその作者でもあるひがやすを氏もブログで述べている。id:higayasuo:20100319:1268984735
ひが氏が指摘しているようにJavaはその構造上、SpinUp, SinDownでインスタンスを生成するまでの時間がかかることがネックとなっている。
上記の理由からも、現時点でGAEJ+jRubyやGAEJ+Quercus(PHP)は論外ということになるだろう。(Amazonへどうぞ)
誤解のないように言うが、Javaが使えないのではなく「GAEでJavaはまだ発展途上だ」と考えている。速度や安定性の問題は今後GAEJがアップグレードしていくなかで解決されていくだろう。フレームワークもひが氏がSlim3を中心にGAEにコミットしている(と勝手に煽る)ので、今後改善されていくだろう。
djangoの記事でも書いたが、SpinUp+SpinDownの時間の問題や、データモデルが根本から変わるなど、クラウド開発ではこれまでとは違う「常識」が必要になるとあらためて感じさせられた。