Différences entre Node et le navigateur

Comment l'écriture d'une application JavaScript dans Node.js diffère de la programmation pour le Web dans le navigateur

Le navigateur et Node utilisent tous deux JavaScript comme langage de programmation.

La création d'applications qui s'exécutent dans le navigateur est une chose complètement différente de la création d'une application Node.js.

Bien qu'il s'agisse toujours de JavaScript, il existe des différences clés qui rendent l'expérience radicalement différente.

En tant que développeur frontend qui utilise largement Javascript, les applications Node apportent un énorme avantage: le confort de tout programmer, le frontend et le backend, dans un seul langage.

Vous avez une énorme opportunité car nous savons à quel point il est difficile d'apprendre pleinement et en profondeur un langage de programmation, et en utilisant le même langage pour effectuer tout votre travail sur le Web - à la fois sur le client et sur le serveur, vous êtes dans un position d'avantage unique.

Ce qui change, c'est l'écosystème.

Dans le navigateur, la plupart du temps, vous interagissez avec leDOM, ou autreAPI de plate-forme Webcomme les cookies. Ceux-ci n'existent pas dans Node, bien sûr. Vous n'avez pas ledocument,windowet tous les autres objets fournis par le navigateur.

Et dans le navigateur, nous n'avons pas toutes les belles API que Node.js fournit via ses modules, comme la fonctionnalité d'accès au système de fichiers.

Une autre grande différence est que dans Node.js, vous contrôlez l'environnement. À moins que vous ne construisiez une application open source que tout le monde peut déployer n'importe où, vous savez sur quelle version de Node vous exécuterez l'application. Par rapport à l'environnement du navigateur, où vous n'avez pas le luxe de choisir le navigateur que vos visiteurs utiliseront, c'est très pratique.

Cela signifie que vous pouvez écrire tous lesES6-7-8-9JavaScript pris en charge par votre version de Node.

Étant donné que JavaScript se déplace si vite, mais que les navigateurs peuvent être un peu lents et que les utilisateurs sont un peu lents à mettre à niveau, parfois sur le Web, vous êtes bloqué pour utiliser des versions plus anciennes de JavaScript / ECMAScript.

Vous pouvez utiliser Babel pour transformer votre code afin qu'il soit compatible ES5 avant de l'envoyer au navigateur, mais dans Node, vous n'en aurez pas besoin.

Une autre différence est que Node utilise leSystème de module CommonJS, tandis que dans le navigateur, nous commençons à voir leModules ESnorme en cours de mise en œuvre.

En pratique, cela signifie que pour le moment vous utilisezrequire()dans Node etimportdans le navigateur.

Téléchargez mon gratuitManuel de Node.js


Plus de didacticiels sur les nœuds: