1
00:00:00,000 --> 00:00:03,112
[MUSIC]

2
00:00:03,112 --> 00:00:06,571
What is full stack web development?

3
00:00:06,571 --> 00:00:13,028
Let me clarify to you a few terms so
that we start with a common understanding

4
00:00:13,028 --> 00:00:18,781
of full stack web development as
applied in this specialization.

5
00:00:18,781 --> 00:00:22,640
We often hear people talking about
the front end and the back end.

6
00:00:22,640 --> 00:00:27,362
The front end is where we
are delivering the content to the user,

7
00:00:27,362 --> 00:00:32,363
typically in a browser,
where the user accesses the information.

8
00:00:32,363 --> 00:00:36,815
And this is where we use
technologies like HTML,

9
00:00:36,815 --> 00:00:41,822
CSS and Javascript to render
the content for the user.

10
00:00:41,822 --> 00:00:46,963
This information delivery
is supported behind

11
00:00:46,963 --> 00:00:52,615
the scenes by a back end support,
which is typically

12
00:00:52,615 --> 00:00:59,039
implemented these days using
technologies like PHP Java,

13
00:00:59,039 --> 00:01:03,163
ASP.NET, Ruby, Python or NodeJS.

14
00:01:03,163 --> 00:01:07,303
We often hear people talking about
the three-tier architecture for

15
00:01:07,303 --> 00:01:08,451
web development.

16
00:01:08,451 --> 00:01:12,965
In this approach the entire web
application is organized into three

17
00:01:12,965 --> 00:01:14,320
different layers.

18
00:01:14,320 --> 00:01:16,073
The presentation layer,

19
00:01:16,073 --> 00:01:20,462
which is concerned with delivering
the information to the user.

20
00:01:20,462 --> 00:01:25,053
So this is usually the UI-related
concerns that are dealt with at

21
00:01:25,053 --> 00:01:26,896
the presentation layer.

22
00:01:26,896 --> 00:01:32,181
The business logic layer, on the other
hand, is concerned more about the data,

23
00:01:32,181 --> 00:01:36,145
the data validation,
the dynamic content processing, and

24
00:01:36,145 --> 00:01:39,582
generating the content to
be delivered to the user.

25
00:01:39,582 --> 00:01:44,355
This is backed up behind the scenes
with the data persistence layer or

26
00:01:44,355 --> 00:01:46,012
the data access layer.

27
00:01:46,012 --> 00:01:52,392
So this is concerned with how we store and
interact with the data,

28
00:01:52,392 --> 00:01:59,361
typically in the form a database,
and access this data through an API.

29
00:01:59,361 --> 00:02:04,070
Exploring this further, let us see
what is implemented typically in

30
00:02:04,070 --> 00:02:08,466
the traditional web development
in each of these three layers.

31
00:02:08,466 --> 00:02:12,976
The business logic layer
is usually implemented

32
00:02:12,976 --> 00:02:17,816
these days using technologies like Ruby,
Python,

33
00:02:17,816 --> 00:02:21,120
PHP, Java, C++, or ASP.net.

34
00:02:21,120 --> 00:02:25,884
This business logic layer is
interacting behind the scenes,

35
00:02:25,884 --> 00:02:31,747
with the persistent data, typically
stored in the relational database and

36
00:02:31,747 --> 00:02:34,780
accessed by the business logic layer.

37
00:02:34,780 --> 00:02:39,752
The business logic layer is also concerned
with the rendering of information

38
00:02:39,752 --> 00:02:44,510
to the front side typically the formal
server side rendering these days.

39
00:02:44,510 --> 00:02:49,061
So the HTML, CSS and JavaScript is
generated on the server side and

40
00:02:49,061 --> 00:02:52,972
then sent over to the client
side in the form of a web page.

41
00:02:52,972 --> 00:02:58,863
In this approach, we need specialists
in each of these three layers.

42
00:02:58,863 --> 00:03:04,638
So a front end specialist typically
would be well-versed in HTML,

43
00:03:04,638 --> 00:03:06,471
CSS and JavaScript.

44
00:03:06,471 --> 00:03:11,151
The business logic specialist
would be well-versed in one of

45
00:03:11,151 --> 00:03:16,373
the technologies that is used for
implementing the business logic.

46
00:03:16,373 --> 00:03:21,031
And then you need a data specialist
who will be well versed in

47
00:03:21,031 --> 00:03:24,862
the relations of database
management systems.

48
00:03:24,862 --> 00:03:29,813
There is an increasing trend
towards using a single language

49
00:03:29,813 --> 00:03:34,482
to implement the entire stack,
this being JavaScript.

50
00:03:34,482 --> 00:03:37,721
So you could have the front
end implemented, for

51
00:03:37,721 --> 00:03:42,541
example, as a single page application
using frameworks like Angular.

52
00:03:42,541 --> 00:03:47,224
You have the server side, or
the business logic layer being implemented

53
00:03:47,224 --> 00:03:52,074
using technologies like NodeJS,
which is also dependent on JavaScript.

54
00:03:52,074 --> 00:03:56,865
And then you have the data storage
itself being implemented using

55
00:03:56,865 --> 00:04:02,453
technologies like MongoDB which stores
data in the form of JSON documents.

56
00:04:02,453 --> 00:04:08,122
And the information exchange
between the server side and

57
00:04:08,122 --> 00:04:13,908
the client side Is usually done
using JSON as the format and

58
00:04:13,908 --> 00:04:18,533
the server side supports
a rest API endpoint.

59
00:04:18,533 --> 00:04:24,433
We will cover all these technologies
as part of this specialization.

60
00:04:24,433 --> 00:04:29,083
So as you go through the specialization
you will see that on that

61
00:04:29,083 --> 00:04:33,295
presentation layer site,
we will cover Bootstrap 4 and

62
00:04:33,295 --> 00:04:37,173
Angular for
implementing front end applications.

63
00:04:37,173 --> 00:04:43,363
Then on the business logic layer
we'll be using JS and JS modules,

64
00:04:43,363 --> 00:04:48,679
and Express for
implementing the business logic layer.

65
00:04:48,679 --> 00:04:53,026
We'll also consider back end as a service,
and

66
00:04:53,026 --> 00:04:57,712
then the data support
implemented using MongoDB.

67
00:04:57,712 --> 00:05:00,616
As you go through the specialization,

68
00:05:00,616 --> 00:05:05,544
the vaguest courses that you will
encounter in the specialization

69
00:05:05,544 --> 00:05:11,002
Include the first course which deals
with front-end web UI frameworks.

70
00:05:11,002 --> 00:05:18,061
We will cover Bootstrap 4 in sufficient
detail in the very first course.

71
00:05:18,061 --> 00:05:25,723
We'll also encounter web development
tools based around the NodeJS ecosystem.

72
00:05:25,723 --> 00:05:31,782
The second course will deal with
front-end JavaScript Frameworks,

73
00:05:31,782 --> 00:05:35,281
in particular Angular in great detail.

74
00:05:35,281 --> 00:05:40,861
In the third course,
we will look at hybrid mobile development

75
00:05:40,861 --> 00:05:45,823
using technologies like
Ionic Framework and Cordova.

76
00:05:45,823 --> 00:05:52,632
We'll also consider Nativescript as yet
another approach for

77
00:05:52,632 --> 00:05:58,673
doing hybrid mobile development
in the fourth course.

78
00:05:58,673 --> 00:06:03,514
The final course of course
brings us to the server side,

79
00:06:03,514 --> 00:06:08,973
where we will look at server-side
development using NodeJS,

80
00:06:08,973 --> 00:06:14,638
NodeJS modules, Express, MongoDB,
and Backend as a Service,

81
00:06:14,638 --> 00:06:18,354
in particular using loop back framework.

82
00:06:18,354 --> 00:06:22,953
This completes the entire
Full Stack Web Development and

83
00:06:22,953 --> 00:06:25,644
Hybrid Mobile Specialization.

84
00:06:25,644 --> 00:06:28,959
[MUSIC]