GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Dionysios G. Synodinos , 翻訳者 岡田 英久 投稿日 2009年1月30日
クライアントサイドにおけるウェブ開発の場面で Ajax が当たり前のように用いられるようになり、「どの JavaScript/Ajax フレームワークが最高か」という問いかけをよく耳にするようになった。Glenn Vanderburg 氏が記事の中で Prototype(参考記事リンク) と jQuery (参考記事)を比較すると、業界のエキスパートである Douglas Crockford 氏と Dion Almaer 氏からさまざまなレスポンスが返ってきた。
Glenn Vanderburg 氏は自身がプロとして JavaScript をつかった経験から語り始め、彼がどういう事情で両方のフレームワークをつかって作業するに至ったかを説明する(リンク)。
Rails をつかった開発を経験した多くのプログラマと同じく、わたしは JavaScript ライブラリである Prototype(リンク) に強い親しみを抱くようになった。それが Rails に組み込まれていることはさておくとしても、わたしにとって Prototype は自然な選択だった。わたしは Prototype をつかった作業を始める以前から JavaScript には精通していたし(リンク) (リンク) (参考記事・英語)、Prototype が JavaScript (リンク) の弱点のいくつかを克服してくれたことを非常に嬉しく思った。加えて、わたしはすでに数年間 Ruby をつかってプログラムをしていたので、明らかに Ruby からインスピレーションを得ている Prototype の哲学は非常に自然に思えた。
しかし、そんな中、わたしは jQuery を支持する声が日増しに強くなっていくのを聞いていた。わたしは jQuery (リンク)をざっと概観して感銘は受けたものの、Prototype から乗り換える気になるような要素は何もなかった。しかし jQuery を支持する声は増していき、わたしが尊敬する人々からも聞こえてくるようになった。その中には、ここ Relevance に勤めるわたしの同僚も何人かいた(リンク) (リンク) (リンク) (リンク) 。
わたしは現在、jQuery をつかった二つのプロジェクトにたくさんの時間を費やしている。何人かの経験豊富な jQuery ユーザといっしょに仕事をし、わたしの jQuery に関する知識や、jQuery から得られる安らぎは飛躍的に増加した。作業で発生する JavaScript タスクは、シンプルなものから複雑なものまであり、適度な多様性をもっていたので、わたしは jQuery の魅力を楽しみ、どのように応用利用できるのかを知る機会をもつことができた。
彼はひきつづき、両フレームワークの長所と短所を詳細に並べるが、彼の意見は Prototype を支持するほうに傾いている。
これらをもって Prototype が間違いなく jQuery よりすぐれていると言えるとは考えていない。jQuery は確かによくなった。そのデザインは基本的に制限されない(さらに言えば、わたしが jQuery に欠けていると考えている機能の多くはプラグインとして利用できる)。jQuery API のかかえる欠陥のいくつかは互換性を維持したまま修正することができないのは残念だが、将来のバージョンでは互換性を捨てて修正する選択肢もあるかもしれない。
だが、少なくとも Prototype が引けをとることはない。わたしや他の多くの人たちにとって、最適な JavaScript ライブラリはやはり Prototype だ。
彼の分析を受けて、Yahoo のシニア JavaScript アーキテクトであり JSON (参考記事リンク)産みの親でもある Douglas Crockford 氏は jQuery 擁護にまわる(リンク)。
わたしは Glenn 氏の議論には最後まで説得力を感じなかったが、何人かのコメント発言者は、jQuery に関して無知なままであることに気分よくしていることができると聞いて嬉しかったようだ。後発のライブラリである jQuery には Prototype の試みから学べるというメリットがあり、非常に表現力に富んだプログラミングモデルを考え出した。けれど、誤りはあり、jQuery の突然の人気は、それらの誤りを修正することを不可能にしているように見える。jQuery コミュニティはそれらの問題を許すだろうが、Glenn 氏は許さないようだ。John Resig 氏は頭のよい人物だし、それらの問題を修正できない期間に酷評を受けることにフラストレーションを感じているのでは、とわたしは考えている。彼は今たぶん Brendan 氏の気持ちがわかったのではないか。
Mozilla の Dion Almaer 氏は異なる意見で、Prototype が自分の嗜好に近いことに気付いている(リンク)。
最近、現実の文脈(例えば、チームにおけるスキルやプロジェクトが行うこと)抜きで考えることがある。
- 動的なウェブサイトを作るにあたって jQuery はすばらしいライブラリである。簡単で、エレガントで、うつくしい。わたしがリッチなサイトを構築するデザイナーだったら、かならず利用するだろう。
- Dojo は多くの機能が必要で大量の JavaScript を書かないといけない大規模なアプリケーションの構築に有効だ。必要とするものはすべて Dojo が提供してくれる。しかし、これは Dojo が小さな差異とで利用できないことを意味しない。新しいコアは小さく、高速で、すぐれている。
Prototype は、わたしにとって、これら二つの世界の中間にフィットするものだ。学ぶのが苦にならない程度に小さく、自分でたくさんのコードを書くハメにならない程度に大きい。
もちろん、Dion 氏が指摘するとおり、この議論は数多く存在する他のすぐれたフレームワークやライブラリやツール( Dojo(参考記事リンク), YUI(リンク), GWT(リンク),MooTools(リンク), ExtJS(リンク), SproutCore (リンク)など )のことを考慮していない。
あなたの考える最高の Ajax フレームワークはどれだろうか?
原文はこちらです:http://www.infoq.com/news/2009/01/prototype-vs-jquery
【ネクストスケープ】.NET、C#のアプリケーション開発者募集
【豆蔵】大好評のため、Jenkins講座を追加開催致します!Jenkins作者の川口氏が講師です。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信