Node.js: Develop server-side JavaScript applications

Node.js. is an open source JavaScript runtime environment designed to build modern scalable applications.

Welcome to Node.js

Node.js allows you to run JavaScript outside of a browser and is a key component of modern web stacks running both back-end services as well as being a key component of development tooling. Its small size, fast startup, and high developer productivity has led to its use in a broad range of use cases including microservices, single page applications, scripting and automation, agents and data collectors, desktop applications, and embedded software.

Node.js unlocks the ability for developers to work on both the back and front ends using the same language and consistently ranks as one of the top languages in which developers want to work. It also has a vibrant ecosystem with over 1.4 million modules published to npm.  This combination of factors leads to significant developer productivity gains over other languages, which along with the efficient resource usage and good performance that Node.js delivers, explains the rapid increase of use and deployment over the last number of years.

Red Hat is very active in the Node.js community, working in areas that are important to our customers including diagnostics, platform support, stable and predictable releases and more,  while at the same time working to ensure that Node.js is well supported on Red Hat Enterprise Linux and OpenShift. To learn more about Node.js and our work at Red Hat, we invite you to read through the sections on this page and the pointers to additional information that they provide.

 

How developers learn Node.js

>_ Lesson

Develop with Node.js on OpenShift

25 minutes | Intermediate

Take an existing sample Node.js application and modify it to address microservice concerns, deploy it to OpenShift, and exercise interfaces between Node.js, microservices, and Kubernetes.

Start  

>_ Lesson

Developing with odo

10 minutes | Beginner

Use OpenShift Do (odo), a CLI tool for developers, to manage application components on the OpenShift Container Platform.

Start  

>_ Lesson

Developing with Node.js on Kubernetes

10 minutes | Beginner

An introduction to cloud-native development with Node.js by walking users through the steps to create and extend an Express.js based application to leverage cloud capabilities.

Start  

node.js reference architecture feature image

Node.js reference architecture

The Node.js Reference Architecture is being developed by those within Red Hat and IBM who are actively engaged in the JavaScript/Node.js community, provide consulting advice and development related to JavaScript/Node.js for customers or have large-scale JavaScript/Node.js deployments. The goal of the Node.js reference architecture is to present the team's 'opinion' on what components our customers and internal teams should use when building Node.js applications and guidance for how to be successful in production with those components. The components in this architecture are what we recommend to help internal and external customers get started based on our experience. Other components may be equally good, but these are the ones we know best.

Reference architecture blog series
Introduction to Node.js reference architecture, Part 1: Overview
Node.js Reference Architecture, Part 2: Logging in Node.js
Introduction to the Node.js reference architecture, Part 3: Code consistency
Introduction to the Node.js reference architecture, Part 4: GraphQL in Node.js
Introduction to the Node.js reference architecture, Part 5: Building good containers
Introduction to the Node.js reference architecture, Part 6: Choosing web frameworks
Introduction to the Node.js reference architecture, Part 7: Code coverage
Introduction to the Node.js reference architecture, Part 8: TypeScript
Introduction to the Node.js reference architecture, Part 9: Securing Node.js applications
Introduction to the Node.js reference architecture, Part 10: Accessibility
Introduction to the Node.js reference architecture, Part 11: Typical development workflows
Introduction to the Node.js reference architecture, Part 12: Npm development
Introduction to the Node.js reference architecture, Part 13: Problem Determination

nodejs serverless blog image

Node.js with serverless

Node.js is the most used language for serverless deployments. Read more about how you could deploy an existing application as serverless on OpenShift or use the new way of creating applications using serverless functions where all you provide is the user code.

Read more now