Now of course, now that we know that,
we can write server side code.
So does code that executes on the remote machine?
The obvious next question is how that works?
How do you write server side code?
Well, for that,
you need a programming language that can be executed on such
a server.
And that's important.
Now we are not talking about some programming language
that's executed by a browser,
but really by the server that is targeted when you enter a
certain URL.
So the server that contains the HTML CSS
and JavaScript code.
Now it does not just need to contain that code.
It also might have extra code,
which is not sent back to the browser,
but which instead should be executed on the server for the
reasons mentioned over the last lectures.
So we need a specific programming language that can execute
there and not in the browser and to understand which options
we have here.
It's important to understand that a server
in the end, is just a regular computer.
We call it a server because it serves a website.
It sends back responses to browsers sending requests.
But in the end, it's just a regular computer,
a computer configured to serve a website.
Now, since it is a regular computer, though,
that means that we can execute any programming language on
that server because all programming languages can be
executed on computers.
And now the only limiting factor when we have to choose a
programming language is how well it's suited for web
development and for working with databases and generating
HTML code on the mind. And so on.
And here we have some programming languages that are very
popular for web development,
and we have other languages that are less commonly used
because they are not optimized for this task.
Very popular choices. For example, are Python,
it's easy to learn and can be used for web development.
It's a very common choice, also PHP,
which was super popular in the early 2000s and 2010s
and it's still extremely popular and helpful,
but also languages like C Sharp or Java script though,
here, we typically call it node JS.
Now I'll come back to that JavaScript node JS.
Pardon a second.
Let me quickly talk about these other languages and all the
languages that are not listed here because that's important.
You could also use Java or C + + or any other language,
but some of them are not really optimized for that,
or might be too complex. For example,
C + + is not really used for web development
and some languages simply didn't fit on this page.
Java is very popular.
I just wanted to only show some languages here.
Now all of the languages listed on this slide,
there is one language that has a great advantage and that's
node JS slash Java script.
All these languages are great and are commonly used for web
development.
But node JS is JavaScript outside of the browser.
In the previous course sections you'll learn that JavaScript
is the third language that can be executed by a browser.
And that it's often used to add interactivity to a website.
And that's true. That is what we use JavaScript for.
And that is what it was originally invented for.
But over the years,
people determined that it could be interesting to take the
engine that's built into browsers,
that is responsible for executing JavaScript code there out
of the browsers and execute JavaScript outside of a browser
to be specifically no JS.
And the end is the JavaScript engine.
So the tool inside the tool that is responsible for
executing JavaScript code that was built into Chrome,
or that is still built into Chrome.
Now it was all taken out of Chrome as a standalone tool.
So to say and therefore, with help of node JS,
which is an extra piece of software that you can install on
your system.
You can execute JavaScript code outset of a browser.
Now on node js.org, you can download and install that tool.
And we will do that in the next course section.
You don't need to do it right now,
and it will be available for all operating systems.
I'm on Mac OS that's why it's showing this here,
but you'll also find it for windows and you can also install
it on Linux. And so on.
The great thing about node JS is that you can run JavaScript
code with it and that it enriches this JavaScript code that
you can execute with more features that are not available
inside of a browser, for example, inside of a browser,
if you execute JavaScript code there.
So if you write JavaScript code,
as we did it in the previous course sections,
there are certain operations which you can't perform there,
interacting with the file system,
just like that. Reaching out to databases.
All that is not really possible in the browser for security
reasons. Because as a web developer,
you shouldn't be able to just start interacting
with your visitor's file systems and reaching out to a
database. Also can have certain security problems.
If you do it from inside a browser performance can also be
an issue.
Now,
since that engine was taken out of the browser here with
this note JS tool,
if you execute JavaScript code with that node JS tool,
something we'll do in the next core sections,
then you have more features available because in such an
environment,
all these performance and security considerations don't
matter anymore because you'll then run code on your own
machine instead of the machines of your visitors.
And that's a key difference.
And therefore, node JS also is a very popular choice when it
comes to writing service side back and code.
Because with that,
we can use our existing JavaScript knowledge,
add more features to it.
Something we will do over the next core sections and then
write back and code.
And we don't have to learn a brand new programming language.
That's why in this course,
we'll focus on node JS for backend development,
but of course, once you completed this course,
and once you feel more confident as a web developer,
you can also explore other languages like Python or PHP or
Java or whatever you want to also see if you maybe then
prefer using those languages, but no JS is super popular.
We can leverage our existing JavaScript knowledge.
It's a high performance backend language,
and therefore it's a great choice to learn as a web
developer and that's
Why we will now dive deeper into node JS and backend web
development in the next course sections.