• Node.js is an open source server environment
• Node.js is free
• Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
• Node.js uses JavaScript on the server
Node.js uses asynchronous programming!
A common task for a web server can be to open a file on the server and return the content to the client.
Here is how PHP or ASP handles a file request:
1. Sends the task to the computer's file system.
2. Waits while the file system opens and reads the file.
3. Returns the content to the client.
4. Ready to handle the next request.
1. Sends the task to the computer's file system.
2. Ready to handle the next request.
3. When the file system has opened and read the file, the server returns the content to the client.
Node.js eliminates the waiting, and simply continues with the next request. Node.js runs single-threaded, non-blocking, asynchronously programming, which is very memory efficient.
• Node.js can generate dynamic page content
• Node.js can create, open, read, write, delete, and close files on the server
• Node.js can collect form data
• Node.js can add, delete, modify data in your database
NODE .JS
Lesson 1: Introduction and Foundation
● Introduction
● The Node.js framework
● Installing Node.js
● Using Node.js to execute scripts
Lesson 2: Node Projects
● The Node Package Manager
● Creating a project
● The package.json configuration file
● Global vs. Local package installation
Lesson 3: Working with shrink-wrap to lock the node modules versions
● What is shrink-wrap
● Working with npmvet
● Working with outdated command
Lesson 4: Working with asynchronous programming
● Asynchronous basics
● Callback functions
● Working with Promises
● Advance promises
● Using Request module to make api calls
Lesson 5: Building a TTP Server with Node.JS using HTTP APIs
● The HTTP protocol
● Building an HTTP server
● Rendering a response
● Processing query strings
● Processing posted data
Lesson 6: File System
● Synchronous vs. Asynchronous I/O
● Path and directory operations
● __dirname and __filename
● Asynchronous file reads and writes
Lesson 7: Multi-Processing in NodeJS
● Working with Child Process API
● Working with Cluster API for multi-core servers
Lesson 8: Buffers, Streams, and Events
● Using buffers for binary data
● Flowing vs. non-flowing streams
● Streaming I/O from files and other sources
● Processing streams asynchronously
Lesson 9: ExpressJS
● The model-view-controller pattern
● Defining Jade templates
● Configuring Express
● Postman configuration
● Using REST
● JSON Data
● Reading POST data
● CRUD operations
● Adding middleware
Lesson 10: Express JS with MongoDB and Sqlite
● How Node.js connects to databases
● RDBMS databases and NoSQL databases
● Connecting to RDBMS and Mongodb databases
● Performing CRUD operations
Lesson 11: Socket.io, The Front-end, and A Chat App
● Getting Started
● Adding Socket.io To Your App
● Exploring The Front-end
● Sending Live Data Back & Forth
● Creating The Front-end UI
● Showing Messages In App
● Working With Time
● Timestamps
● Show Message Time In Chat App
● Chat application Project
Lesson 12: Introduction to Task Managers with unit testing
● Working with gulp
● Working with grunt
● Working with unit and E2E testing