Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:02,290 --> 00:00:06,340
‫So what's MERN, what does MERN stand for?
2
00:00:06,340 --> 00:00:10,930
‫The M stands for MongoDB and that is a database solution,
3
00:00:10,930 --> 00:00:13,450
‫the E stands for Express,
4
00:00:13,450 --> 00:00:14,650
‫I'll come back to what this is
5
00:00:14,660 --> 00:00:15,550
‫in a second.
6
00:00:15,580 --> 00:00:17,910
‫The R stands for React.js
7
00:00:17,920 --> 00:00:24,910
‫and this is a browser side Javascript library that helps us build amazing user interfaces and the
8
00:00:24,910 --> 00:00:27,090
‫N stands for Node.js,
9
00:00:27,100 --> 00:00:33,610
‫this is a server side Javascript runtime, an environment where Javascript code can be executed outside
10
00:00:33,610 --> 00:00:38,370
‫of the browser and now Express.js is a framework for Node.js,
11
00:00:38,410 --> 00:00:43,930
‫so it in the end makes building Node.js applications easier. Now combined,
12
00:00:43,930 --> 00:00:48,340
‫these technologies form the so-called MERN stack.
13
00:00:48,340 --> 00:00:54,670
‫They work together particularly well and you can build amazing full stack web applications with these
14
00:00:54,670 --> 00:00:56,740
‫four technologies working together.
15
00:00:57,400 --> 00:01:03,160
‫So let's take a closer look at each of these technologies to understand which role it plays exactly
16
00:01:03,280 --> 00:01:05,290
‫in that tech stack.
17
00:01:05,290 --> 00:01:08,060
‫So what's React? React is a client side,
18
00:01:08,080 --> 00:01:13,200
‫so on the browser, library which allows you to build highly reactive user interfaces,
19
00:01:13,450 --> 00:01:17,110
‫so it's all about building user interfaces. With React
20
00:01:17,110 --> 00:01:23,440
‫you write Javascript code that will be executed in the browser and since it runs there, it is responsible
21
00:01:23,440 --> 00:01:29,970
‫for controlling what the user sees on the screen and how things there change when a button is clicked,
22
00:01:29,980 --> 00:01:32,830
‫when something is entered into an input box,
23
00:01:32,830 --> 00:01:34,440
‫it's really all about that,
24
00:01:34,480 --> 00:01:41,170
‫it's about rendering a user interface with dynamic data and about updating it when data changes or when
25
00:01:41,170 --> 00:01:43,020
‫certain events occur.
26
00:01:43,030 --> 00:01:46,930
‫It's about handling user input and providing feedback to the user
27
00:01:46,930 --> 00:01:51,860
‫and it's also and that is where the other three technologies will come into play,
28
00:01:51,880 --> 00:01:59,830
‫it's also about communicating with backend services and with backend, I mean services or technologies
29
00:01:59,980 --> 00:02:02,850
‫that don't run in the browser of your user,
30
00:02:03,070 --> 00:02:06,020
‫so React so to say is the front end,
31
00:02:06,070 --> 00:02:12,920
‫the other three technologies - Node, Express and MongoDB together make up the backend.
32
00:02:12,940 --> 00:02:19,300
‫Now we use libraries like React and there are alternatives like Angular with which you would have the
33
00:02:19,300 --> 00:02:23,160
‫MEAN stack instead of the MERN stack which do the same
34
00:02:23,260 --> 00:02:31,210
‫but we use such technologies to provide users with a mobile app-like user experience where everything
35
00:02:31,210 --> 00:02:37,890
‫happens instantly, where we have a great reactivity, where things on the user interface really feel great
36
00:02:37,900 --> 00:02:43,600
‫and in standard, we simply provide a really awesome and amazing user experience.
37
00:02:43,600 --> 00:02:47,110
‫Now what about the other technologies, what is Node exactly?
38
00:02:47,110 --> 00:02:54,520
‫It's a Javascript runtime typically used or often used to create server side Javascript applications.
39
00:02:54,550 --> 00:02:59,710
‫Now technically, that's not the only thing you can use it for but it is one of the most prominent use
40
00:02:59,710 --> 00:03:07,330
‫cases and scenarios. You can use Node.js to execute Javascript outside of the browser
41
00:03:07,330 --> 00:03:12,830
‫And since it runs outside of the browser, you can for example use it to create a web server with it,
42
00:03:12,880 --> 00:03:18,250
‫so to run it on some machine which is exposed to the Internet which then accepts requests and sends
43
00:03:18,250 --> 00:03:25,180
‫back responses, so we can then use Javascript as a server side programming language, as an alternative
44
00:03:25,180 --> 00:03:32,380
‫to PHP, ASP.net, Java and so on basically. With Node.js we can listen to requests and send back
45
00:03:32,380 --> 00:03:33,270
‫responses,
46
00:03:33,430 --> 00:03:40,570
‫we can execute server side logic and we can also interact with databases and with files, things we typically
47
00:03:40,570 --> 00:03:47,150
‫don't do in the browser or we can't do in the browser, since we're not tied to the browser anymore,
48
00:03:47,170 --> 00:03:49,420
‫there are certain things we can't do anymore,
49
00:03:49,420 --> 00:03:54,880
‫for example interact with the DOM, because there is no DOM, it's running outside of the browser but there
50
00:03:54,880 --> 00:03:57,120
‫are new things we can do, for example
51
00:03:57,130 --> 00:04:03,790
‫write files or do things like this and therefore as I said, it's an alternative to other server side programming
52
00:04:03,790 --> 00:04:06,700
‫languages and just like those languages,
53
00:04:06,850 --> 00:04:10,840
‫it's also important to note that it's rarely used stand alone,
54
00:04:10,960 --> 00:04:18,270
‫instead typically we use it combined with Express and Express is a Node.js framework, so we still write
55
00:04:18,280 --> 00:04:25,960
‫Node.js Javascript code but we get utility functions and a certain way of structuring and building
56
00:04:25,990 --> 00:04:33,790
‫our applications, so a certain ruleset we adhere to basically which makes building Node.js applications
57
00:04:33,880 --> 00:04:35,980
‫much much easier.
58
00:04:35,980 --> 00:04:39,930
‫So it's based on Node.js but gives us new functionalities,
59
00:04:40,000 --> 00:04:44,230
‫it's strictly middleware based and you will learn what that means throughout the course,
60
00:04:44,230 --> 00:04:50,950
‫which means we have a clear way of handling requests, a clear funnel through which all requests are passed
61
00:04:50,950 --> 00:04:55,270
‫where we then can extract data or prepare the response
62
00:04:55,390 --> 00:05:01,630
‫and in general, with other features like routing, view rendering and more, we've got a lot of tools and clear
63
00:05:01,710 --> 00:05:07,860
‫rules that almost force us to write amazing and really well working Node.js applications.
64
00:05:07,950 --> 00:05:11,700
‫So it really simplifies the usage of Node.js
65
00:05:11,790 --> 00:05:16,810
‫and if you know PHP, it's a bit like what Laravel is for PHP,
66
00:05:16,830 --> 00:05:20,310
‫an amazing framework that simplifies the usage of the language
67
00:05:21,770 --> 00:05:29,360
‫and that leaves us with MongoDB, what is MongoDB about? MongoDB is a NoSQL database engine,
68
00:05:29,600 --> 00:05:35,300
‫which allows us to store documents in so-called collections, instead of records and tables as we would
69
00:05:35,300 --> 00:05:37,010
‫have it in SQL.
70
00:05:37,100 --> 00:05:38,680
‫So it's a database engine,
71
00:05:38,690 --> 00:05:41,050
‫it's all about storing data,
72
00:05:41,090 --> 00:05:43,460
‫it's about storing our application data
73
00:05:43,460 --> 00:05:46,460
‫specifically. We use MongoDB in this course
74
00:05:46,460 --> 00:05:53,870
‫and in general to store for example our users, our products or whatever our application is about.
75
00:05:54,170 --> 00:05:58,420
‫Unlike SQL, it doesn't enforce a schema for our data,
76
00:05:58,430 --> 00:06:02,630
‫we can still build one and use one if we want to but we're not forced to
77
00:06:02,630 --> 00:06:05,690
‫and we also don't need to work with relations.
78
00:06:05,750 --> 00:06:11,720
‫We can still set up kind of relations but it's all a lot looser than it is in SQL,
79
00:06:11,780 --> 00:06:18,560
‫you're not forced to do these things and this is the case on purpose of course because it also gives
80
00:06:18,560 --> 00:06:19,760
‫you many advantages,
81
00:06:19,760 --> 00:06:27,290
‫for example NoSQL databases like MongoDB often give you amazing performance because they're way
82
00:06:27,290 --> 00:06:29,110
‫more flexible.
83
00:06:29,150 --> 00:06:35,540
‫It's also very easy to connect it to Node and Express because as you will see throughout this course, writing
84
00:06:35,540 --> 00:06:42,630
‫queries against MongoDB is really straightforward and super easy when working with Javascript anyways,
85
00:06:42,710 --> 00:06:50,120
‫so it's really fun and easy to use MongoDB in Javascript applications. Now for security reasons, as you
86
00:06:50,120 --> 00:06:51,890
‫will also learn throughout this course,
87
00:06:51,890 --> 00:06:57,590
‫we don't connect to MongoDB directly from inside our React application,
88
00:06:57,590 --> 00:07:02,810
‫instead we do that with the help of Node and Express and that is how we then have all these technologies
89
00:07:02,810 --> 00:07:04,030
‫work together,
90
00:07:04,070 --> 00:07:09,640
‫so it's a powerful database which can easily be integrated into a Node Express environment.
91
00:07:09,680 --> 00:07:14,240
‫Technically however you could also swap MongoDB for other database engines,
92
00:07:14,240 --> 00:07:20,490
‫it wouldn't be the MERN stack anymore because our M would be gone but of course you could also
93
00:07:20,510 --> 00:07:24,440
‫you build an app with React, Node, Express and some other database
94
00:07:24,620 --> 00:07:28,730
‫but as I said, MongoDB really works well and is super easy to use.
10431
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.