1
00:00:02,130 --> 00:00:03,340
Now in the last lecture,

2
00:00:03,340 --> 00:00:08,340
I explained why we sometimes need more dynamic websites

3
00:00:08,560 --> 00:00:11,630
where we have code that resides

4
00:00:11,630 --> 00:00:14,950
on a server, on the so-called Backend,

5
00:00:14,950 --> 00:00:17,290
that then is able to, for example,

6
00:00:17,290 --> 00:00:22,290
generate the HTML code that will be sent back dynamically.

7
00:00:22,320 --> 00:00:26,010
Because it is crucial to understand that as a web developer,

8
00:00:26,010 --> 00:00:29,950
it of course is about bringing something onto

9
00:00:29,950 --> 00:00:31,790
the screen of your visitors,

10
00:00:31,790 --> 00:00:35,780
about building that website your visitors see,

11
00:00:35,780 --> 00:00:39,530
but you'll have two options for building that.

12
00:00:39,530 --> 00:00:43,730
Option a is that you will write the instructions yourself.

13
00:00:43,730 --> 00:00:47,510
That you will write all the HTML, CSS and JavaScript code

14
00:00:47,510 --> 00:00:49,330
your users will see yourself

15
00:00:49,330 --> 00:00:53,390
and it's exactly the same code for every visitor.

16
00:00:53,390 --> 00:00:55,830
And often that's the right option

17
00:00:55,830 --> 00:00:59,420
because often you have websites where every visitor

18
00:00:59,420 --> 00:01:01,360
should see the same website.

19
00:01:01,360 --> 00:01:05,000
Where every visitor should see the same result.

20
00:01:05,000 --> 00:01:08,020
For example, if you're building your own portfolio page

21
00:01:08,020 --> 00:01:10,630
or something like the tic-tac-toe game

22
00:01:10,630 --> 00:01:14,053
where we have the same website for every visitor.

23
00:01:14,950 --> 00:01:18,640
But we also have more dynamic websites in the web

24
00:01:18,640 --> 00:01:21,180
where the contents that is being displayed

25
00:01:21,180 --> 00:01:24,840
to a visitor is not the same for every visitor.

26
00:01:24,840 --> 00:01:28,500
That's why we also have another option, option B,

27
00:01:28,500 --> 00:01:32,810
where as a web developer, we don't write all the HTML

28
00:01:32,810 --> 00:01:36,310
and CSS and JavaScript code ourself,

29
00:01:36,310 --> 00:01:39,580
but instead we might prepare pieces of it

30
00:01:39,580 --> 00:01:43,300
but then we write code that runs on the server

31
00:01:43,300 --> 00:01:46,230
that generates the HTML code

32
00:01:46,230 --> 00:01:49,240
that will be sent back dynamically.

33
00:01:49,240 --> 00:01:51,300
And that's this second approach,

34
00:01:51,300 --> 00:01:54,690
which you saw in action at the example of Amazon,

35
00:01:54,690 --> 00:01:56,830
but of course there are other websites

36
00:01:56,830 --> 00:01:59,750
which needs this kind of behavior as well.

37
00:01:59,750 --> 00:02:02,190
And of course, throughout this course,

38
00:02:02,190 --> 00:02:03,640
in the upcoming sections

39
00:02:03,640 --> 00:02:06,030
and with all the examples you see there,

40
00:02:06,030 --> 00:02:09,400
you will learn when to use which option

41
00:02:09,400 --> 00:02:13,140
and you will get a feeling for how to decide

42
00:02:13,140 --> 00:02:15,460
which option is best.

43
00:02:15,460 --> 00:02:18,640
For the moment, it is just important to recognize

44
00:02:18,640 --> 00:02:20,540
that we have these two options

45
00:02:20,540 --> 00:02:23,500
and that we basically have these two ends

46
00:02:23,500 --> 00:02:25,970
when we talk about web development.

47
00:02:25,970 --> 00:02:28,340
We have the so-called Frontend,

48
00:02:28,340 --> 00:02:32,210
which is basically the code that executes directly

49
00:02:32,210 --> 00:02:36,020
in the browser of your visitors and therefore in the end,

50
00:02:36,020 --> 00:02:40,330
on the machines to computers of your visitors.

51
00:02:40,330 --> 00:02:43,490
That's this code that controls what the user sees.

52
00:02:43,490 --> 00:02:47,330
HTML, CSS and JavaScript are the languages you use

53
00:02:47,330 --> 00:02:48,990
for writing that code.

54
00:02:48,990 --> 00:02:50,330
And as mentioned before,

55
00:02:50,330 --> 00:02:53,080
you either write that code yourself

56
00:02:53,080 --> 00:02:56,210
or you write code that generates

57
00:02:56,210 --> 00:03:00,440
this Frontend code just in time dynamically.

58
00:03:00,440 --> 00:03:05,310
If you go for option B, you have so-called Backend code

59
00:03:05,310 --> 00:03:07,830
as part of your overall website.

60
00:03:07,830 --> 00:03:11,230
That's the code that executes directly on the server,

61
00:03:11,230 --> 00:03:14,940
so on the computer owned by you, the website owner,

62
00:03:14,940 --> 00:03:17,680
which serves the website and there,

63
00:03:17,680 --> 00:03:20,950
you might then not just be serving the finished HTML,

64
00:03:20,950 --> 00:03:23,630
CSS and JavaScript files,

65
00:03:23,630 --> 00:03:27,420
but instead you might have extra code that executes on

66
00:03:27,420 --> 00:03:30,900
that machine that generates those instructions

67
00:03:30,900 --> 00:03:34,773
that generates the HTML code, specifically dynamically.

68
00:03:35,730 --> 00:03:38,640
So here you then have some extra logic on the server

69
00:03:38,640 --> 00:03:41,670
and you can do some behind the scenes work,

70
00:03:41,670 --> 00:03:42,810
where you, for example,

71
00:03:42,810 --> 00:03:46,480
load data from our database to prepare the HTML code

72
00:03:46,480 --> 00:03:48,370
that will be sent back.

73
00:03:48,370 --> 00:03:51,770
Now, you can also do more work on the Backend.

74
00:03:51,770 --> 00:03:52,700
You can, for example,

75
00:03:52,700 --> 00:03:56,740
also store incoming data that's being sent from a user

76
00:03:56,740 --> 00:03:59,310
for example, if some form is submitted,

77
00:03:59,310 --> 00:04:03,170
even if you then do send back a standardized HTML page

78
00:04:03,170 --> 00:04:04,830
as a response.

79
00:04:04,830 --> 00:04:08,230
But we'll see all of that in action over the next sections.

80
00:04:08,230 --> 00:04:09,690
No worries.

81
00:04:09,690 --> 00:04:13,890
So it's this Backend where you can do data parsing

82
00:04:13,890 --> 00:04:16,180
and storage, fetch data, store files

83
00:04:16,180 --> 00:04:19,300
and do all these things that need to happen

84
00:04:19,300 --> 00:04:23,710
on a central machine, which is the same for all visitors.

85
00:04:23,710 --> 00:04:24,700
Because for example,

86
00:04:24,700 --> 00:04:27,800
when it comes to uploading profile images,

87
00:04:27,800 --> 00:04:30,400
you need to store these images on your own machine,

88
00:04:30,400 --> 00:04:32,910
which belongs to you, the website owner,

89
00:04:32,910 --> 00:04:35,920
because otherwise, not all visitors would be able

90
00:04:35,920 --> 00:04:37,350
to see that image.

91
00:04:37,350 --> 00:04:38,793
I hope that makes sense.

92
00:04:39,700 --> 00:04:41,530
Now, therefore, as a web developer,

93
00:04:41,530 --> 00:04:43,870
you can work on either the Frontend,

94
00:04:43,870 --> 00:04:47,180
so on the HTML, CSS and JavaScript code,

95
00:04:47,180 --> 00:04:50,450
or the Backend, so to code that runs on the server.

96
00:04:50,450 --> 00:04:53,630
And we'll have a look at which programming languages

97
00:04:53,630 --> 00:04:56,300
we can use there in just a second.

98
00:04:56,300 --> 00:04:58,340
But you can also work on both.

99
00:04:58,340 --> 00:05:02,360
Then you are a so-called Fullstack Web Developer,

100
00:05:02,360 --> 00:05:04,970
who's doing Fullstack Web Development,

101
00:05:04,970 --> 00:05:08,320
because then you are working on both what the user sees

102
00:05:08,320 --> 00:05:10,700
and what happens on the server.

103
00:05:10,700 --> 00:05:14,520
And whilst specializing may have the advantage of being able

104
00:05:14,520 --> 00:05:18,480
to dive deeper into the specific languages and features,

105
00:05:18,480 --> 00:05:21,060
knowing both of course has the advantage

106
00:05:21,060 --> 00:05:23,570
that you can build a complete website,

107
00:05:23,570 --> 00:05:26,330
even if it happens to be a dynamic website,

108
00:05:26,330 --> 00:05:30,140
completely on your own, which is especially useful

109
00:05:30,140 --> 00:05:32,480
if you are working as a freelancer

110
00:05:32,480 --> 00:05:35,730
or if you are building a website for your own business,

111
00:05:35,730 --> 00:05:38,373
which might need such a dynamic website.

112
00:05:39,290 --> 00:05:42,980
In this course, you will, of course learn both.

113
00:05:42,980 --> 00:05:45,710
Both fields are covered in depth

114
00:05:45,710 --> 00:05:50,130
and whilst we did focus on HTML, CSS and JavaScript

115
00:05:50,130 --> 00:05:53,410
and therefore the Frontend part up to this point,

116
00:05:53,410 --> 00:05:57,150
from now on, we will also dive deeply into the Backend

117
00:05:57,150 --> 00:06:00,603
and see how both ends are connected in the end.

