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