Node js or Node, is an open open source and cross platform runtime environment for executing JS code. Essentially, Node is a C++ program that embeds Chrome’s v8 engine, the fastest Js engine in the world. We often use Node to build back-end services also called API(Application Programming Interface).
Node is ideal for building highly-scalable, data-intensive and real-time backend services that power our client applications. Special features of Node. Well, Node is easy to get started!
- Great for prototyping and agile development
- Superfast and highly scalable services. It’s used in production by large companies such as PayPal, Uber, Netflix, Walmart, and so on.
- Infact, PayPal, they rebuild one of their java and spring based applications using Node, and found that the Node applications was
- JavaScript everywhere - we can use Frontend and Backend means fullstack developer
- Cleaner and more consistent codebase
- Large ecosystem of open-source libs
- We use Node to build fast and scalable networking applications. It’s a perfect choice for building RESTful services.
- Node applications are asynchronous or non-blocking by default. That means when the application involves I/O operations (eg accessing the file system or the network), the thread doesn’t wait (or block) for the result of the operation. It is released to serve other clients.
- Node applications are single-threaded. That means a single thread is used to serve all clients.
- You should avoid using Node for CPU-intensive applications, such as a video encoding service. Because while executing these operations, other clients have to wait for the single thread to finish its job and be ready to serve them.
- In Node, we don’t have browser environment objects such as window or the document object. Instead, we have other objects that are not available in browsers, such as objects for working with the file system, network, operating system, etc.
- What is Node?
- Node Architecture
- How Node Works?
- Installing Node
- First Node Program
Node Core
- Global Object
- Modules
- Creating a Module
- Loading a Module
- Module Wrapper Function
- Path Module
- OS Module
- File System Module
- Event Module
- Event Arguments
- Extending EventEmitter
- HTTP Module
- NPM
- Package.json
- Installing a Node Package
- Using a Package
- Package Dependencies
- NPM Packages and Source Control
- Semantic Version
- List the Installed Packages
- View Registry Info for a Package
- Install Specific Version of a Package
- Update Local Packages
- DevDependencies
- Uninstall a Package
- Work with Global Packages
- Publish a Package
- Update a Published Package
- RESTful Services
- Introduction Express
- Building First Web Sever
- Nodemon
- Environment Variables
- Route Paramaters
- Handling HTTP GET Requests
- Handling HTTP POST Requests
- Handling HTTP PUT Requests
- Handling HTTP DELETE Requests
- Calling Endpoints Using Postman
- Input Validation
- Project- Build the Genres API
- BUilding RESTful API's with Express
Section-5: Express-Advanced Topics
- Middleware
- Configuration
- Debugging
- Templating Engines