ここでは、jqueryはフレームワークのカテゴリの下で言及されています:http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jqueryはJavaScriptライブラリまたはフレームワークですか?
ここでは、jqueryはフレームワークのカテゴリの下で言及されています:http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jqueryはJavaScriptライブラリまたはフレームワークですか?
回答:
図書館。ホームページによると、私は同意します。
フレームワークは通常、ソリューションを実装する特定の方法を強制するものですが、jQueryは、やりたいことをより簡単に実装できるようにするためのツールにすぎません。
確かに、それはJavaScriptライブラリです。しかし、フレームワークであるかどうかについては、それはフレームワークではないと思います。上を見ていたソフトウェア・フレームワークのウィキペディアの定義を:
定義されたアプリケーションプログラミングインターフェイスを提供するソフトウェアライブラリのコレクションです。
また、jQueryは単一のライブラリにすぎません。その後それは言う:
フレームワークには、それらを通常のライブラリから分離する主要な特徴的な機能が含まれています。
- 制御の反転-フレームワークでは、ライブラリや通常のユーザーアプリケーションとは異なり、プログラム全体の制御フローは呼び出し元ではなくフレームワークによって決定されます。
ですから、それはフレームワークではないと思います。
- ライブラリ-Webアプリを作成するときに役立つ関数のコレクション。あなたのコードが担当し、
それが適切だと思われるときにライブラリを呼び出します。たとえば、jQuery。- フレームワーク-Webアプリケーションの特定の実装で、コードが詳細を入力します。フレームワークが担当し、アプリ固有の何かが必要なときにコードを呼び出します。たとえば、durandal、emberなど。
フレームワークとライブラリリーは必ずしも相互に排他的な用語ではありません。フレームワークは通常、ライブラリーまたはライブラリーのコレクションです。
厳密に言えば、jQueryはライブラリですが、ある程度、ソフトウェアフレームワークの定義を満たしています。jQueryはソフトウェアフレームワークの定義を厳密に満たしていないと多くの人が主張していますが、実際には、フレームワークの定義を完全に満たしているJavaScriptフレームワークは他にありません。
ソフトウェアフレームワークの特徴の1つは、そのコードが変更から保護されていることです。JavaScriptでは、明らかにそうではありません。クライアント側コードに呼び出すことができるライブラリやフレームワークは変更可能ですが、それらを変更することはベストプラクティスに反します。したがって、BootstrapまたはAngularJSをフレームワークと呼ぶことが許されているのであれば、jQueryをフレームワークと呼ぶことができない理由もありません。このリンクには、jQueryがフレームワークと呼ばれる基準を満たす方法の詳細な説明が含まれています。
おそらく、jQueryがライブラリーよりもフレームワークに近い理由の最も良い説明は、開発者として、フレームワークのような機能を使用しないことを選択できるという事実でしょう。たとえば、単純なjQueryステートメントと標準のJavaScriptステートメントを同じ行に混在させることができます。AngularJSとBootstrapでは通常、これを行うことができません。したがって、jQueryがフレームワークであるかどうかの正確な答えは、「jQueryをフレームワークとして使用するかどうかによって異なります」です。
jQuery自体は確かにライブラリーであり、フレームワークではないという、ここでのすべての答えに同意します。Saeedの回答で指定されているように、重要な特徴の1つは制御の反転です。ただし、jQueryの機能を使用して独自のフレームワークを作成できます。
例:フレームワークのように定義されているのjQueryの上に構築されたプロジェクトがあるAタッチ操作に最適化されたウェブフレームワーク:jQueryのモバイル、JavaScriptMVCとsammy.js少数を示すためには。
jQuery UIなど、jQueryの上に構築された他のライブラリもあります。
ライブラリとフレームワークを定義する場合、その一部はセマンティクスのように見えますが、それらの例は私にとって線を引くのに役立ちます。
上記のスレッドのほとんどすべての人が話している制御の逆転について話す場合、jQueryはフレームワークです。
たとえば、$(document).ready {}関数を作成すると、IOCが取得されます。これは、このメソッドを呼び出すコンテナーであり、コードを中かっこで囲みます。私たちはこのメソッドの呼び出し元ではないため、「制御の反転」
このように、jQueryはフレームワークです。
ready()
。