What Does Javascript Need to Manage a Server?

Anthony Alicea
A free video tutorial from Anthony Alicea
Software Developer, Architect, and UX Designer
4.6 instructor rating • 8 courses • 265,570 students

Learn more from the full course

Learn and Understand NodeJS

Dive deep under the hood of NodeJS. Learn V8, Express, the MEAN stack, core Javascript concepts, and more.

13:08:12 of on-demand video • Updated December 2016

  • Grasp how NodeJS works under the hood
  • Understand the Javascript and technical concepts behind NodeJS
  • Structure a Node application in modules
  • Understand and use the Event Emitter
  • Understand Buffers, Streams, and Pipes
  • Build a Web Server in Node and understand how it really works
  • Use npm and manage node packages
  • Build a web application and API more easily using Express
  • Connect to a SQL or Mongo database in Node
  • Understand how the MEAN stack works
  • Be the coder that explains NodeJS to everyone else because you understand it better than anyone else
English Instructor: The construction of Node.js means that we're trying to answer one very important question, what does JavaScript need to manage a server? What are the features that we need to have accessible in JavaScript in order to do the kinds of things that a web server normally needs to do? For example, JavaScript needs better ways to organise its code into reusable pieces. As a developer, in other programming languages we have better ways to do this than JavaScript did for a long time. Now, the new version of JavaScript ES6 actually has some better ways to do this but Node.js was answering this question before that existed. We also need ways to deal with files. If you're a web server, you're likely going to have to work with files, maybe zip files or images or other things along the way. We need ways to deal with databases. You're almost always dealing with the database when it comes to building web software, and it's the web server that talks to the database. We're a web server so we need the ability to communicate over the internet. JavaScript by default does not have that, you won't find it in the ECMAScript specification. And coming along for the ride because we are a web server, we need the ability to accept requests and send responses in the standard format that's used in internet communication. And also, the web server, since it's asked to do jobs, to do work, sometimes the things it's asked to do take a long time, and we want people to be able to continue to access the web server even when it's doing things that are taking a while. So, we need a way to deal with work that takes a long time. These are just some of the problems that need to be solved when you're designing a web server, and some of the things that JavaScript simply doesn't have out of the box, and these are the things, among others, that Node.js solves for us. But let's look for a moment at how.