How can i learn node js

so basically after vanilla js , i wanted to learn node js , so i 'm new to programming and after some researching i found out that html css and js are all client side programming languages but node is a server side , i???, let me give you an example ;
i build a calculator and for every button i need to attach a http request or something like that ???
please if you have any good book or course on node or any some kind of 'introduction from scratch to server side programming ’

Node.js is just a tool to help you run JavaScript outside of browser.

You can learn Node.js by first mastering JavaScript (html & CSS — before), and then some of the libraries that can be used with it.

1 Like

but react needs a preknowledge on node isn’t ,???

It is a JS library, it needs JS preknowledge.

I would say, mastering the language makes it easier to work with libraries and frameworks.

And yes, somehow you may need to know how to deploy Node in a server and use this or library in it, but it is not necessary as it is not the first step to take, it can be postponed at the end without affecting learning.

1 Like

one more thing clevious , so you think that i need to work with react , and make an actual app to fully understand node or any other server side pro lang ???

You don’t need to know React to learn Node.
You don’t need to know Node to learn React.

Client-side and server-side can be developed completely separately. You can always mock the other end.

1 Like

please just stay with me a little bit , so as a complete beginner , i started with html and css , then i learned Js , all i know so far is vanilla js ON my local windows like i know how to build a calculator and little things, thus i know nothing about uploading my web app on the internet or a web server , then i decided to learn node , but all the courses even books begin with modules ? fs functions and i just can’t connect with the dots , how is that have to do with my calculator html css and js , like i feel there’s is a gap in between ???

What is your goal?

Do you want to deploy your calculator, so others can use it? You don’t need Node or any other server-side language or framework for that. Find hosting, there are many free options available.

Do you want to learn about back-end? I believe FCC has a whole certification around it - ‘Apis And Microservices Certification’.

1 Like

As I said previously, one should first know and use JS & the libraries in order to be able to program on Node.js which is only a tool that runs JS codes (but in a slightly different way).

And as @ivanschwarz noted, it all depends on what you want to achieve: do you want to make your app (without storing/retrieving information from the database) ?

Node is not needed then.

Do you want to create a full app with a DB?
Then first master JS, the libraries & frameworks that help you build your app & then learn Node.js and how to use them in that environment, which as I said too, it is different in that it doesn’t contain what we know as DOM.

FCC curriculum, along with hundreds of tutorials on youtube — which teach how to build your app from scratch using Node.js — will help you achieve that.

Node.js is a “runtime environment” that allows you to run JS programs outside the browser. Usually on a computer called a server.

For development purposes, the server can be your local computer, and usually is (various frameworks/libraries will often use the alias “localhost” to refer to your local computer when it’s operating as a server).

For production purposes, the server is always another computer on the Internet—sometimes in the cloud, sometimes not (like when doing static IP hosting).

Of course there’s a gap in between front-end and back-end, that’s sort of how it is. Together they might form a single application, but they’re also fundamentally different. The back-end part of an application runs separately from the front-end.

No, React and Node are two separate things. React is a front-end library and NodeJS is a way to run JavaScript on the server side.