web-dev-qa-db-ja.com

JQueryとAngularJSとNode.jsの違い

私はWeb開発を始めたばかりで、これまでのところ私は知っています:

HTML - ウェブサイトのレイアウト

CSS - きれいに見せる

JavaScript - 機能

では、 jQueryAngularJS 、および Node.js とは何ですか。

簡単に検索した結果、jQueryは "JavaScriptライブラリ"、AngularJSは "JavaScriptベースのオープンソースフロントエンドWebアプリケーションフレームワーク"、そしてNode.jsは "JavaScriptランタイム環境"であることがわかりました。

それらはすべてJavaScriptに関連しているように見えますが、新しい言語ですか? 「フレームワーク/ライブラリ」とはどういう意味ですか?

簡単な答えをいただければ幸いです。 (私はWebプログラミングを始めたばかりですが、私はプログラミングに精通しています)。

103
K Split X

jQueryはライブラリです (クライアント側)

jQuery は、高速、小型、軽量、「少ない書き込み、より多くの実行」、そして機能豊富なJavaScriptライブラリです。

HTMLドキュメントのトラバーサルと操作、イベント処理、アニメーション、そして Ajax などのことが、多数のブラウザにわたって機能する使いやすいAPIによってさらに簡単になります。

AngularJSはMVCフレームワークです (クライアント側)

AngularJS は、動的Webアプリケーションを開発するためのクライアントサイドJavaScript MVCフレームワークです。

HTMLをテンプレート言語として使用することを可能にし、アプリケーションのコンポーネントを明確かつ簡潔に表現するためにHTMLの構文を拡張することを可能にします。 AngularJSのデータバインディングと依存性注入は、そうでなければ書かなければならないコードの大部分を排除します。そしてそれはすべてブラウザ内で行われるため、あらゆるサーバーテクノロジとの理想的なパートナーになります。 AngularJSはもともとGoogleのプロジェクトとして開始されましたが、現在はオープンソースのフレームワークです。

Node.jsはプラットフォームおよびランタイム環境です (サーバー側)

Node.js は、Google ChromeのJavaScriptエンジン(V8エンジン)上に構築されたサーバーサイドおよびネットワーキングアプリケーションを開発するためのオープンソースのクロスプラットフォームランタイム環境です。 Node.jsアプリケーションはJavaScriptで書かれており、OS X、Microsoft Windows、およびLinux上のNode.jsランタイム内で実行できます。

Node.jsはまた、Node.jsを使用したWebアプリケーションの開発を大幅に簡素化するさまざまなJavaScriptモジュールの豊富なライブラリを提供します。 Node.jsはイベントドリブンのノンブロッキングI/Oモデルを使用しているため、軽量で効率的で、分散デバイスをまたいで実行されるデータ集約型のリアルタイムアプリケーションに最適です。

ライブラリ対フレームワーク

ライブラリとフレームワークの主な違いは「コントロールの逆転」です。ライブラリからメソッドを呼び出すときは、あなたがコントロールしています。しかしフレームワークでは、制御が逆になります。フレームワークがあなたを呼び出します。

Enter image description here

図書館

Webアプリケーションを書くときに役立つ関数の集まり。あなたのコードが担当しており、それが適切であると判断したときにライブラリを呼び出します。たとえば、jQueryです。

フレームワーク

Webアプリケーションの特定の実装。コードが詳細を埋めます。フレームワークが担当しており、アプリケーション固有のものが必要なときにコードを呼び出します。例:AngularJS、 DurandalEmber.js など.

198
Aruna

簡単に言えば、

  • jQuery - HTMLとCSSを操作するためのJavaScript関数のコレクションです。
  • AngularJS - HTMLとCSSを整理するのに役立つJavaScriptフレームワークです。
  • Node.jsは、JavaScriptランタイムです。サーバーやローカルマシン上のブラウザのようなものですが、ブラウザのレンダリングエンジンやその他の機能は含まれていません。単なるランタイムです。

簡単な言葉でライブラリとフレームワークの主な違い:
フレームワーク 特定のアーキテクチャを課し、アプリケーションがその期待に従うことを期待する
[ - ____。] ライブラリ は、非常に具体的な問題を解決することを目的としたきめ細かい機能を提供することが多い低レベルのビルディングブロックの集まりです(すなわちjquery.post()関数)

27
Dmitry Matveev

jQuery

jQueryはあなたのためにたくさんのことをするライブラリです。このコードを自分で書く必要がないように、便利で一般的に使用される関数がたくさん含まれています。それは石器時代の大工であることと、あなたの処分でたくさんの動力工具を持っていることの間の一種の違いです。

AngularJS

AngularJSは、対話型WebサイトおよびWebアプリケーション用のフロントエンド、グラフィカルユーザーインタフェース(GUI)を構築するために使用されるフレームワークです。 Node.jsと併用すると強力な組み合わせになります。

Node.js

Nodeは、バックグラウンドでデータを引き出すAPI _ rest _ / endpointsなど、バックエンドWebサービスを構築するために使用されるフレームワークです。 AngularJSを使用してボタンやGUI要素をこれらのエンドポイントに接続すると、豊富なデータ駆動型のWebアプリケーションやWebレポートを作成できます。これらのサービスはRESTfulなので、フロントエンドが要求を送信し(ユーザーがボタンをクリックする)、データベースクエリを実行するかファイルを読み取ってデータを吐き出すまで待機し、Webアプリケーションはそれをユーザーに表示できます。

フレームワーク一般

初期の大工の類推におけるフレームワークは、あなたのために仕事をするためにプロの建築者のチームと契約するようなものです。あなたは十分に詳細に仕事を説明します、そして、彼らは引き継ぎ、そして実際にそれを成し遂げます。したがって、仕事を自分で行うのではなく、ビルダーのチームが理解できる正しい言語で仕事の仕様を思いつくことに、あなたの仕事は減ります。

AngularJSは電気と共にインテリアデザインチームのようになり、Node.jsはそれ以外のすべてになります。単純化し過ぎ?多分。しかし、あなたは簡単な説明を求めました。

ですから、AngularJSとNode.jsを反対のものと考えることもできますが、同じアプリケーションまたはプロジェクト内で一緒に使用することができます。目的は異なりますが、どちらもJavaScript(およびある程度jQuery)を使用しています。

17
Tim
  • Framework :これはhowの与えられた構造を表します。特定の問題を解決/単純化したり、アーキテクチャを「整然とした」順序にしたりするための、ヘルパーやコンストラクタなどに沿ったコードテンプレートとほとんど同じです。例、 Backbone.js 、RequireJS、 Socket.IO 。開発者が自分のアプリケーションに固有の部分に集中することを可能にするフレームワークカプセル化一般的なアプリケーション機能。

  • Library :ブラウザ、DOMモデルなど、さまざまなレイヤを抽象化したツールキット全体です。また、優れたツールキットとして、使用するツールや素敵なものが多数用意されているため、一般的に簡素化されます。あなたのコーディング経験。例はjQueryと MooTools です。

見て ここ 詳細については。

7
Yaser

これが、彼らが日々人気を集めている理由です。

jQuery

  • Jqueryコードは比較的短いです。たった5行のjQueryコードが25行の従来のJavaScriptコードに相当することがあります(たとえば、AJAXを使ってデータファイルをロードする)。これは、より少ないコードとはるかに小さなファイルを意味します。
  • 大規模ライブラリ:jQueryを使用すると、他のJavaScriptライブラリと比較して、さまざまな機能を実行できます。
  • Ajaxを使った非常に簡単な作業:jQueryを使用すると、Ajaxテンプレートを簡単に開発できます。Ajaxを使用すると、ページ全体を再ロードしなくてもページ上でアクションを実行できる洗練されたインターフェースが可能になります。

AngularJS

  • 双方向のデータバインディング:jQueryで単純な双方向のデータバインディングイベントを作成できますが、JavaScript MVCライブラリはモデルをビューに接続するためのより宣言的な(HTMLを使用した)方法を提供します。
  • SPAに最適( シングルページアプリケーション ):AngularJS、Aurelia、 Ember.jsMeteor のようなライブラリは、書くのではなくすべての配管を提供します。すべてjQueryで

Node.js

  • 速い:JavaScriptの高速実行の超高速化に加えて、Node.jsの真の魔法はイベントループです。イベントループは、すべてのI/O操作を非同期的に実行する単一のスレッドです。伝統的に、入出力操作は同期的に(ブロッキング)または非同期的に実行され、作業を実行するために並列スレッドが生成されます。
  • リアルタイムで簡単にできる:Node.jsが多数の同時接続で優れている場合は、チャットやゲームなどのマルチユーザーのリアルタイムWebアプリケーションで優れていることは意味があります。 Node.jsのイベントループはマルチユーザー要件を処理します。
7
ab29007

インタラクティブWebサイトを作成するには、HTML、CSS、およびJavaScriptを使用します。

jQueryはJavaScriptで書かれたツールです。

AngularJSはJavaScriptで書かれたツールです。

ReactはJavaScriptで書かれたツールです。

これらのツールは、HTML、CSS、およびJavaScript間のやり取りを独自の規則に従って管理するのに役立ちます。ツールが非常に大きくなると、その特性に応じて「ライブラリ」や「フレームワーク」のような名前になることがあります。

私たちはよくWebブラウザでJavaScriptを実行します。しかし数年前の時点で、Node.jsと呼ばれるものが登場し、ブラウザの外部でJavaScriptを簡単に実行できるようになりました。私はそれを「ブラウザの外部でJavaScriptを実行するプログラム」と考えるのが好きです(つまり、HTMLやCSSを参照する必要はありません)。

6
therobinkim