Node.js allows you to run server-side JavaScript. It is open-source and multiplatform. Historically JavaScript is interpreted client side to dynamize an HTML page by the JavaScript engine of a browser. With Node.js, JavaScript is interpreted by the server before the page is sent to the client.

Node.js appeared in 2009, at the same time as ECMAScript 5. It is now widely used by nearly all fortune 500 in the US as well as by many companies like Microsoft , LinkedIn, IBM, Netflix, PayPal, SAP and Walmart. Node.js enables the development of desktop, front-end, back-end, cloud and AI applications.



node js history


A JavaScript engine developed by Microsoft: ChakraCore

A JavaScript engine is a program that interprets JavaScript. For example, it runs Node.js code. There are several JavaScript engines. By default, Node.js uses Google’s V8 engine. Thus, any performance improvement in V8 results in a performance improvement in Node.js. Following the change of the internal optimization stack of V8 with the transition from Crankshaft to Ignition and TurboFan, Node.js gained 30% of the performances.

Since 2016, Microsoft has made open source its own JavaScript engine: ChakraCore . ChakraCore is the JavaScript engine of Edge , more powerful than before. A team from Microsoft has created a version of Node.js with the ChakraCore engine instead of the V8 engine. This release provides performance improvements and is usable on connected objects that have very few resources available.

Since 2016, Microsoft has made open source its own JavaScript engine: ChakraCore . ChakraCore is the JavaScript engine of Edge , more powerful than before.

TypeScript: a typed language developed by Microsoft

In addition to ChakraCore, Microsoft is developing several projects that use Node.js : desktop applications (VSCode), back-end, front-end, cloud (Azure function), IA and the TypeScript programming language compatible with Node.js. To develop a Node.js application , it is interesting to use TypeScript instead of JavaScript.

type script

Some new TypeScript since last year are:

  • null and undefined are now types
  • Generators: functions or classes are iterable
  • The possibility to no longer specify the variable in a try catch

Visual Studio Code: The Modern IDE of Microsoft

To develop a Node.js application with TypeScript, one of the most suitable IDEs is Visual Studio Code. Visual Studio Code is the code editor developed by Microsoft in TypeScript. Open-source and multiplatform, it uses the Electron framework (Node.js and chromium).

Regularly updated, Visual Studio Code is compatible with many plugins.

visual studio plugins

These plugins are available in Visual Studio Code to increase productivity when developing Node.js applications .

  • Prettier – JavaScript formatter: a plugin that allows to reformat its code.
  • Advanced-new-file: Completion of modules when creating a file.
  • REST Client: Ability to execute everything in an html file. As postman.
  • There are extensions to look for the source code in node module when you want it. Possibility to generate macros.

Updates to Visual Studio Code contribute to more productive Node.js development .

  • The auto completion of Node.js modules in the code.
  • Debugging: as in chrome, we can now see the value of the variables.
  • Unified Debug Session: Can debug the back (Node.js) and the front (JS).

Microsoft is also developing Azure services that are compatible with Node.js. Azure Functions allows you to create a function app in Node.js with possible authentication.