Maison  >  Article  >  interface Web  >  Une brève analyse de la manière dont les développeurs front-end peuvent apprendre le langage Node ?

Une brève analyse de la manière dont les développeurs front-end peuvent apprendre le langage Node ?

青灯夜游
青灯夜游avant
2023-02-14 19:36:382232parcourir

Une brève analyse de la manière dont les développeurs front-end peuvent apprendre le langage Node ?

Cet article compile les notes que j'ai prises lorsque j'ai appris Node.js pour la première fois pour donner aux lecteurs intéressés par le langage Node.js une introduction concise à ce qu'est Node.js et comment apprendre ce langage.

1. Qu'est-ce que Node.js ?

Node.js est un environnement d'exécution JavaScript basé sur le moteur Chrome V8 développé par Ryan Dahl en 2009pour résoudre le problème de haute concurrence des serveurs Web.

À partir de cette définition, nous pouvons voir les trois fonctionnalités clés de Node.js :

  • Le but est de résoudre le problème de la haute concurrence des serveurs Web

  • La base est Le moteur Chrome V8 ;

  • Essence est un environnement d'exécution JavaScript

Par conséquent, pour comprendre ce qu'est Node.js, nous devons d'abord comprendre les trois fonctionnalités clés ci-dessus ; [Recommandations de tutoriel associées :

Tutoriel vidéo Nodejs, Enseignement de la programmation]

1.1 Trois fonctionnalités clés de Node.js

1.1.1 Afin de résoudre le problème de haute concurrence des serveurs Web

Ryan Dahl Avant de concevoir Node , s'est engagé à résoudre les problèmes de performances causés par la concurrence élevée des serveurs Web. Sur la base de son expérience professionnelle, il estime que le goulot d'étranglement des problèmes de performances réside dans les opérations d'E/S bloquées. Coïncidant avec le lancement du moteur V8 hautes performances de Chrome, Ryan Dahl estime que le mécanisme naturel de délégation d'événements asynchrone de JavaScript et l'absence de bagage historique du langage JavaScript sur le serveur sont très appropriés pour améliorer les performances des systèmes distribués à grande échelle grâce à

asynchrone contrôle des processus . Ainsi, Node.js est né.

Bien que Node.js ait maintenant été utilisé dans une variété de scénarios. Mais nous devons toujours comprendre que ce n'est qu'en comprenant le

principe de contrôle de processus asynchrone de Node.js que nous pourrons maîtriser le cœur de Node.js.

1.1.2 Moteur Chrome V8

Le noyau Chrome est basé sur WebKit et est divisé en deux moteurs suivants :

    Moteur de rendu : Web Core
  • Moteur d'interprétation JavaScript : JavaScript Core
Et Google ; n'est pas satisfait Pour améliorer les performances de JavaScript Core, nous avons développé indépendamment un moteur V8 avec de meilleures performances pour le remplacer.

En tant que moteur d'interprétation pour JavaScript, les principales fonctions du moteur V8 sont :

  • Interpréter et compiler JavaScript ;

  • Gestion du tas

  • Traitement de la récupération de mémoire ; ;

  • On peut dire que le moteur V8 fournit un environnement d'exécution JavaScript hautes performances, afin que JavaScript puisse avoir suffisamment de confiance pour fonctionner sur diverses plates-formes (navigateur, serveur, bureau).

  • 1.1.3 Environnement d'exécution JavaScript

Node.js n'est ni un langage (JavaScript) ni un framework (React, Koa), mais un

Environnement d'exécution JavaScript.

Alors, qu'est-ce qu'un

environnement d'exécution JavaScript ? Comme son nom l'indique, il s'agit d'un environnement

qui peut exécuter JavaScript. Alors, à quoi fait référence le

environnement ici ? Il comprend principalement les deux aspects suivants : fournit les capacités sous-jacentes d'interprétation et de compilation de JavaScript ;

  • fournit une série d'interfaces qui permettent aux développeurs d'appeler les capacités sous-jacentes du système (telles que le réseau, la lecture de fichiers et écriture, etc.) via JavaScript ;

  • Le premier est fourni par le moteur Chrome V8, tandis que le second est une bibliothèque d'E/S asynchrones hautes performances pilotée par événements écrite en C et C++ **libuv ** fourni. <p></p> <h3 data-id="heading-5">1.2 libuv</h3>

libuv est une bibliothèque d'E/S asynchrones multiplateforme et pilotée par événements qui fournit le processeur et le système d'exploitation pour Node. fonctions de niveau. Nous savons que différents systèmes d'exploitation planifient le matériel de différentes manières et que les jeux d'instructions du processeur varient également. libuv atténue cette différence et expose une interface d'exploitation système unifiée aux utilisateurs via un module nommé Node Bindings. libuv ** 所提供。

1.2 libuv

libuv  是一个跨平台的,事件驱动的异步 I/O 库,为 Node 提供了 CPU 和操作系统层面的功能。我们知道不同的操作系统调度硬件的方式不同,CPU 的指令集也各有差异。libuv 则抹平了这一差异,通过名为 Node Bindings 的模块,向用户暴露了统一的系统操作接口。

因此现在我们可以说,Node 实际上由两部分组成:Chrome V8 引擎以及 libuv 。这两层隐藏在  Node Bindings 之下,而用户面向 Node Bindings

Nous pouvons donc maintenant dire que Node se compose en fait de deux parties : le moteur Chrome V8 et libuv. Ces deux couches sont cachées sous Node Bindings, et les utilisateurs programment sur Node Bindings.

À ce stade, vous devez comprendre ce qu'est Node.js. Il s'agit d'un environnement exécutable JavaScript multiplateforme Dans cet environnement, vous pouvez utiliser JavaScript pour mobiliser pleinement les capacités du système d'exploitation et faire ce que vous voulez !

2. La philosophie de Node.js

Pour bien comprendre Node.js, en plus du principe de contrôle de processus asynchrone

mentionné ci-dessus, nous devons également comprendre les caractéristiques de Node.js depuis sa création jusqu'à sa création. développement. Philosophie de conception, qui nous aide à préférer l’écosystème Node.js. 🎜

Je pense que Node.js a les trois caractéristiques majeures suivantes :

  • ouverture ;

  • concentration ;

  • simple ;

2.1 Open

Node.js Au début de la conception, nous avons insisté pour que la bibliothèque principale soit suffisamment petite pour laisser libre cours à la créativité de la communauté, afin que toute la construction de grands systèmes vienne de la communauté autant que possible, afin que chaque composant puisse être rapidement essayé, testé et itéré. Je dois dire que même si cette approche semble un peu paresseuse, il s'avère que cette confiance dans la communauté et cette attitude ouverte ont récolté d'énormes récompenses : Node.js possède la plateforme de gestion de communauté et de packages la plus active et la plus grande au monde .

2.2 Focusnpm

Les développeurs de la communauté Node ont toujours maintenu une entente tacite pour contraindre les fonctions du package à être suffisamment étroites. Il est préférable de ne faire qu'une chose à la fois et d'exposer une seule interface à l'extérieur. monde. De cette façon, le développement, la conception et les tests du package deviendront plus simples et le package sera plus fiable. Ce type de concentration reflète également l'humilité et l'efficacité des développeurs.

2.3 Simplicité

Les packages de nœuds n'exposent généralement qu'un seul module et une seule interface, héritent des caractéristiques de simplicité de JavaScript et utilisent des structures de données simples. Cela rend les packages Node faciles à lire et à comprendre.

3. Comment les développeurs front-end apprennent-ils Node.js ?

Pour les développeurs front-end qui n'ont jamais été impliqués dans le développement côté serveur, les points suivants constituent les connaissances qui doivent être complétées dans le processus d'apprentissage de Node :

Compréhension approfondie des fonctionnalités du langage JavaScript (notamment ESNext) et la syntaxe ;

  • Connaissance des bases de données et capacités de conception de tables de données ;

  • Capacités de l'architecture du système ;

  • L'apprentissage de Node.js peut être divisé en deux parties : bibliothèque de Node.js ;

Apprendre à utiliser les frameworks Web associés ;

  • Pendant tout le processus d'apprentissage, il est recommandé d'adopter les quatre étapes d'apprentissage suivantes :

  • Lire les documents officiels ;

  • Écrivez une démo et familiarisez-vous avec les idées de vérification grammaticale ;

    Posez-vous continuellement des questions pendant ce processus et effectuez des recherches approfondies pour obtenir les réponses ;
  • approfondissez votre impression en partageant les résultats avec une sortie externe ;
  • 4. Résumé

  • Node.js est devenu une réalité de nos jours. C'est une technologie que tout développeur front-end doit maîtriser. Elle ouvre les capacités sous-jacentes au niveau du système d'exploitation aux développeurs front-end via libuv, permettant aux développeurs d'utiliser pleinement la puissance de calcul et les fonctions de l'ordinateur. Et a rendu possible l'idée de résoudre tous les problèmes de développement d'applications Web dans un seul langage. J'espère qu'à travers l'introduction de cet article, vous pourrez devenir curieux de connaître Node.js, et je vous souhaite une bonne exploration dans le futur.
  • Pour plus de connaissances sur les nœuds, veuillez visiter :

    tutoriel Nodejs
  •  !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer