Entries

スポンサーサイト

カテゴリ:スポンサー広告
更新日:--------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Google App Engineは、アプリケーションを開発するために、本当に必要なことだけに意識を集中できる。

カテゴリ:Google App Engine
タグ: GAE 
更新日:2010-03-28
Google App Engine(GAE)で、とりあえずアプリケーションを作り始めているのだけれど、なんだか、さくさく作れる感じがする。いや、実際は、Pythonはもちろん、フレームワークの使い方から、データストアの設計まで、初めてのことばかりだから、引っかかってばかりで、全然サクサクじゃないんだけれど。でも、慣れてきたら、サクサク作れそうな感じはする。

このサクサク感は、おそらく書いたコード量と無縁ではないだろう。圧倒的に少ないのだ。

例えば、ユーザー認証。Googleアカウントの認証システムがそのまま使えるので、コード一つで実現できる。Delphi for PHP(D4PHP)では、その部分を作るのにどれだけ苦労したか。

例えば、(まだやってないけど、)メール受信。メールを受信したら、プログラムが起動するらしい。今までだったら、仕組み作りだけでも、一体どれほどコードを書かなければいけなかったか。その上、メールアドレスの設定から、受信のための環境設定まで、面倒なことがたくさんあった。

でも、GAEでは、そんなことを心配する必要がない。純粋に、アプリケーションを書くことに集中できる。そして、その結果が、コード量にも現れている。本当にアプリケーションに必要なことしか、書いていないからだ。

PHPは、いろいろとかゆいところに手が届くような関数がたくさん用意されている。いろいろと環境を整えなくても、開発ができるのが、おそらく、人気の所以だろう。

けど、ユーザー認証は組み込まれていない。ユーザー認証のためには、データベースが必要だからだ。PHPは、データベースは組み込まれていないから、外部のDBMS(ファイルを含む)と接続する必要がある。汎用化のためにDBは選択できるようになっているから、まず、その選択をしなきゃいけない。DB接続の方法は、その選択に依存するから、コードはそれぞれに変わっていく。

つまり、ユーザー認証のロジックにかかる前にさえ、やらなきゃいけないことが山ほどあるのだ。だけど、GAEは、そういったことをまるで考える必要がなく、ユーザー認証ができる。この感覚は、4GL(第四世代言語)を思い出す。

> 4GL - wikipedia

wikipediaに上がっている具体例を見ると、SQL、ABAP、Ruby on Rails、なんてのが目に付く。あとは、dbMagicあたりが有名だろうか。

「プログラマーだけではなく、エンドユーザーでも簡単なパラメーターを対話形式で指定するだけで、表計算のような業務処理を行ったり、あるいはプログラムを作成したり出来るようになっているのが特徴である。」となっているが、生き残っているものを見る限り、こんなのは本質じゃないことがわかる。4GLの本当の特徴は、データベースが言語の中に組み込まれていたことだったのだと思う。そして、実行環境と一体となっていることが、その最大の強みだったのだ。

「第四世代」と呼ばれる頃には、言語(文法)と実行環境は、切り離せなかった。だけど、GAEは、言語は選択できる(PythonかJavaだけど)。アプリケーションを実行するための環境だけれど、言語仕様は、その一部で、システムと一体化している。必要な道具立ては、すべて揃っている。もう、面倒なことはしなくてもいいのだ。アプリケーションを開発する前の、さまざまな遠回りは、もはや必要なくなった。

Google App Engineは、アプリケーションを開発するために、本当に必要なことだけに意識を集中できる。

だからこそ、サクサク感が(あくまで、感じ、だけれど)、あるのだろう。Webアプリケーションを作りたいと思っているサンデープログラマには、ぜひお勧めしたい。仕事では、いろんなしがらみがあるから、まぁ・・・

blogram投票ボタン ← ランキング参加中です。よろしければ、クリックをお願いします。


Google App Engine for Java実践クラウド・プログラミング
清野克行
秀和システム
3,360 円(税込)


スポンサーサイト

Appendix

プロフィール

いむら@fintopo いむら@fintopo

ガーデニングが趣味のフリーのシステムエンジニア兼プログラマ(フルスタックエンジニア)です。

仕事募集中です。個人なので、融通がききます。 大規模な開発はできないかもしれませんが、研究や製品開発レベルでの小規模開発、特に相談しながら新しいものを作っていくのが得意です。詳しくはWebサイトをご覧ください。
詳しくは「fintopoとは」をご覧ください。

> fintopoとは

このページのQRコード

季節暦

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。