Le premier est la performance. On a l'impression que les performances de Node.js ne sont pas aussi bonnes qu'on l'imaginait. L'utilisation de la mémoire est presque au même niveau que Ruby, et plus que Python et PHP. En termes de performances informatiques (c'est-à-dire d'utilisation du processeur), l'informatique pure n'a pas beaucoup d'avantages, mais comme elle peut bien contrôler le processus asynchrone, les performances globales sont bien meilleures que celles de PHP. Personnellement, je pense que Node.js a un grand potentiel en termes de performances, car il existe de nombreux grands projets dédiés à l'amélioration des performances des machines virtuelles JavaScript - comme les principaux navigateurs en même temps, JavaScript est un langage avec une syntaxe simple et ; a Les standards ouverts, contrairement à Python et PHP, sont difficiles à réaliser des reconstructions majeures pour améliorer les performances en raison de soucis de compatibilité.
Ensuite, il existe des gestionnaires de packages et des bibliothèques. Node.js intègre npm, car npm est un gestionnaire de packages très facile à utiliser, car le seuil d'écriture de JavaScript est faible et parce que JavaScript possède de nombreux excellents front- fin des bibliothèques qui ont été portées vers le backend, de sorte que le nombre de packages sur NPM dépasse désormais celui de PyPI et RubyGems, et dépasse de loin celui de PEAR et Composer. Une chose qui est différente de PHP dans le développement de Node.js est. que personne n'a peur d'ajouter des dépendances, et que toutes les petites exigences se trouvent sur NPM. Il existe des bibliothèques existantes pour implémenter cela - et elles peuvent souvent être trouvées. Par conséquent, le développement de Node.js combine essentiellement des dépendances, puis tend à écrire même une petite exigence indépendante dans une bibliothèque. Cela ressemble plus à l'idée UNIX. D'un autre côté, la communauté Node.js est très favorable à l'open source. Friendly signifie ici que la plupart des bibliothèques sont ouvertes et développées sur Github, et qu'elles utilisent des protocoles très lâches, comme le MIT, qui ne ressemblent pas à GPL.
Dans la communauté, la plupart des applications Node.js sont toujours des backends Web, et les bibliothèques liées au backend Web sont essentiellement créées par quelques grands, tels que express, jshttp, jade, mocha et koa, dirigés par TJ It was. développé par quatre ou cinq personnes dirigées par le leader. C'est un phénomène intéressant. ——Bien que Maître TJ ait finalement décidé de disparaître de la communauté Node.js.
Chaîne d'outils, Node.js est relativement jeune, et de nombreux outils utiles viennent d'apparaître au cours des deux dernières années, tels que des dialectes précompilés, des tests unitaires et des tests de simulation, des outils de construction, etc. c'est le cas, mais il doit être bien meilleur que PHP. Quant aux raisons, tout d'abord, c'est en grande partie parce que ces bibliothèques peuvent être utilisées à la fois pour le front-end et le back-end. En raison des exigences strictes du front-end Web, Node.js en profite d'ailleurs ; , en raison de la syntaxe flexible et simple de JavaScript, ces outils de bibliothèques peuvent le faire de manière très intelligente et élégante. Quant aux IDE, bénéficiant toujours du front-end web, il existe encore quelques IDE disponibles - même si le langage JavaScript lui-même n'est pas très propice à l'analyse statique.
Grammaire, je voudrais souligner encore une fois que la syntaxe de JavaScript est simple et flexible. Le point important est que JSON est presque le format de données le plus courant dans le domaine du Web, et JavaScript prend en charge nativement JSON ! Toutes les structures de données en JavaScript sont développées autour d'Object, un sur-ensemble de JSON, comprenant des tableaux, des fonctions, des objets et des classes. Bien sûr, cela pose aussi un problème, c'est-à-dire que parce qu'il y a peu de restrictions sur l'écriture, je ne sais pas comment écrire. Quand j'ai commencé à apprendre, j'ai toujours dû refactoriser à plusieurs reprises afin de comprendre les avantages et les inconvénients de. divers modèles de conception dans différentes situations et trouver ceux qui conviennent. On peut dire qu'il est facile de démarrer avec Node.js, mais cela mettra quand même à l'épreuve les compétences du développeur pour construire des projets à grande échelle. En raison de problèmes historiques, la syntaxe de JavaScript n'est pas belle, mais heureusement, nous disposons de divers dialectes précompilés, tels que Coffee Script, TypeScript, Dart, LiveScript et ClojureScript, il y en a toujours un qui vous convient.
Scénarios d'utilisation, JavaScript est un langage de programmation général, et il n'est pas nécessaire de parler du front et du back end du Web. Jetons un coup d'œil à d'autres aspects. Personnellement, je pense que Node.js est toujours très approprié pour écrire des outils serveur ou des outils d'exploitation et de maintenance, car de nombreuses situations d'exploitation et de maintenance peuvent fonctionner de manière asynchrone, et JavaScript a un support régulier relativement bon, ce n'est donc pas un gros problème à remplacer. bash et Python ; Node.js n'a besoin que d'installer l'interpréteur, et vous pouvez l'utiliser avec désinvolture sans craindre d'introduire des dépendances. Pour la programmation sur ordinateur et sur appareil mobile, Node.js dispose de node-webkit et de divers autres shells. Bien que l'expérience utilisateur actuelle ne soit pas très bonne, cela peut réduire considérablement les coûts de développement et traverser facilement les plates-formes.
Enfin, parlons de l'apprentissage de Node.js. À mon avis, il y a deux points dans l'apprentissage de Node.js. Le premier est de clarifier les « IO asynchrones basées sur les rappels d'événements » de Node.js, qui fait la différence entre. Node.js et autres programmes grand public La chose la plus différente à propos du langage. Ensuite, la deuxième étape consiste à jeter un œil aux 100 meilleures bibliothèques sur NPM. Vous n’avez pas besoin de les lire en détail. Il vous suffit de vous familiariser avec elles et de savoir à quoi sert chaque bibliothèque. Après avoir réalisé ces deux étapes, félicitations, vous êtes déjà développeur Node.js.