Full-Stack JavaScript Tutorial for Beginners

Hello everyone and welcome to our full-stack JavaScript tutorial for beginners. We hope you are excited to learn some new and exciting programming skills and go through building real world examples using JavaScript. This video tutorial is a 2.5 hour free preview of The Complete Full-Stack JavaScript Course on Udemy.

The format of this course will be be a bit different from courses that I have instructed in the past. Rather than begin by covering data types, syntax, etc, we will focus on coding demonstrations. It is my belief that you learn best by doing. We will begin with a few basic examples and then move on to writing fully functional applications.

We will be building three applications in this course using JavaScript. The first project is going to be a calculator. In this project we will cover the basics of what ReactJS is, and then we will learn how to create React Components and work within the react lifecycle. After that we will move on to some of the full-stack aspects of JavaScript. We will create a REST API and host it, and then we will circle back to React so that we can get a good example of how a React application and a REST API written in JavaScript can communicate with one another. We will use React and our REST API to create a feature rich blogging platform. The third project will introduce you to a newer technology, which is WebSockets.

So, traditionally when you have a client side application, for instance a React application that communicates with an API, it’s kind of like a ping pong request. You send a request and you receive a response. It’s kind of like a one for one. With a WebSocket you can keep clients connected on the server side, and you can send data to the client whenever it’s deemed necessary. So to demonstrate this capability, we’re going to be building a chat application. Users will be able to create an account, search for other users and add them and then message back and forth with them.

So first off, what is JavaScript? To put it very simply, it’s an interpreted programming language that runs on the client side. So when you write JavaScript on a website, the server that the website is hosted on has nothing to do with executing that JavaScript. The JavaScript code is sent to the browser of the user and interpreted on their machine. So, there’s different JavaScript rendering engines used in, for instance, Chrome, and Internet Explorer, and Microsoft Edge, etc. So all browsers have a slightly different interpretation. Most JavaScript engines work the same, but to get a specific browser capabilities working for all browsers is not always possible. We are not going to cover Internet Explorer at all in this course, because no one should be using Internet Explorer. Unless, you have work applications that were coded for Internet Explorer, and they will not work for anything else. In that case, use it. However, that’s beyond the scope of this course.

JavaScript was introduced in 1995. It’s evolved quite a bit since its initial release. It originally didn’t have object oriented capacities. There were some ways to fake it, but nowadays you can easily create classes and instantiate them with a constructor. The version of JavaScript that we will be using is called ES6 (ECMAScript 6).

To get the most out of this course you will want to know how to use HTML, a minimal amount of CSS, just so that we can make things not look absolutely horrendous, and a basic understanding of JavaScript. If these technologies are unfamiliar to you, feel free to check out our front-end web development course on Udemy. We are going to take what you already know and we are going to extend it with real world applications.

You’re going to learn how to use React and React Redux. You will learn how to use LoopbackJS, which is the rest API framework that we’re gonna use, which is built on top of Express. You’re also going to learn how to install packages through the Node package manager. Node is the environment that we can use to run server side applications like React’s hot load server, which is a way that we can run React in development. When we make changes to files it will automatically reload the page in our browser. So it makes development extremely simple. We’re also going to learn about WebSockets.

WebSockets, again, are a way that we can add bi-linear communication. The server can keep connections open indefinitely, and send messages to clients, and it can keep a running list as well. Now the package that we’re going to be using for it is called socket.io. You install it to your computer, however there isn’t any third party communication between any services. This gives us everything we need to make WebSockets work out of the box. I believe this technology was fully enabled in browsers in 2010. So it’s already 10 years old. But when we talk about technologies like PHP and whatnot, it’s relatively new.

So with that being said, again, you should know HTML, CSS and JavaScript. We’re going to take the knowledge that you have and we’re going to turn it into applicable knowledge. By the end of this course you should be able to build REST API programs, create your own routes, your own callbacks and more. You should be able to build and work with React applications, installing modules as needed or creating your own. You will also be able to build a chat application, or any other real time communication system that uses WebSockets. The material that we will cover in this course will be applicable to a wider range of tasks provided by a full-stack web developer.

The code for these projects will also be hosted on GitHub. The source code for the projects included in The Complete Full-Stack JavaScript Course can be found in the following repositories:

React Calculator
Web App Tutorial
Loopback Tutorial

I make sure that everything is accessible on my GitHub so you troubleshoot any issues you might have.

You can get The Learn to Code Course Bundle to get access to this and 7 other courses! Our Forever Course Bundle gets you every course I produce, for life!