ホームページ > 記事 > ウェブフロントエンド > Nodejsは何をするのですか?
nodejs は、サーバー側で JavaScript を実行できるオープンソースのクロスプラットフォーム実行環境です。Node.js は、Google が開発した V8 実行コードを使用し、イベント駆動型、ノンブロッキング、非同期入出力モデルによりパフォーマンスが向上し、アプリケーションの転送量とスケールが最適化されます。
この記事の動作環境: Windows 7 システム、nodejs バージョン 10.16.2、DELL G3 コンピューター。
nodejs は何をしますか?
Node.js は、サーバー側で JavaScript を実行できるオープンソースのクロスプラットフォームのオペレーティング環境です。 Node.js は OpenJS Foundation (JS Foundation と合併した以前の Node.js Foundation) によって所有および保守されており、Linux Foundation のプロジェクトです。 Node.js は、Google が開発した V8 実行コードを使用し、イベント駆動型、ノンブロッキング、非同期入出力モデルなどのテクノロジーを使用して、パフォーマンスを向上させ、アプリケーションの送信量と規模を最適化します。これらの手法は通常、データ集約型のリアルタイム アプリケーションで使用されます。
Node.js 基本モジュールのほとんどは JavaScript 言語で書かれています。 Node.js が登場する前は、JavaScript がクライアント側のプログラミング言語として通常使用され、JavaScript で書かれたプログラムはユーザーのブラウザ上で実行されることがよくありました。 Node.js の登場により、JavaScript をサーバーサイド プログラミングに使用できるようになります。 Node.js には、Apache HTTP サーバーや IIS を使用せずにプログラムをスタンドアロン サーバーとして実行できるようにする一連の組み込みモジュールが含まれています。
nodejs の紹介:
Node.js は現在非常に注目されているテクノロジーですが、その誕生体験は非常に奇妙です。
ご存知のとおり、Netscape が JavaScript を設計してからわずか数か月で、実際には JavaScript がフロントエンド開発の唯一の標準になりました。
その後、Microsoft が IE で Netscape を破り、デスクトップを統一した結果、ブラウザは数年間進歩しませんでした。 (2001 年にリリースされた古い IE 6 は、今でも人々に使用されています!)
競争のない開発はありません。 Microsoft は、IE6 ブラウザはすでに非常に完成度が高く、改善の余地がほとんどないと考えていたため、IE6 開発チームを解散しました。ただし、Google は、最新の Web アプリケーションをサポートする新世代のブラウザーはまだ始まったばかりで、特に JavaScript の実行を担当するブラウザー エンジンのパフォーマンスは 10 倍向上できると考えています。
まず、Mozilla は、自らの命を犠牲にした Netscape の遺産を活用して 2002 年に Firefox ブラウザを発売し、その後 2003 年に Apple は、オープンソースの KHTML ブラウザをベースにした WebKit コアを搭載した Safari ブラウザを発売しました。ただし、Mac プラットフォームにのみ限定されます。
その後、Google も独自のブラウザを作成し始めました。彼らは WebKit コアにも興味を持ち、WebKit コアをベースにした Chrome ブラウザを立ち上げました。
Chrome ブラウザは Windows と Mac のプラットフォームで動作しますが、最新の Web アプリケーションを実行するにはブラウザに非常に強力な JavaScript エンジンが必要であると Google は考えており、高性能の JavaScript エンジンを開発しました。その名前は V8 です。 、BSD ライセンスの下でオープンソースです。
現代のブラウザ戦争により、最も経験豊富で最も強力なブラウザ チームが解散したため、Microsoft の IE ブラウザは大きく遅れをとりました。過去を振り返ってみると、HTML5 をサポートする WebKit が携帯電話の標準となり、それ以来、IE ブラウザは主流のモバイル デバイスから孤立していることがわかりました。
ブラウザ戦争は Node と何の関係があるのでしょうか?
Ryan Dahl という名前の人がいます。彼の仕事は、C/C を使用して高パフォーマンスの Web サービスを書くことです。高性能化するには非同期IOとイベントドリブンが基本だが、C/Cで書くのは苦痛すぎる。そこでこの友人は、高級言語を使用して Web サービスを開発することを想像し始めました。彼は多くの高級言語を評価し、多くの言語は同期 IO と非同期 IO の両方を提供しているものの、開発者が一度同期 IO を使用すると、非同期 IO を書くのが面倒ではなくなることがわかり、最終的に Ryan はJavaScript を対象としています。
JavaScript は単一スレッドで実行され、同期 IO 操作をまったく実行できないため、JavaScript のこの「欠陥」により、非同期 IO のみが使用されます。
開発言語が選択され、ランタイム エンジンも必要です。この男はかつて自分でコードを書こうと考えましたが、V8 はオープンソースの JavaScript エンジンであるため、賢明にも諦めました。 Google に V8 の最適化に投資してもらい、使用するためにのみ変更を加えますので料金はかかりません。これは非常に費用対効果の高い取引です。
そこで、2009 年に、Ryan は、Node.js という名前の、JavaScript 言語と V8 エンジンに基づくオープン ソース Web サーバー プロジェクトを正式に立ち上げました。非常にダサい名前ですが、Node はバックエンド サーバーの開発に初めて JavaScript を導入し、世界中にはすでに無数の JavaScript 開発者がいたため、Node は一気に人気になりました。
他のバックエンド開発言語と比較して、Node 上で実行される JavaScript の利点は何ですか?
最大の利点は、JavaScript の自然なイベント駆動メカニズムと V8 高性能エンジンの助けを借りて、高性能 Web サービスを簡単に作成できることです。
第二に、JavaScript 言語自体は完全な関数型言語であるため、フロントエンド開発中、開発者はよりカジュアルに記述することが多く、人々は JavaScript が「おもちゃの言語」であると感じさせます。ただし、Node 環境では、モジュール式 JavaScript コード、関数型プログラミングを通じて、ブラウザーの互換性の問題を考慮せずに、最新の ECMAScript 6 標準を直接使用して、エンジニアリングのニーズを完全に満たすことができます。
io.js についても聞いたことがあるのですが、これは一体何ですか?
Node.js はオープンソース プロジェクトであるため、コミュニティによって推進されていますが、常に舞台裏で Joyent によって資金提供されてきました。 Joyent の戦略に不満を抱いた開発者のグループは、2014 年に io.js プロジェクトを Node.js プロジェクトから分離し、別々に開発することにしましたが、実際には 2 つは互換性があります。
しかし、中国には「長く分かれば団結し、長く団結すれば必ず分かれる」という古いことわざがあります。分離から間もなく、Joyent は和解したいと述べたので、io.js プロジェクトは Node.js に戻ることを決定しました。
具体的なアプローチとしては、将来的には、まず io.js に新機能が追加され、全員がテストに満足できれば、その新機能が Node.js に追加されます。 io.js は「アーリーアダプター バージョン」、Node.js はオンライン安定バージョンであり、Fedora Linux と RHEL の関係に相当します。
推奨される学習: 「nodejs ビデオ チュートリアル 」
以上がNodejsは何をするのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。