25

数ヶ月前、私はjQueryプラグインでいくつかの実験を始めました。Interenetでいくつかのチュートリアルを見つけ、何かをまとめ始めました。
数日前、私は自分の「プラグイン」を構築する必要があり、古いプロジェクトに戻りました。インターネットでさらに情報を見つけようとして、ウィジェットと呼ばれるこれらの新しい「もの」にぶつかりました。

私が理解していることについては、プラグインを忘れてウィジェットの開発を開始する必要があります。プラグインは古い概念ですか、それともまだ有効ですか?インターフェイス付きのカスタムjqueryコントロールが必要な場合の最良のアプローチは何ですか?

私はjQueryUIを幅広く使用しています。

4

2 に答える 2

28

私は自分自身と同等の質問をしました、そして私はこれにつまずきまし (jQueryドキュメント):

ステートレスプラグインとステートフルプラグイン

ほとんどのjQueryプラグインはステートレスです。彼らはいくつかの行動を実行し、彼らの仕事は終わりました。たとえば、を使用して要素のテキストを設定した場合、 .text( "hello" )設定フェーズはなく、結果は常に同じです。これらのタイプのプラグインの場合、jQueryのプロトタイプを拡張するだけで意味があります。

ただし、一部のプラグインはステートフルです。それらは完全なライフサイクルを持ち、状態を維持し、変化に反応します。これらのプラグインには、初期化と状態管理(場合によっては破棄)専用の多くのコードが必要です。これにより、ステートフルプラグインを構築するための多くの定型文が作成されます。さらに悪いことに、各プラグインの作成者はライフサイクルと状態を異なる方法で管理する可能性があり、その結果、プラグインごとに異なるAPIスタイルが発生します。ウィジェットファクトリは、ボイラープレートを削除し、プラグイン間で一貫したAPIを作成することで、両方の問題を解決することを目的としています。

一貫性のあるAPI

ウィジェットファクトリは、ウィジェットの作成と破棄、オプションの取得と設定、メソッドの呼び出し、およびウィジェットによってトリガーされるイベントのリッスンの方法を定義します。ウィジェットファクトリを使用してステートフルプラグインを構築することにより、定義された標準に自動的に準拠し、新しいユーザーがプラグインの使用を開始しやすくなります。インターフェイスの定義に加えて、ウィジェットファクトリはこの機能の多くを実装します。(...)

初期化のオプションの設定

オプションを受け入れるプラグインを作成するときは常に、できるだけ多くのオプションのデフォルトを定義してから、ユーザー提供のオプションを初期化時にデフォルトとマージする必要があります。(...)ウィジェットファクトリはこの機能を提供し、さらに少し進んでいます。

これが私が最初に答えを探している場所なので、私は機能の参照のためにここに投稿しています!:)

于 2014-02-23T12:32:50.540 に答える
25

jQueryプラグインまたはjQueryUIウィジェットのいずれかを作成できます。

何をしたいかによります。これらはどちらも時代遅れではありません。ウィジェットを作成する場合、それはjQuery UI(そしてもちろんjQuery)に依存します。プラグインを作成する場合、それはjQueryのみに依存します。本当に、それはあなたが何を達成したいかに依存します。

于 2011-06-07T17:19:44.850 に答える