[Music] Welcome to Introduction to Node.js! After watching this video, you will be able to: Describe the role of Node.js for server-side scripting. List the differences between JavaScript and Node.js. Describe Express.js and explain how Express.js helps developers build Node.js apps. Node.js is an open-source language that runs on V8. Being open source, means that node.js can run on Linux, Windows, and Mac OSX. V8 is an open source engine that was developed by Google for the Google Chrome browser. Developers often use JavaScript for client-side functionality. Node.js is the server component in the same language. Node.js is event-driven and uses asynchronous, non-blocking I/O. With server-side JavaScript, Node applications process, and route web service requests from the client. In step 1, the user selects an option in the user interface, written in HTML and CSS. In step 2, this action by the user triggers JavaScript code that implements the business logic on the client-side, for example, input validation. In step 3, the JavaScript application makes a web service call over HTTP with a JSON data payload. The REST web service, which is part of a node.js application running on the node server, receives the HTTP request. In step 4, the REST web service processes the request and returns the result to the client as a JSON payload over HTTP. Although developers can still use JavaScript for browser functionality in frameworks, such as angularJS, Dojo, and jQuery, they can now use Node.js in the same components of the architecture where they use Java, Perl, C++, Python, and Ruby. Node.js is used in production by companies, such as Uber, Yahoo!, LinkedIn, GoDaddy, eBay, and PayPal. It is event-driven and uses asynchronous, non-blocking I/O. Express.js is a highly configurable framework for building applications on Node.js. It abstracts lower-level APIs in Node.js by using  HTTP utility methods and middleware Before you build your first Node.js app, let’s get familiar with the IDE and some key Node.js concepts. Express.js simplifies application development on Node.js. The following features enable you to develop your application quickly: Public: public assets like image, CSS, and javascript. Templates/views: server-rendered HTML that is sent back to the client in response to requests. Routes: defines endpoints that accept and process client requests. Server.js: a file which contains the main application code. Package.json: contains metadata information about the project including dependencies, scripts, and so on. In this video, you learned that: Node.js is the server-side component of JavaScript. Using Node.js can improve application performance and express.js is a framework that helps you build Node.js applications