Vous en avez peut-être déjà entendu parler, Node.js! Oui, grâce à lui, les développeurs JavaScript peuvent devenir très facilement Full-Stack. Par conséquent, dans cette vidéo, j’expliquerai sa signification exacte. Mais d’abord, je vais vous montrer les avantages de Node.js et expliquer en détail dans quelles applications il doit être utilisé et dans quelles applications il est préférable de l’éviter. Allons-y !

C’est quoi NodeJS ?

Si vous codez déjà côté client, vous devez utiliser Javascript. Pourquoi? Parce que tous les navigateurs sont équipés d’un moteur JavaScript, qui convertit notre code JavaScript en code machine.

Un jour, il y avait un gars du nom de Ryan Dahl, qui avait une idée géniale, c’était d’utiliser le moteur JavaScript V8, que vous avez trouvé dans le navigateur Chrome et dans Voyager. Il a créé la plateforme Node.js!

Node.js est très couramment utilisé pour écrire des services côté serveur appelés API (interfaces de programmation d’application).

Enfin, on peut dire que Node.js représente une alternative aux langages serveur tels que PHP, Java ou Python.

Ce choix est devenu très populaire dans de nombreuses entreprises, même dans de grandes entreprises comme PayPal a également subi des changements révolutionnaires.

PayPal utilisant Java a décidé de tester Node.js sur une petite partie de son code, et les résultats ont été impressionnants.

• Il a fallu 2 développeurs Node.js au lieu de 5 développeurs Java pour construire la même chose

• Les développeurs de l’équipe Node.js ont effectué le même travail que l’équipe Java en deux fois moins de temps

• Par rapport à Java, les lignes de code dans Node.js sont réduites de 33% et les fichiers sont réduits de 40%

• La version Node.js est 35% plus rapide que la version Java

Par conséquent, bien sûr, nous ne devrions pas nous perdre à cause de cela. Ces résultats peuvent être dus à de nombreux autres facteurs. Peut-être que nous ne savons pas que les développeurs Node.js sont très bons, mais les développeurs Java sont stupides. .

Mais cela reste exaspérant, et il utilise évidemment Node.js comme alternative au backend de notre application web.

Définiton

Maintenant, je vais vous expliquer les avantages de Node.js, mais je ne veux pas dépenser beaucoup d’astuces sans vous comprendre.

Alors s’il vous plaît, attendez! C’est le moment décisif! Je discuterai de nombreux concepts que vous ne connaissez peut-être pas: nous discuterons des systèmes RTA, SPA, monothread et multithread, bloquants et non bloquants.

C’est quoi RTA ?

RTA signifie applications en temps réel, ce sont des applications en temps réel, et ce sont des applications qui nécessitent des mises à jour très fréquentes.

Permettez-moi de donner un exemple: le programme de messagerie instantanée de style WhatsApp est RTA. Vous devez connaître le nouveau message immédiatement, car si vous recevez un message du correspondant au bout de 10 minutes, cela entraînera une très mauvaise application

Et c’est quoi SPA ?

 Ce sont une abréviation pour les applications d’une seule page. Il n’y a qu’une seule page html dans ces applications et le contenu de cette page change en fonction des opérations de l’utilisateur. C’est différent d’un modèle avec plusieurs pages html. Habituellement, nous utiliserons des frameworks comme Angular, Vue ou React pour créer ce type d’application Web.

Parlons maintenant du multithreading et du threading unique!

Le multithreading est la possibilité d’effectuer plusieurs tâches en parallèle en même temps. Bien sûr, le threading unique est le fait que vous ne traitez qu’une seule tâche à la fois.

Fondamentalement, vous pouvez imaginer qu’il y a plusieurs gars dans un système multi-thread, et vous pouvez donner à chacun d’eux une tâche, et ils peuvent travailler en parallèle pour le montrer dans votre esprit.

Un système à un seul thread n’a qu’un seul petit gars, vous ne pouvez donc lui donner qu’un seul travail à la fois.

Bloquant et non bloquant

Enfin, le dernier concept dont je veux discuter avec vous est “bloquant et non bloquant”: français, “bloquant et non bloquant”.

Si le système est obligé d’attendre la fin de la tâche avant de démarrer la tâche suivante, le système est considéré comme bloqué.

Et si le système a la capacité de démarrer une tâche sans avoir à attendre la fin de la tâche avant de continuer à exécuter la tâche suivante, il est non bloquant. Après avoir terminé la tâche, il pourra récupérer les résultats de la tâche!

Ça y est, la définition est terminée! J’espère donc que vous faites toujours attention à moi, car nous allons maintenant discuter spécifiquement pourquoi utiliser Node.js et ses avantages.

Pourquoi Node.js? Avantages de Node.js

Super adapté aux RTA et SPA

Node.js est un système monothread non bloquant!

Comment fonctionne Node.js? Si le client 1 demande un fichier au serveur, il lancera cette demande sans attendre le résultat.

Il n’a pas attendu parce qu’il ne s’est pas arrêté. Si un autre client fait une autre demande, il peut également traiter la demande immédiatement.

Enfin, il rend les applications qui effectuent un grand nombre de requêtes de fichiers très rapidement, car Node.js peut traiter de nombreuses requêtes en parallèle sans avoir à attendre les unes les autres. Particulièrement adapté pour SPA et RTA.

RTA a fait de nombreuses demandes de mise à jour constante des données d’application.

Pour SPA, la complexité du code réside généralement dans le client. Le côté serveur n’a généralement pas d’opérations compliquées. Le client envoie de nombreuses requêtes au serveur pour récupérer des données, et le serveur ne fournit ces données que pour l’utilisation de l’application.

Maintenant, de toute façon, je veux que vous sachiez que Node.js est monothread, alors que la plupart des systèmes classiques sont multithreads, ce qui peut être désavantageux pour certains projets.

Si vous devez traiter des tâches pendant une longue période côté serveur et des tâches qui nécessitent beaucoup de ressources en raison d’un grand nombre de calculs tels que l’encodage vidéo ou le traitement d’image, alors Node.js ne pourra tout simplement pas l’utiliser correctement!

Il est monothread, si son petit gars est occupé avec une tâche, alors il ne pourra pas s’occuper de toutes les autres tâches en attente, ce qui rendra tout le système très lent.

Flexible

Node.js est une plate-forme très légère et ne possède pas beaucoup de fonctionnalités intégrées. Vous sélectionnez les modules que vous souhaitez y ajouter pour les utiliser.

Il n’y a pas d’accord ferme et rapide sur la façon de procéder, ce qui vous laisse une grande marge de manœuvre pour tout décider. Par conséquent, vous pouvez partir de zéro et vous déplacer progressivement dans la direction que vous jugez la meilleure à mesure que vous travaillez sur le projet.

Pour aller de l’avant, vous disposerez d’un très large écosystème de bibliothèques open source utilisables directement dans vos projets via NPM (Node Package Manager). Pas besoin de réinventer la roue! Quelqu’un va décapiter votre tête devant vous.

C’est du Javascript !

Oui mon ami! Si vous connaissez déjà très bien Javascript, il est plus facile de démarrer avec Node.js car c’est le même langage … notre partenaire Java! Par conséquent, il n’est pas nécessaire d’apprendre une nouvelle langue.

Plus important encore, JavaScript est un fait très utile pour les développeurs full-stack! Utiliser une langue sur le front-end pour coder dans une autre langue sur le back-end est souvent un peu écrasant.

L’utilisation de Node.js peut résoudre ce problème, car vous utilisez Javascript partout …

Même au niveau de l’organisation du code, c’est mieux! Vous pouvez avoir les mêmes conventions de dénomination et bonnes pratiques dans tout le code du projet, que ce soit à l’avant ou à l’arrière!

Si vous êtes confiant et souhaitez en savoir plus sur Node.js, alors cette vidéo n’est que cela, je vous propose un cours: Apprendre Node.js

Au revoir!