Je comprends que React est le frontend, et NodeJS est le backend qui permet au code Javascript de fonctionner en dehors d'un navigateur. Ce que je ne comprends pas (et c'est après avoir suivi des tutoriels en ligne sur la configuration d'un React project et un projet NodeJS) est pourquoi je dois créer une instance de chacun.
Par exemple, dans mon projet React, j'ai réussi à créer un site Web. Mais parce que j'avais besoin d'un backend, j'ai décidé d'utiliser NodeJS. Mais je fais des tutoriels NodeJS, et je peux créer un site Web utilisant NodeJS aussi. Je suis confus car en ce moment, il semble que ce soit React et NodeJS font le MÊME CHOSE.
Je n'ai jamais travaillé avec NodeJS auparavant, donc je suis un peu confus. J'avais l'impression que j'utiliserais simplement NodeJS pour héberger le backend, mais après avoir vu que je dois littéralement créer un site Web entier avec NodeJS, je ne comprends pas comment je suis censé utiliser React et NodeJS.
Comment les deux, React et NodeJS, s'intègrent-ils ensemble pour créer une application Web pleinement fonctionnelle? Je n'ai pas encore vu quelque chose en ligne qui décompose clairement comment les deux interagissent.
React est une bibliothèque frontale. Il fournit un excellent outil pour créer des interfaces utilisateur. Et il crée une application d'une seule page. Cela signifie que lorsque vous ouvrez une application React. Il ne se recharge pas et c'est vraiment rapide.
Bien que vous puissiez également utiliser des nœuds et quelque chose comme des guidons pour créer un site Web. Mais ce site Web serait rendu sur le serveur et ensuite servi à l'utilisateur. Mais c'est beaucoup plus que ça. Il y a beaucoup de choses que vous voulez faire sur le serveur. Comme l'authentification. Vous voulez que cette partie soit sécurisée. Vous le gardez donc sur le serveur.
Maintenant, la réponse à la dernière partie de votre question.
Pour une application entièrement fonctionnelle. Vous utiliseriez réagir pour créer des interfaces utilisateur. Et nodejs pour créer une API que votre application de réaction appellera.
NodeJS est juste un runtime qui vous permet d'exécuter du code javascript en dehors du navigateur.
React utilise nodeJS comme outil pour compiler et optimiser le code.
NodeJS n'est pas seulement du javascript standard, c'est un runtime javascript qui se trouve au sommet d'un moteur C++ appelé V8, fourni par Google. Node s'exécute en dehors du navigateur, tandis que React/Vue/Angular/etc) sont des cadres javascript dans le navigateur.
React est un animal à part entière; c'est un framework qui rend son propre DOM dans le navigateur. Il s'agit d'un moteur javascript qui est configuré pour optimiser la manipulation DOM.
Bien que le modèle de développement du frontend et du backend semble similaire, ils font des choses différentes. React traite les données dans le navigateur et effectue des appels API. Node gère les demandes du navigateur, effectue des appels de base de données, gère l'authentification, etc.). différentes responsabilités, Node utilise des modules différents d'un framework frontal.
En fin de compte, Node et React communiquent via des appels HTTP, généralement avec un package appelé Axios. Il y en a d'autres, mais celui-ci est très courant en ce moment).
Il vous incomberait de lire comment le nœud fonctionne sous le capot.
Le fait est que réagir et que toute autre bibliothèque SPA fonctionne sur un côté client (navigateur).
Réagissez récupérer et consommer les données de l'API du serveur.
Vous n'avez pas besoin d'utiliser Node.js pour créer une API. Vous pouvez utiliser différents cadres basés sur la technologie que vous préférez.
Si vous n'êtes pas familier avec le Back End, vous pouvez utiliser https://www.npmjs.com/package/http-server pour avoir un faux service d'API et pouvez construire la partie Front End avec lui .
NodeJS servira de backend, tandis que ReactJS créera l'interface/UI où vous pourrez réellement manipuler votre serveur (nodeJS). Vous allez donc d'abord écrire votre serveur ou API NodeJS. Vous n'avez pas besoin pour utiliser ReactJS pour créer un frontend qui interagirait avec votre serveur de noeud, comme vous l'avez dit, vous pouvez également utiliser NodeJS pour créer vos vues via une bibliothèque différente. ReactJS n'est qu'un choix parmi tant d'autres pour l'interface frontale de votre application NodeJS.
NodeJS est un framework javascript qui vous permet de créer un serveur pour servir des sites Web à l'aide d'Express ou des bibliothèques intégrées. Il est également capable de créer un site Web avec uniquement NodeJS.
Vous pouvez profiter de la possibilité de faire du rendu côté serveur avec un serveur NodeJS. https://reactjs.org/docs/react-dom-server.html
Il existe un framework ReactJS appelé NextJS qui a un rendu côté serveur du composant ReactJS. https://nextjs.org/#features
Vous pouvez potentiellement avoir certaines zones de votre site Web qui sont construites uniquement avec NodeJS et d'autres pages qui utilisent ReactJS et un backend NodeJS. Mais il est plus propre d'utiliser ReactJS pour le front-end et NodeJS pour le backend.