2016-07-14 8 views
-3

私は周りをさまよっていて、答えやディスカッションを探していました。なぜnodejsが作成されたのですか?JSをブラウザから取り出して、それが主流の言語ファイル、IO、ネットワーク操作などのシステムリソース。 JavaScript Web APIを調べても、Nodejsと同じことをしているわけではありません。 Nodejsにファイルとの対話を行うfsモジュールがあり、そのためにWeb api interfaceがあるとします。 私たちは、Bluetoothやシステムバッテリーなどを読み取るようなAPIインターフェイスをたくさん持っています。 Web APIでIOを実行したり、ネットワークリクエストを行うことができるかどうかはわかりません。 したがって、NodejsはこれらのWeb APIとはまったく異なっています。Nodejs APIとJavaScript Web APIインターフェース

JavaScript完了APIS MDNのページ。

ありがとうございました。

+0

"*ブラウザからJSを取り出していた*" - あなたはかなり間違っています。サーバー上のJavaScriptはNode.jsの前に存在し、JavaScriptは最初から主流言語として設計されていました。 V8をエンジンとして使用することで競争が激しくなり、ノードが非常に人気を集めました。 – Bergi

+0

コメントありがとうございます。 Nodejsの前にサーバーのJavaScriptを詳述してください。 – Fida

+0

https://en.wikipedia.org/wiki/JavaScript#Server-side_JavaScript – Bergi

答えて

1

あなたが言及:

を私たちは、[ブラウザで読み込むファイル]用のWeb APIインタフェースを持つ

この文を使用して、慎重に

。ブラウザのJavaScriptは、直接ファイルシステムにアクセスすることはできません(たとえば、ユーザーがinput要素を含むファイルを選択するなどして、ブラウザが特定のファイルを使用することを肯定的に許可する必要があります)。ただし、node.jsを使用すると、ファイルシステムに直接アクセスできます(たとえば、fsモジュールを使用)。

我々はJavaScriptのウェブAPIに見た場合

は、彼らがNodejs

これは古典的な「ベン図」の可視化であるのと同じことをやってアレント。もちろん、ブラウザとnode.jsのJavaScriptが同じ言語であるため、交差する領域はたくさんあります。ここで

は、いくつかの違い(と、それは想像力の任意のストレッチで全て込みではない)のリストです:

  1. ブラウザでサーバーを実行している(Node.jsので幸運をサーバーを実行することができますあなたはNode.jsの直接ファイルシステムにアクセスすることができます)
  2. (ブラウザでこれを行うことはできません)
  3. あなたはNode.jsの
  4. で複数のプロセスを起動することができ、ブラウザでJavaScriptがために、web workersと呼ばれる機能を持っています例(node.jsでは使用されていません)

これは私の頭の上から考えてもいいが、node.jsを使うと、Python、Javaなどのようにマシン上でコードを実行できるようになる、Rubyなど

+1

これはとても役に立ちました。もちろん、ブラウザがファイルにアクセスできるようにする必要があります。 はい、これらのWeb APIはすべてのブラウザでサポートされていません。 – Fida

+1

お返事ありがとうございます。 :)私はちょうどこの2つについて人々の意見を知りたい。 – Fida

+0

@CKKhan問題ありません!あなたが役に立ったとうれしい –