About this Series

This course’s purpose is to introduce any JavaScript developer on any platform to the powerful world of Node.js, task automation, package management and module loading. Basically: Modern JavaScript.

This is a course that I wish I had before years of trial and error, source-code spelunking and documentation reading; so with it I hope to save you guys all the trouble and get going writing modern, maintainable, and organized JavaScript today!

The introduction and overview are available for free here!

Node.js? I thought you said ANY platform!

Node.js is an awesome platform for creating web applications, but its usefulness isn’t just on the server. This course introduces the use of node.js and related tools to substantially speed up development and allow you to use leading edge JavaScript features - even if your browser doesn’t yet natively support them!

While this course is a great introduction to writing server-side applications in node (certainly not wasted time, even if you don’t intend to use a node server), we spend most of our time using node as a development tool.

If you’re writing an application in PHP, ASP.NET, or anything else, no problem! Node won’t need to be installed on the production server for it to do its thing. We simply use it to process our assets; there’s no need for it to be deployed into production unless your backend server also uses node.

Especially if you’re an ASP.NET developer, Microsoft is incorporating these tools right into Visual Studio and ASP.NET 5! Node.js isn’t just for Linux and servers anymore! But on the other hand, that means you have to have a good grasp on these tools to stay ahead in the world of ASP.NET - and that’s why I’m here!

Modern JavaScript

To write modern JavaScript, we need three things: a JavaScript transpiler, a module loader, and a module bundler.

A transpiler is what takes modern JavaScript and turns it into legacy JavaScript that will run in any browser! Using a transpiler these days is practically the norm. There is no reason why we should be stuck writing 5 year old JavaScript because some of your customers are stuck in the stone ages. We will be using Babel extensively for this purpose.

In addition to the new features of JavaScript, modules are one of the most important aspects to writing highly maintainable modular (see what I did there?) code for applications from the small to the enterprise. I’m going to show you guys some tools that make writing properly organized modular code in JavaScript so simple that there’s no reason not to use them, even for small projects!

We will be taking a look at four different module loaders/bundlers:

Which one you use is up to you: however, I recommend you learn them all! They’re each unique and offer their own take on the process. Besides, it’s good practice: and when you’re done with this course, you’re not going to be able to write JavaScript in any other way!

What else will be covered?

Since a lot of these tasks are going to require a bit of automation, we’re going to be introducing you to Gulp (version 4). Gulp is an awesome task runner that allows us to write code that can perform automated tasks, such as transpiling or bundling our JavaScript. Note: Gulp is supported as a first class citizen in Visual Studio 2015! It’s even used in the project templates for ASP.NET 5!

We’re also going to take a look at Bower. Bower is a client-side package manager that makes it easy for us to install third-party dependencies.

Finally, we’ll also take a look at LESS - the CSS preprocessor. I know that’s not much to do with JavaScript, but it will give us a reason to look into automating the building and bundling process of our styles. Besides, once you use LESS, you’ll never want to use vanilla CSS again!

What do you need to follow?

This course is designed for people who have written JavaScript before - be it in a fully fledged single page web application, or even just a bit here and there on a larger site. This is not an introduction to JavaScript.

Also, everything we talk about is entirely cross platform! It will work just fine in Windows, MacOS, or Linux! The editor I’ll be using is Visual Studio Code, which is free, open source, and cross-platform as well. However, feel free to use whichever editor that you feel comfortable with.

We hope you enjoy the series!

If you have any questions, please feel free to post on our forums or email us at info@3dbuzz.com. Happy learning!