web-dev-qa-db-ja.com

1つのウィジェットにjQueryを使用することの長所と短所を比較検討する

日付の入力にhtml選択ボックスまたはテキストボックスを使用しています。送信時に日付が検証され、無効な場合はエラーが返されます。私はこれまでjavascriptカレンダーを避けてきましたが、jQuerydatepickerはSOの人々の間で人気のある選択肢のようです。アプリを更新していて、Javascriptカレンダー(特にjQuery datepicker)を使用するかどうか疑問に思いました。これは既存のユーザーにとって優れた「機能」であり、アプリの「2011」アップグレードされた外観に適合します。

JQueryやその他のJSライブラリを使用していません。使用されているスクリプトは「プレーン」なJavaScriptです。 jQueryを使用する場合、ユニバーサル.jsファイルリストにjQueryのライブラリを含めるか、Googleのコピーにリンクする必要があります。いずれにせよ、ページの読み込み時間が長くなります。また、日付ピッカーの有無にかかわらず、検証(およびエラー処理)は維持され、日付ピッカーウィジェットは視覚的な目的のみであることを理解しています。しかし、UIは重要な要素です。

私が見ることができるポジティブな点は、将来的にはjqueryをもっと使用する可能性があり、ページの読み込み時間と帯域幅の問題について考える必要がなくなることです。

だから私の質問は、近い将来に1つの使用しか見られないのに、jQueryに沿って正しい決定を下すのかということです。または、「プレーンな」JSのみのカレンダーウィジェットを使用する必要がありますか、それとも単に選択ボックスまたはテキストボックスに固執する必要があります。

これをSOに投稿したかったのですが、トピックはプログラミングの実践と意思決定に関するものなので、ここに質問を投稿します。

5
abel

@Alexeyはほとんどそれを持っていますが、私が座っているところから...

ニースの日付ピッカーが必要な場合は、どちらを選択するかに関係なく、多少のオーバーヘッドが発生することになります。さらに、十分に開発された機能的なものを選択する必要があります。

それで、あなたがヒットするつもりであることを受け入れると、問題はあなたがどのくらいのヒットをする準備ができているかということになりますか?標準ライブラリを使用すると(そしてjQueryは優れています)、CDNからプルできるため、速度とキャッシュの両方のメリットが得られ、ほとんどの場合、サイトに固有のカスタムUIビットだけが残ります。

JQueryを入手すると、他の機会が開かれます(たとえば、自動提案リストはかなり些細なものになります)。UIが重要な場合は、jQueryを使用することでメリットが得られます。

5
Murph

JQueryを試してみることをお勧めします。縮小版では83kbであり、MS、Google、jQuery独自のCDNで配信できます。

いつかダイアログボックスを追加したいと思うかもしれません、AJAXなど。ところでSO jQueryを使用し、それはok =)

また、一部のブラウザはjsを並行してロードできます。 jQueryを使用して、UIからDatePickerプラグインのみを追加できます。

4
  1. Google CDNは時々遅いです(ライブラリをロードするために5-10秒待っています)。つまり、GZIPを使用して圧縮すると、サイズは約30kbになり、どの画像よりもはるかに小さくなります。そのためにCDNは必要ありません。
  2. ブラウザはJSを並列にロードできません。さらに、すべてのjavascriptコードは1つのCPUコア(シングルスレッド)に制限されています。もちろんdeferを使用できますが、問題が発生し、スクリプトが動作しない可能性があります。さらに、延期すると、JSの読み込み時にHTMLレンダリングがブロックされないだけで、コードはシングルスレッドに制限されます。

しかし、とにかくJQが必要になる可能性があり、それほど遅くはありません(DOJO UIのように、すべてのバージョンのIE)を数秒間フリーズしてから、最も単純なレイアウトでさえもフリーズするものと比較して)負荷)。

より良いコーディング習慣を促進する、はるかに優れた、より高速なlibであるmootoolsの使用を検討する必要があります。しかし、学ぶのも難しいですが、コードは読みやすくなります...

慎重に選んでください。 IE 2つ以上のライブラリを処理できないため、事前に作成されたJS UIコントロールが適切です。既に作成されたコード(Yahoo UI、Dojo)は非常に低品質で、非常に低速です。幸運なことに、すべてのIEユーザーを削除できます-心配する必要はありません。これまでに発明したJSのがらくたの半分をWebサイトに含めることができ、かなりうまく機能します...しかし=ではありませんIE;)

0
Slawek