Have you heard about Node.js, but aren't sure what it is? Maybe you know about this exciting new software development platform, Node.js, but don't know where to start learning it? Maybe someone told you Node.js is JavaScript for server-side environments, which left you extremely confused? Or maybe you've never heard of server-side-JavaScript, and think JavaScript only runs inside web pages? The following resources will help you learn how to develop in JavaScript not inside a web browser, but on the server, using the Node.js platform.
Node.js is an exciting new platform for developing web applications, application servers, any sort of network server or client, and general purpose programming. It is designed for extreme scalability in networked applications through an ingenious combination of server-side JavaScript, asynchronous I/O, and asynchronous programming. Its claimed that the event-driven architecture gives a low memory footprint, high throughput, a better latency profile under load, and a simpler programming model. All this makes it an attractive platform for web application development.
By supporting JavaScript on the server it means software teams can share code and ideas and methodologies between front-end and back-end. By living in the same programming language they'll speak the same language to each other, have an easier time sharing data structures, use many of the same tools, and have a similar mindset.
There is tremendous excitement about Node.js, and it's already widely used in production websites. Which, obviously, may be why you're here. You want to learn about developing software with the Node.js platform. Read on.
Introductory
|
Node.js Web Development - Third Edition: An excellent introduction to web application development in Node.js. It takes you from zero knowledge (assuming you have basic skills in programming, HTML and JavaScript), and takes you all the way to a pseudo-real-time chat application running between browsers, and writing unit testing. Along the way you learn about user authentication using Passport, application deployment on real servers using Docker, unit testing and a whole bunch of other stuff. The intent is to show you the full lifecycle of Node.js application development, and to give you a solid grasp of every aspect. The focus is on typical web applications, where there are web pages being displayed in a browser, and on using the Express framework. NOTE: I am the author of this book. |
|
|
|
|
|
|
UDEMY: The Complete Node JS Developer Course: Teaching you to build Node.js apps from scratch by walking you through the implementation of four different applications. The course is comprised of over 18 hours of video spread out over 150 videos. You'll explore popular Node JS 3rd party modules like Express, Sequelize, and others. You'll also learn how to host your code on GitHub and deploy it live on Heroku!
|
UDEMY: Learn Nodejs by building 10 projects: Take an hands-on in-depth tour of developing Node.js applications, by building applications. You'll receive over 86 lectures and 18.5 hours of content. The projects are:
|
UDEMY: Advanced Node.js Development: This course focuses on application developing using the AJAX model. That's an acronym for Asynchronous Javascript and XML, which relies on the browser page sending an asynchronous request to server-side code, and getting responses in XML. However, this course uses JSON rather than XML so shouldn't this be called AJAJ? User authentication is demonstrated with PassportJS.
The course contains over 40 videos, for nearly three hours of discussion. It expects you to have already learned Node.js. |
UDEMY: All about Node.js | From the Ground Up and More: This course takes you from the beginning, showing you how to build a Node.js application and deploy it to the cloud. The applications are:
ChatCAT: A multi-room chat application of a type which would be useful for Chat Servers, Gaming Servers, Collaborative Tools etc. You'll learn about Websockets, Structuring your App in an efficient manner, creating and using development & production configurations, Authentication using Facebook, Setting up an App on Facebook, Managing Sessions, Querying & Using a Hosted MongoDB Database, and more. PhotoGRID: This app lets users upload images into a gallery with the ability to vote on images they like. Users upload images, they're resized into thumbnails, and stored in Amazon S3 buckets. You'll learn about managing file uploads using NodeJS & AJAX, Resizing Images on the Server, Accessing & Storing files in an S3 Bucket, Querying & Using a Hosted MongoDB Database, Using Amazon's Elastic IP Service & Cloudfront distribution. The course has been expanded a couple times, and includes a section on ES-2015 features. You'll get a free eBook on ES-2015 features. |
UDEMY: NodeJS in Action: This is another advanced course, showing how to integrate a broad range of technology to create a complete application stack. The technologies used in this course include:
|
|
Felix's Node.js Guide - http://nodeguide.com/ - A terse on-line introduction to Node.js. The examples are just some bones, with no meat, of understanding required to be proficient with the Node platform.
Node Beginner - http://www.nodebeginner.org/ - a one-page website that shows the basic bones of a Node.js web application, and also serves as a sales pitch to buy a bundle of books. TUTS+ Tutorials on Node.js - http://code.tutsplus.com/categories/nodejs Ryan Dahl, the originator of Node.js, gave a very good video presentation of the principles and value - http://www.youtube.com/watch?v=jo_B4LTHi3I Node.js requires an asynchronous coding model, and most programmers need to twist their head sideways to grok the best patterns. These blog posts help: http://blog.shinetech.com/2011/08/26/asynchronous-code-design-with-node-js/ and http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ The Node.js standard library has very good documentation online - http://nodejs.org/api/index.html |
The MEAN stack - MongoDB, Express, AngularJS and Node.js
Where PHP/Python/etc have the LAMP stack, the Node.js community developed the MEAN stack. That stands for: M=MongoDB as a document oriented NoSQL database, E=Express as the application framework that isn't a framework, A=AngularJS for the front end, and N=Node.js on the server. MongoDB, Express, AngularJS, Node.js === MEAN Stack. Cool technologies for agile programming.
|
|
UDEMY: Learn and Understand NodeJS: A comprehensive video course at Udemy, with over 11 hours of video covering the MEAN Stack. Topics covered include:
|
|
|
|
|
More Advanced
|
|
|
|
UDEMY: Build a REST API with node.js, ExpressJS, and MongoDB: This course focuses on helping you know how to build REST API's using Node.js. You will learn about the tools and understanding of building an API server, accessing and manipulating data via this API.
Topics include:
|
|
|
|
|
|
|
UDEMY: GRUNT js: Automate web development tasks and save your time: Your time is valuable, and it's best to automate everything you can. Grunt is an excellent tool for that purpose, and this 2 hour video course will get you up and running with Grunt. This Grunt.js course is meant for people who are familiar with HTML, CSS and Javascript. No prior knowdlege about Grunt.js/Node.js/npm is needed. Everything is described from the beginning. The focus is on its use in website design/development work.
|

