実際には、node を学ばなければならないという意味ではありませんが、職場でのより良い開発、特により高度なプログラミング的思考を学ぶためには、node を学ぶことが必要です。
以下は、node の学習の必要性について詳しく説明します[推奨事項: node.js ビデオ チュートリアル]
1.node.jsは最も基本的な機能です。機能はブラウザなしで js を実行できるようにすることです。node をよく学べば、もはや「純粋なフロントエンド」にはなれません。#2。nodejs の学習はフロントエンド エンジニアリングの基礎です ( NodeJS Stream)
3. ノードをよく学ぶと、サーバー側 API を作成して独立した開発プロジェクトを実装できるようになります
4. 中間層として (詳細な質問: 中間層とは何ですか?)
- クライアント要求の受信
- HTML ページのレンダリング
- Bigpipe、Comet、Socket
- マージ インターフェイス リクエスト
- ルートのカスタマイズ
- データ キャッシュ
1. 古典的な 2 層構造: フロントエンド サーバー
2. 3 層構造: フロントエンドおよびバックエンド サーバー (現在の中規模および大規模プロジェクトで使用されている構造)3 層構造のサーバー側は、データベースの操作、データの管理
、バックエンドへのデータの返却のみを担当します。基本的に純粋なデータであり、データ サービスは含まれません。
バックエンドはフロントエンドが開発されている場合は、フロントエンドの学習コストが最も低いため、nodejs を優先します。
キャリアポジションが純粋なフロントエンドを生涯続けることである場合、nodejs を学ぶ必要はありませんが、実際には、純粋なフロントエンドを生涯続けるのは困難です一般的に、35歳になると、あなたの能力は「レンガを動かす」だけになり、職場での価値はどんどん低くなっていきます。
1. 会社全体の技術アーキテクチャを設計する必要があります
2。この問題はグローバルな観点から検討する必要があります3. 会社の最も重要な資産であるデータを管理する必要があります (データを管理している人には発言権があります)
ノードをよく学習するということは、 CTOになることもできますが、少なくともフロントエンドの職場のステータスを大幅に向上させることができます。
上記の理由をすべて排除したとしても、純粋なフロントエンドとして、ラーニング ノードにはプログラミング的思考を養い、問題について考える視野を広げることができるという大きな利点もあります。
NodeJ の 2 つの主要な特徴: イベント駆動型、ノンブロッキング I/O
したがって、この 2 つはNodeJs の最大の利点1. 高い同時実行性の処理 他のバックエンド言語と比較して、各接続は NodeJS エンジン プロセスで実行されるイベント (Event) を発行し、接続ごとに生成するのではなくイベント キューに入れます。 . 新しい OS スレッド (およびそれにサポートするメモリを割り当てます)
2. I/O 集約型アプリケーション
JavaScript のシングルスレッドの性質のため、NodeJs は CPU 集約型アプリケーションには適していません; CPU 負荷の高いアプリケーション Node に生じる主な課題は次のとおりです: JavaScript のシングルスレッドの性質により、長時間実行される計算 (大規模なループなど) がある場合、CPU タイム スライスが解放されず、後続の I/ O を開始できません;
:
RESTful API これは、NodeJS にとって最も理想的なアプリケーション シナリオです。数万の接続を処理できます。多くのロジックはありません。必要なのは、API をリクエストして、返すデータを整理することだけです。基本的には、データベースからいくつかの値を検索し、それらを応答に組み立てるだけです。応答は少量のテキストであり、受信リクエストも少量のテキストであるため、トラフィックは高くならず、最も多忙な企業の API ニーズも 1 台のマシンで処理できます。
Web アプリケーションの UI 層を統合する
現在の MVC アーキテクチャ、つまり Web 開発には 2 つの UI 層があり、1 つは最終的に表示されるブラウザーにあり、もう 1 つはサーバー側で、ページの生成と結合を担当します。-
たとえば、パーソナライズされたアプリケーションでは、各ユーザーに異なるページが表示され、キャッシュが無効であり、Ajax を開始する必要があります。リクエスト、NodeJS は大量の同時リクエストに応答できます
大量の Ajax リクエストを含むアプリケーション つまり、NodeJS は同時実行性が高く、I/O 集中型で、少量のビジネス ロジックを使用するシナリオでの使用に適しています -