- Nodejs is free to use and run on multi platforms like windows, macosx, Linux
- Nodejs is asynchronous, event driven programming language.
- Node.js operates on an event loop using a single thread
How Nodejs is different
- Nodejs use asynchronous execution model as opposed to thread based execution model.
- No locks are used so users are free from worries of deadlocking of process.
- Scalable systems are develop in nodejs, because process never blocks the resource.
- Nodejs is single threaded that doesn’t mean it cannot take the advantage of multi core CPU, child process can be created using
child_process.fork()API. cluster module exist which let to share the sockets between process to communicate with each other.
If you are interested in blocking vs non blocking process here is the detailed article.
Client side versus Server side
- Client side refers to a code that you write for a user web browser.
- Also called programming for front end.
- Writing a code at the back end for application logic regarding how to create, read, update and delete data from a database based on user request.
- Server side coding is responsible with User authentication, Authorization, Permission management, running scheduled tasks and responding the user request.
The client-side represent the browser where user access an application where server-side represents an application which handles, validates, and run user-submitted data by the user and response the user request such as providing different user interface based on user request.