1
00:00:02,230 --> 00:00:04,720
In the previous course section,

2
00:00:04,720 --> 00:00:06,637
we get started with NodeJS.

3
00:00:07,596 --> 00:00:10,770
Now, at this point, we don't fully use

4
00:00:10,770 --> 00:00:14,000
the advantages NodeJS offers to us.

5
00:00:14,000 --> 00:00:16,620
For example, we're not talking to a database,

6
00:00:16,620 --> 00:00:18,620
but we get the solid foundation

7
00:00:18,620 --> 00:00:21,800
that we need to write code that executes

8
00:00:21,800 --> 00:00:25,663
on the server instead of in the browser.

9
00:00:26,540 --> 00:00:29,440
However, with just NodeJS,

10
00:00:29,440 --> 00:00:31,830
which is what we are using here,

11
00:00:31,830 --> 00:00:34,760
we have certain limitations;

12
00:00:34,760 --> 00:00:37,800
or to be precise, as a developer,

13
00:00:37,800 --> 00:00:41,500
we have extra unnecessary work to do.

14
00:00:41,500 --> 00:00:44,570
Now, for example, for every website that we build,

15
00:00:44,570 --> 00:00:47,830
we have to create that Node server on our own

16
00:00:47,830 --> 00:00:51,070
and define this request handling function.

17
00:00:51,070 --> 00:00:53,940
And whilst that may be doesn't sound too bad,

18
00:00:53,940 --> 00:00:56,820
what about the code inside this function?

19
00:00:56,820 --> 00:01:01,600
Here we then have to check the request.url

20
00:01:01,600 --> 00:01:05,510
and handle different cases to execute different code.

21
00:01:05,510 --> 00:01:09,780
That's all possible, but it's all pretty low level

22
00:01:09,780 --> 00:01:11,370
as it's called.

23
00:01:11,370 --> 00:01:15,520
We have to parse and look up the URL manually;

24
00:01:15,520 --> 00:01:18,340
we have to write this "if" statement manually.

25
00:01:18,340 --> 00:01:21,310
And if you are building a complex website,

26
00:01:21,310 --> 00:01:25,850
let's say an online shop with many different pages

27
00:01:25,850 --> 00:01:29,160
where you at some point then maybe also need

28
00:01:29,160 --> 00:01:32,260
to parse incoming user data,

29
00:01:32,260 --> 00:01:37,050
then there will be a point where this gets very cumbersome.

30
00:01:37,050 --> 00:01:40,300
And that's why we typically don't work

31
00:01:40,300 --> 00:01:43,120
with just NodeJS like this,

32
00:01:43,120 --> 00:01:47,860
but why we use a third-party library on top of NodeJS

33
00:01:47,860 --> 00:01:51,480
to make our life as a developer a bit easier

34
00:01:51,480 --> 00:01:55,950
just as we used third-party libraries before in the browser

35
00:01:55,950 --> 00:01:59,970
to help ourselves with some predefined styles

36
00:01:59,970 --> 00:02:03,570
or to easily add something like a parallax effect.

37
00:02:03,570 --> 00:02:06,900
For the same reason, we also might want to simplify

38
00:02:06,900 --> 00:02:09,280
our life when it comes to the backend code.

39
00:02:09,280 --> 00:02:11,330
And that's why in this section,

40
00:02:11,330 --> 00:02:14,940
we will start adding a third-party package.

41
00:02:14,940 --> 00:02:16,270
To be precise,

42
00:02:16,270 --> 00:02:20,230
this course module is about NodeJS Development

43
00:02:20,230 --> 00:02:23,990
with a third-party library called ExpressJS.

44
00:02:23,990 --> 00:02:26,550
And then this course section,

45
00:02:26,550 --> 00:02:29,780
you will not just learn why we use that,

46
00:02:29,780 --> 00:02:34,380
we already had a look at the "why" right now in this video,

47
00:02:34,380 --> 00:02:37,980
but you will also learn what exactly ExpressJS is

48
00:02:37,980 --> 00:02:39,950
and how you use it.

49
00:02:39,950 --> 00:02:42,800
And we are going to explore how we can handle

50
00:02:42,800 --> 00:02:46,750
the requests and send back responses with ExpressJS,

51
00:02:46,750 --> 00:02:49,610
and you will see that it will be a bit easier

52
00:02:49,610 --> 00:02:52,760
than with just NodeJS.

53
00:02:52,760 --> 00:02:57,110
And therefore, since we will now have this simplification

54
00:02:57,110 --> 00:03:00,160
and this extra help from this library,

55
00:03:00,160 --> 00:03:01,680
in this course section,

56
00:03:01,680 --> 00:03:04,850
we are now also finally going to start parsing

57
00:03:04,850 --> 00:03:08,380
some user input submitted through a form,

58
00:03:08,380 --> 00:03:11,350
and we will then also store that input in a file

59
00:03:11,350 --> 00:03:13,410
that will be stored on the server,

60
00:03:13,410 --> 00:03:15,110
which we then in turn can use

61
00:03:15,110 --> 00:03:20,110
to generate dynamic HTML pages based on that file content.

62
00:03:21,260 --> 00:03:23,310
But we'll get there step by step;

63
00:03:23,310 --> 00:03:26,600
let's, first of all, start by installing ExpressJS,

64
00:03:26,600 --> 00:03:28,453
and let's see how it works.

