Node.jsが非常にポピュラーになったことに気付き、小規模なプロジェクトを実行している人々のインスタンスを見てきました。
また、長所と短所のリストを見て、Node.jsで何ができるかを理解しましたが、PHP、Perl、Rubyなどの他のより成熟したサーバー側の技術との違いについてはまだ明確ではありません。レール。
特に、Node.jsと現在の選択肢との違いは何ですか?その理由は何ですか?
Node.jsが非常にポピュラーになったことに気付き、小規模なプロジェクトを実行している人々のインスタンスを見てきました。
また、長所と短所のリストを見て、Node.jsで何ができるかを理解しましたが、PHP、Perl、Rubyなどの他のより成熟したサーバー側の技術との違いについてはまだ明確ではありません。レール。
特に、Node.jsと現在の選択肢との違いは何ですか?その理由は何ですか?
回答:
Node.jsを既存のサーバー側フレームワークと異なる2つの重要な要素、非同期イベント、およびプログラミング言語としてのJavaScriptの使用があります。
既存のサーバー側フレームワークのほとんどは同期アーキテクチャを使用していますが、Node.jsは非同期アーキテクチャを使用しており、JavaScriptはこれをうまく処理できます。これは、サーバーがイベントに反応し、イベント(メッセージ)をデータベースなどに送信することを意味します。このスタイルのプログラミングは同期スタイルとは非常に異なり、他の言語では使いにくい場合があります。Node.jsは、非同期IOを備えた非同期スタイルを採用しており、拡張性に優れています。
イベント駆動型アーキテクチャもご覧ください
JavaScriptは、Webアプリケーションがクライアントで使用しているプログラミング言語です。サーバー側で同じ言語を使用すると、開発者はクライアントとサーバーの両方でJavaScriptの知識を適用し、必要に応じて同じ機能を使用できます。
Ryan DahlによるNode.jsの紹介プレゼンテーションで、Node.jsのイベント駆動型アーキテクチャについて詳しく説明することをお勧めします。
async
ものを持ち歩くとき、それは変わるかもしれません。問題は、他の言語でスケーラブルな非同期コードを書くことができないということではなく、適切な言語レベルのサポートなしでは(正しく)行うことがより難しいということです。
そのイベント駆動型のため、その異なる。これにより、サーバーのスケーラビリティが向上します。
一言で言えば;
スレッドモデル
イベントモデル
Session_Started
or Context_Authenticated
やPage_Load
?などのハンドラーを確認できます。
人気はJavaScriptの使用によるものであるという印象を受けました。多くのWeb開発者はJavaScriptを知っているため、同じ言語を使用してサーバー側のコードを開発できるのがセールスポイントです。これには、私が考えることができるいくつかの利点があります。