Up to this point in the course,
we learned about pages and we learned about routing.
And the Next.js helps us with routing
and that it allows us to define a route structure
and define our routes in general
by setting up files and folders in the pages folder.
But as you see here on this slide as well
Next.js is not just about routing.
And that's also what I already explained
in the first course section of this course.
Whilst, this is a major building block of Next.js.
And whilst this is already a pretty amazing feature
that could be a good reason for using Next.js.
It's not the only reason why we might wanna use Next.js.
Instead Next.js helps us
with building full stack react apps,
as I also mentioned before in the course already.
And it helps us with that by for example,
pre-rendering pages on the server side.
And that's important.
And in this section
we're going to explore what exactly that means.
But in the end, Next.js will help us with executing code
not just on the client side,
so in the react app that runs
in the browser is of our users,
but it helps us with running code
on the server side as well.
For example, for preparing data
or for loading data that is then needed
by the page that should be displayed.
Therefore this course section is about data fetching.
It is about how Next.js helps us blend server side
with client side code and why we might wanna do that.
And we're going to explore what exactly data fetching means
and why it matters and how Next.js helps us with that.
And we're then specifically
going to explore static generation
versus Server-side generation,
What these concepts are and when to use which
and how to use them.
Of course.
And we're going to see how exactly we do prepare
and fetch data with Next.js.
And how that differs from traditional react apps.