BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Javascript の興隆は LAMP の終焉を告げるのか?

Javascript の興隆は LAMP の終焉を告げるのか?

原文(投稿日:2011/04/11)へのリンク

Metamarket の CTO である Mike Driscoll 氏が,Web アプリケーションアーキテクチャの将来について挑発的な記事 を発表した。node.js のようなフレームワークLAMP の終焉を告げる,という主張がその内容だ。

3ヶ月ほど前に私たちは,ダッシュボードソフトウェアのフレームワークとして使用していた Python の Django を廃止して,node.js を用いたサーバサイド JavaScript ですべて再構築することを決めました。決断のきっかけとなったのは,「LAMP スタックはもう終わりだ」という認識です。

Web には3つの段階がある,と氏は考える。

  • 1991–1999: HTML 時代 – HTML,すなわちドキュメントの時代
  • 2000–2009: LAMP 時代 – LAMP,すなわちデータベースの時代
  • 2010–??: Javascript 時代 – Javascript,すなわちイベントストリームの時代

現在の Web ページとはページではなく,情報を伝達するイベント駆動アプリケーションに他ならないのです。

そして次のように説明する。

AMP アーキテクチャが終焉に至ったのは,ほとんどの Web アプリケーションが,小さなイベントへの応答としてマークアップのペイロード全体を渡すことを避けるようになったためです。代わって DOM の一部分のみを,Javascript を使って更新するようになりました。これを実現したのが AJAX なのですが,LAMP テンプレートの 10% が HTML で 90% が Javascript であるという状況では,方法の選択に誤りがあることは明らかです ...

氏の考えでは,サーバの主な役割は,アプリケーションをデータ (JSON) とともにクライアント (Javascript) に送り出すことにある。そこから UI を構築することは,クライアントの仕事なのだ。そして2つめの役割が,ストリーム上のイベント(新規編集,メッセージ,あるいはティッカの更新など)を待機して,効率よくクライアントに返信することである。

氏の意見に対して,何人かがコメントを寄せている。

Bruce Atherton 氏は同じ意見だが,HTTP を用いたイベント転送に異議を唱える。

その観点からの最良の選択は Websocket と SPDY でしょう。HTTP よりも,そのような処理にずっと適しているからです。

Chase Sechrist 氏は node.js を幅広く利用しているが,次のような懸念を持っている。

それよりもまず,(おそらくは知識に先んじて)レースコンディションのデバッグ方法やイベントループの動作,さらには再帰的なコールバックによるスタック破損が引き起こすコールスタックの動作についても学ばなければなりません。そのような問題のために,20 年前に C 言語を書いていた人々にとって,さらにはプログラムを始めたばかりの若い技術者にさえも,コントロールフローが非常に奇妙で難解なものになっています。

"Jorjun" は,新しいアーキテクチャが妥当なものであっても,現在のような変化の速度が持続することはないだろう,と指摘する。

2年以内に,重要な IP をエンコードするための,もっと生産的な手段が登場することでしょう。ほら,すぐ後ろに,新参者がやってきています。彼らにとって,Java は無意味です - 彼らは 1990 年後半には存在しなかったのですから。Javascript というのは,愚かな言語に付けられた,愚かな名称です。波括弧とギークのまやかしに満ちた,はなはだ迷惑な創造物である Javascript は,私のような古い人間にはただ汚いだけで,分かりやすいというには程遠い存在なのです。

NOLOH の共同創業者である Asher Snyder 氏は,記事の全般的な前提に関しては "Web はイベントを目指すべきであり,現に目指している",と賛意を示しているが,Javascript がそれをリードするとは考えていない。"私たちはプラットフォーム,あるいは統合言語の時代へと進んでいます。それこそがラピッドデベロップメント(rapid development) に向けてWeb の狂気を飼い慣らす,たったひとつの方法なのです。"

InfoQ は先日,node.js と play フレームワークに関するいくつかの比較値 を発表した Subbu Allamaraju 氏から,簡単に話を聞いた。

私自身は,[node.js や play のようなフレームワークは] Web 開発者にとって,新鮮な考えをいくつももたらすエキサイティングなものだと思っています。Web フレームワークの世界,とりわけ最近の Java には,この種のシンプルさが欠けています。Netty や 旧式のサーブレットフレームワークの上におかない場合であれば,play は特に賢明な選択です。

Web アプリケーションアーキテクチャの進化は,間違いなく加速している。イベント駆動の世界においてあと何が REST にできるのか,という疑問しか残らないほど Web アプリケーションが "肥大化" したとき,私たちは最初にいた場所に舞い戻ることになるのだろう。実際に REST やその統一化されたインターフェース,あるいはそれが Web アプリケーションのアーキテクチャの変化を成功させた,という例は多くはない。Web アプリケーションアーキテクチャの将来について,読者諸氏はどのように見ているのだろう? Javascript が主流プログラム言語になることについて,どのように思うだろうか?

この記事に星をつける

おすすめ度
スタイル

BT