Maison  >  Article  >  interface Web  >  Que fait nodejs ?

Que fait nodejs ?

藏色散人
藏色散人original
2021-09-01 11:52:1626247parcourir

nodejs est un environnement d'exécution open source multiplateforme qui peut exécuter JavaScript côté serveur ; Node.js utilise le code d'exécution V8 développé par Google et utilise des technologies telles que les entrées et sorties événementielles, non bloquantes et asynchrones. modèles pour améliorer les performances et peuvent être optimisés. Volume de transfert et taille de l'application.

Que fait nodejs ?

L'environnement d'exploitation de cet article : système Windows 7, nodejs version 10.16.2, ordinateur DELL G3.

Que fait nodejs ?

Node.js est un environnement d'exploitation open source multiplateforme qui peut exécuter JavaScript côté serveur. Node.js appartient et est géré par la Fondation OpenJS (anciennement la Fondation Node.js, qui a fusionné avec la Fondation JS) et est un projet de la Fondation Linux. Node.js utilise le code d'exécution V8 développé par Google et utilise des technologies telles que des modèles d'entrée et de sortie événementiels, non bloquants et asynchrones pour améliorer les performances et optimiser le volume de transmission et l'échelle des applications. Ces techniques sont généralement utilisées dans les applications temps réel gourmandes en données.

Node.js La plupart des modules de base sont écrits en langage JavaScript. Avant l'émergence de Node.js, JavaScript était généralement utilisé comme langage de programmation côté client, et les programmes écrits en JavaScript s'exécutaient souvent sur le navigateur de l'utilisateur. L'émergence de Node.js permet d'utiliser JavaScript pour la programmation côté serveur. Node.js contient une série de modules intégrés qui permettent au programme de s'exécuter en tant que serveur autonome sans serveur HTTP Apache ou IIS.

introduction de Nodejs :

Node.js est une technologie très en vogue à l'heure actuelle, mais son expérience de naissance est très étrange.

Comme nous le savons tous, quelques mois seulement après que Netscape ait conçu JavaScript, JavaScript était en fait le seul standard pour le développement front-end.

Plus tard, Microsoft a vaincu Netscape via IE et unifié le bureau. En conséquence, le navigateur n'a fait aucun progrès en quelques années. (L'ancien IE 6 lancé en 2001 est encore utilisé par les gens aujourd'hui !)

Il n'y a pas de développement sans concurrence. Microsoft pensait que le navigateur IE6 était déjà très complet et n'avait pratiquement aucune marge d'amélioration, c'est pourquoi il a dissous l'équipe de développement d'IE6 ! Cependant, Google estime que la nouvelle génération de navigateurs prenant en charge les applications Web modernes ne fait que commencer, en particulier les performances du moteur du navigateur chargé d'exécuter JavaScript peuvent être améliorées de 10 fois.

D'abord, Mozilla a lancé le navigateur Firefox en 2002 avec l'aide de l'héritage de Netscape, qui avait sacrifié sa vie. Puis en 2003, Apple a lancé le navigateur Safari avec le noyau WebKit basé sur le navigateur open source KHTML, mais uniquement sur le navigateur open source KHTML. Plateforme Mac.

Par la suite, Google a également commencé à créer son propre navigateur. Ils se sont également intéressés au noyau WebKit et ont donc lancé le navigateur Chrome basé sur le noyau WebKit.

Le navigateur Chrome fonctionne sur les plates-formes Windows et Mac, et Google estime que pour exécuter des applications Web modernes, le navigateur doit disposer d'un moteur JavaScript très puissant, c'est pourquoi Google a lui-même développé un moteur JavaScript hautes performances appelé V8 Open source sous licence BSD. .

La guerre des navigateurs modernes a laissé le navigateur IE de Microsoft loin derrière car ils ont dissous l'équipe de navigateurs la plus expérimentée et la plus efficace au combat ! En regardant en arrière et en rattrapant mon retard, j'ai découvert que WebKit prenant en charge HTML5 était devenu un standard sur les téléphones mobiles et que le navigateur IE avait depuis été isolé des appareils mobiles grand public.

Qu'est-ce que la guerre des navigateurs a à voir avec Node ?

Il y a un gars nommé Ryan Dahl. Son travail consiste à écrire des services Web hautes performances en C/C++. Pour des performances élevées, les E/S asynchrones et pilotées par les événements sont les principes de base, mais écrire en C/C++ est trop pénible. Cet ami a donc commencé à imaginer développer des services Web dans des langages de haut niveau. Il a évalué de nombreux langages de haut niveau et a découvert que bien que de nombreux langages fournissent à la fois des E/S synchrones et des E/S asynchrones, une fois que les développeurs utilisent des E/S synchrones, ils ne sont plus trop paresseux pour écrire des E/S asynchrones, donc en fin de compte, Ryan destiné à JavaScript.

Étant donné que JavaScript est exécuté dans un seul thread et ne peut pas du tout effectuer d'opérations d'E/S synchrones, ce "défaut" de JavaScript l'amène à utiliser uniquement des E/S asynchrones.

Le langage de développement a été sélectionné et un moteur d'exécution est également requis. Ce type a déjà envisagé d'en écrire un lui-même, mais a sagement abandonné car V8 est un moteur JavaScript open source. Laissez Google investir dans l'optimisation du V8, et nous le modifierons uniquement pour l'utiliser sans avoir à payer. C'est une offre très rentable.

Ainsi, en 2009, Ryan a officiellement lancé un projet de serveur Web open source basé sur le langage JavaScript et le moteur V8, nommé Node.js. Bien que le nom soit très ringard, Node a introduit JavaScript dans le développement de serveurs back-end pour la première fois, et il y avait déjà d'innombrables développeurs JavaScript dans le monde, donc Node est devenu populaire tout d'un coup.

Quels sont les avantages de JavaScript exécuté sur Node par rapport aux autres langages de développement back-end ?

Le plus grand avantage est qu'avec l'aide du mécanisme naturel basé sur les événements de JavaScript et du moteur hautes performances V8, il est facile d'écrire des services Web hautes performances.

Deuxièmement, le langage JavaScript lui-même est un langage fonctionnel complet lors du développement front-end, les développeurs écrivent souvent de manière plus décontractée, ce qui donne l'impression aux gens que JavaScript est un « langage jouet ». Cependant, dans l'environnement Node, grâce au code JavaScript modulaire, à la programmation fonctionnelle et sans tenir compte des problèmes de compatibilité des navigateurs, la dernière norme ECMAScript 6 peut être directement utilisée pour répondre pleinement aux besoins d'ingénierie.

J'ai aussi entendu parler de io.js, qu'est-ce que c'est ?

Parce que Node.js est un projet open source, bien qu'il soit piloté par la communauté, il a toujours été financé par Joyent Company en coulisses. Parce qu'un groupe de développeurs n'était pas satisfait de la stratégie de Joyent, ils ont dérivé le projet io.js du projet Node.js en 2014 et ont décidé de le développer séparément, mais les deux sont en réalité compatibles.

Cependant, il existe un vieux dicton en Chine qui s'appelle « Si nous divisons pendant longtemps, nous devons nous unir ; si nous nous unissons pendant longtemps, nous devons nous diviser ». Peu de temps après la séparation, Joyent a déclaré vouloir se réconcilier, le projet io.js a donc décidé de revenir à Node.js.

L'approche spécifique est qu'à l'avenir, io.js ajoutera d'abord de nouvelles fonctionnalités. Si tout le monde est satisfait du test, les nouvelles fonctionnalités seront ajoutées à Node.js. io.js est la "version précoce", tandis que Node.js est la version stable en ligne, ce qui équivaut à la relation entre Fedora Linux et RHEL.

Apprentissage recommandé : "Tutoriel vidéo 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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn