5

JavaScriptとHTML5を使用してアプリケーションの作成を開始します。このアプリケーションは、REST APIを使用して、開発チームがすでに慣れているjQueryの素晴らしさと使いやすさを利用してサーバーリソースにアクセスします。このアプリケーションは多言語対応になります。後で、JavaScriptを使用してDOMを作成することを決定しました。これにより、UIビットを使用して他のアプリケーションと統合できる柔軟性が得られ、jQueryUIウィジェットを使用して独自のウィジェットを作成できます。次に、JavaScriptファイルを参照するスクリプトタグを他のアプリケーションの関連ページに追加するだけで、その特定の機能の統合のほとんどが完了します。

JavaScriptを使用してDOMを作成するには多くのコーディングが必要なため、UIを作成するためにHTMLをJavaScriptに簡単に変換するのに役立つツールを探し始めました。そのため、GoogleClosureTemplatesが登場しました。

現時点で私が考えていたのは、UI DOMビットを書き込むためにGoogleクロージャーを使用することでした。これにより、自分のDOMと他のJavaScript(つまり、サーバー側の通信や、一度取得したUIの変更などの他のUIロジック)にJavaScriptをすばやく取得できます。サーバーからの応答とxはzのようなものをクリックするとyに変わるはずです)手書きする必要があります、私は書きやすいjQueryを使うべきです。

しかし、この質問を見た後、私は両方が互いに比較されているのを見て、それは私にいくつかのことについて疑問を残しました。

  1. そのとき考えていたことを実行すると、jQueryウィジェットでGoogle Closureによって生成された関数を呼び出してUIをレンダリングできますか?

  2. jQueryを離れてGoogleClosureを使用するだけで、要件を満たすのに十分でしょうか?

  3. Google Closureのドキュメントを読み始めたとき、独自のまったく新しい世界があり、学習曲線が関係していることがわかりました。これはいくらですか?それほど多くない場合は、5人の開発者からなるチームがそれを学ぶ準備ができています。

2と3では、すでにそれを使用したことがある人が何らかの洞察を提供できれば素晴らしいと思います。

注:-関連性がある場合に備えて、サーバー側のMicrosoft.NETスタックに取り組んでいます。

4

1 に答える 1

8

クロージャライブラリとクロージャテンプレートは相互に依存しないため、クロージャライブラリやクロージャコンパイラを使用しなくても、jQueryでクロージャテンプレートを確実に使用できます。テンプレートをjQueryで使用するSoyToJsSrcCompiler.jar には、ドキュメントの説明に従って、クロージャーテンプレートファイル(別名「Soy」ファイル)を変換します。次に、Soyファイルごとに1つのJavaScriptファイルがあり、各JavaScriptファイルには、対応するSoyファイルで定義されたテンプレートごとに1つの関数が含まれています。

生成されたJavaScript関数を使用するには、生成された関数に必要なユーティリティのセットであるsoyutils.jsも含める必要があります。したがって、本番システムには、次のJavaScriptファイルをこの順序で連結/縮小して含める必要があります。

  • soyutils.js
  • 大豆から生成されたJavaScript
  • jQueryライブラリ
  • アプリケーションコード。おそらくjQueryとテンプレート関数の両方に依存します。

クロージャーテンプレートを理解することは、ライブラリやコンパイラを学ぶよりもかなり簡単なので、開発チームがすぐに理解できると確信しています。オンラインドキュメントは圧倒されることなく徹底していると思いますので、構文と使用法を学ぶのにそれほど時間はかからないはずです。

ある時点でjQueryの代わりにClosureLibraryを使用することにした場合は、soyutils.jsの代わりにsoyutils_usegoog.jsを含める必要があることに注意ください。かなりの量のコードを入手した後で、jQueryではなくClosure Libraryに依存するようにアプリケーションロジックを書き直すことにした場合でも、この小さな変更はおそらく最も心配する必要はありません。つまり、最終的にはGoogle Closureを使用してアプリケーション全体を作成できると確信していますが、大規模なアプリケーション用に1つのJavaScriptライブラリから別のJavaScriptライブラリに移行するには、非常に多くのコード変更が必要になる可能性があります。

于 2011-08-02T15:34:20.153 に答える