3.2 Bases de NodeJS : bases de JavaScript
NodeJS est une plate-forme de développement d'applications côté serveur basée sur l'interpréteur du moteur JavaScript V8 de Google. Il a été créé en mettant l'accent sur l'optimisation de la construction d'applications évolutives et performantes, grâce à un modèle d'E/S non bloquant et orienté événement. Cependant, avant de plonger dans l'univers NodeJS, nous devons comprendre quelques concepts de base de JavaScript, le langage sur lequel NodeJS est basé.
JavaScript
JavaScript est un langage de programmation interprété et dynamique de haut niveau, initialement conçu pour ajouter de l'interactivité aux pages Web. Au fil des années, JavaScript a évolué et il est aujourd'hui utilisé non seulement côté client (front-end) mais aussi côté serveur (back-end), grâce à des plateformes comme NodeJS.
Variables et types de données
En JavaScript, vous pouvez déclarer des variables à l'aide des mots-clés "var", "let" et "const". Chacun a son propre champ d'application et ses règles d'utilisation. JavaScript est un langage typé dynamiquement, ce qui signifie que le type de données d'une variable peut changer lors de l'exécution du code. Les types de données en JavaScript incluent Nombre, Chaîne, Booléen, Objet, Non défini et Null.
Fonctions
Les fonctions en JavaScript sont des blocs de code qui peuvent être définis et appelés par leur nom. Les fonctions peuvent prendre des arguments et renvoyer une valeur. En JavaScript, les fonctions sont des objets de première classe, ce qui signifie qu'elles peuvent être transmises comme arguments à d'autres fonctions, renvoyées sous forme de valeurs d'autres fonctions, affectées à des variables ou stockées dans des structures de données.
Objets et tableaux
Les objets en JavaScript sont des collections de paires clé-valeur. Les clés sont des chaînes et les valeurs peuvent être n'importe quel type de données. Les tableaux sont des objets spéciaux qui représentent des listes de valeurs.
NodeJS
Maintenant que nous avons une compréhension de base de JavaScript, nous pouvons commencer à explorer NodeJS. NodeJS nous permet d'utiliser JavaScript côté serveur, c'est-à-dire que nous pouvons créer des applications Web complètes en utilisant uniquement JavaScript.
Boucle d'événements et E/S non bloquantes
La caractéristique la plus distinctive de NodeJS est son modèle d'E/S non bloquant. Dans de nombreux langages de programmation, les opérations d'E/S (telles que la lecture et l'écriture de fichiers, l'accès à la base de données, les requêtes HTTP) sont bloquantes, ce qui signifie que l'exécution du code est suspendue jusqu'à ce que l'opération d'E/S soit terminée. En revanche, NodeJS utilise un modèle d'E/S non bloquant, dans lequel les opérations d'E/S sont effectuées en parallèle avec l'exécution du code, via un mécanisme appelé Event Loop.
Modules
NodeJS dispose d'un système de modules intégrés, qui vous permet d'organiser le code dans des fichiers séparés et de réutiliser le code dans différentes parties de l'application. Chaque fichier dans NodeJS est considéré comme un module et peut exporter des fonctions, des objets ou des valeurs pour être utilisés dans d'autres modules.
MNP
NPM (Node Package Manager) est le gestionnaire de packages pour NodeJS. Avec NPM, vous pouvez installer et gérer des packages tiers, qui sont des morceaux de code écrits par d'autres personnes et que vous pouvez utiliser dans vos applications. NPM est un outil essentiel pour tout développeur NodeJS.
Ce ne sont là que quelques-unes des bases de JavaScript et de NodeJS. Tout au long du cours, nous explorerons ces concepts ainsi que d'autres plus en détail, et apprendrons comment les appliquer en pratique pour créer des API robustes et efficaces dans NodeJS.