5

私はPython、djangoを使用してエンタープライズWebアプリケーションを設計しています。私が最終的に決定するのは、使用するjavascriptライブラリです。GoogleのクロージャーライブラリまたはYUI3の使用を考えています。開発のほとんどは、jQueryを使用しました。jQueryを使用して高速にコーディングできますが、エンタープライズでの使用には適していないようです。

YUI3はかなり良いようです。使用したいほとんどのウィジェットが含まれていますが、Closureライブラリはほとんど同じです。Closureライブラリのより良いオファーはClosureCompilerを持っていることですが、ClosureはYUI3よりもはるかに多くのコードを書く必要があるようです。YUI3のドキュメントもかなり良いです。

アプリケーションはWebデバイスとモバイルデバイスの両方を対象としているため、AndroidやiPhoneなどのモバイルデバイスでライブラリが破損することはありません。

もしあなたが私だったら、あなたはどのような決断をしますか?

4

4 に答える 4

7

Disclamer

私は主にエンタープライズ環境でのjQueryについてのコメントを利用していますが、YUIの経験が不足しているため、Closureで使用しないことについて意識的なアドバイスをすることはできません。

しかし、他に答えがない場合は、Closureでの私の経験を共有します。


クロージャーライブラリ

私がここ数件のプロジェクトで使用しているクロージャーライブラリーについては、決して専門家ではありませんが、良いことしか言えません。

ライブラリは、あらゆる種類のUIを構築するときに必要なコアコンポーネントを提供します。ただし、jQueryとは異なり、何兆もの「すぐにデプロイできる」プラグインスクリプトが付属していません。また、一部の人が言うように、バッテリーは含まれていません。

基本的なイベント、コントロール、xhr、ダイアログ、フォームコンポーネントなどがあり、私のアカウントでは、名前空間(または少なくともそれらのように見えるもの...)があります。

これにより、想像力とJavaScriptの能力によってのみ制限される独自のカスタムUIを作成できます(JSは、独自の煩わしさがある場合でも、非常に強力な言語です)。

また、コードを最小化するだけでなく、未使用のコードをすべて除外し、型チェックを行い、デバッグなどに役立つ警告を表示するClosureコンパイラの助けを借りて、あらゆる規模のチームによって構築された大規模なアプリケーションを構築するための強固な基盤のように見えます。

私の意見では、エンタープライズプロジェクトでjQueryよりもClosureを使用する主な理由は一貫性です。プラグインは素晴らしいですが、プログラミングの実践、視覚的なスタイルと構造、パフォーマンス、使用法など、すべてのレベルで一貫性がない傾向があります。大規模なプロジェクトでこれらの小さな不整合を取り除くと、多くの時間を浪費する可能性があります。

したがって、結論として、カスタムUIを必要とする大規模なプロジェクトがあり、柔軟性が高い場合は、クロージャーがその仕事に適したツールです。そして、「名前空間」を使用すると、すべてのPythonっぽさを感じることさえあります。

PSサーバー側でもDjangoを使用しています。

于 2011-09-29T21:51:12.277 に答える
4

ここでは、タイプチェック、ミニファイ、名前空間など、重要な側面のほとんどに触れましたが、さらにいくつか追加したいと思います。それらが提供するテンプレートソリューションに加えて、超高速で完全な国際化サポートを備えているだけでなく、ライブラリと混合して圧縮します。また、Javaコードにコンパイルされるため、同じテンプレートからサーバーとクライアントの両方でレンダリングできます。次に、完全なライブサイクルを持ち、レンダラーをコンポーネントから分離するコンポーネントアーキテクチャがあります(スイングまたはフレックスに精通している場合は、アイデアが得られます)。2つのモデルがあります。1つはクライアント側のレンダリングで、もう1つは再生する装飾です。サーバー側のレンダリングと一緒に美しく。

テストソリューションは明確に定義されており、今では何千行ものjavascriptがあり、クロージャがなければ、保守不可能な混乱したIMOになっていたでしょう。

于 2012-01-29T12:02:56.837 に答える
2

私はYUI3を使います。特にGoogleのクロージャーを検討している唯一の理由がコンパイラーである場合。これはYUI3でうまく機能するため、YUIコンプレッサーよりもはるかに優れた圧縮率を実現します。Closureコードの場合ほどうまく機能しないと確信していますが、テストするのはかなり難しいです。

YUI 3のモジュラーフレームワークは素晴らしく、重すぎずに歯痛を与えるのに十分な砂糖があります。Yahooはすべてのサイトでこれを使用しており、パフォーマンスに重点を置いています(したがって、すべてが悪いわけではありません)。

于 2011-09-27T23:44:41.037 に答える
0

私が行ったテストでは、Google Advanced Compressの方が優れており、Yahoo!YUIコンプレッサー。ここでテストを行うことができます:http: //jsperf.com/closure-vs-yui

于 2013-01-17T21:00:35.200 に答える