All language subtitles for 2. Why Material-UI

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,540 --> 00:00:02,010 Welcome back. 2 00:00:02,070 --> 00:00:09,060 In this lecture we're going to talk about why exactly we're learning material UI and what it really 3 00:00:09,060 --> 00:00:10,320 does for us. 4 00:00:10,410 --> 00:00:16,320 So I'm sure that you have your own reasons as to why you're interested in learning this but I just really 5 00:00:16,320 --> 00:00:22,440 wanted to dive into why I think it's so important and why I chose it over other libraries that are out 6 00:00:22,440 --> 00:00:31,040 there so I think they all react to developers run into a similar problem along their learning process. 7 00:00:31,140 --> 00:00:37,920 You know after you've learned react and you've learned redux and you understand components and stay 8 00:00:38,010 --> 00:00:45,660 and props and J.S. X and you understand how all these things fit together to build an application well 9 00:00:45,690 --> 00:00:48,510 then you want to start making your own applications. 10 00:00:48,510 --> 00:00:54,570 And I think they pretty quickly when you start doing that you realize how difficult it is to create 11 00:00:54,600 --> 00:00:58,390 consistent components the look and feel the same. 12 00:00:58,390 --> 00:01:04,400 Not only across a single application but across all of the applications that you build. 13 00:01:04,590 --> 00:01:11,430 You know you don't want to be going in and having to redo the same style over and over or having to 14 00:01:11,460 --> 00:01:18,300 go in and change variables everywhere when you want to reuse one piece of code from one project to the 15 00:01:18,300 --> 00:01:19,710 next. 16 00:01:19,710 --> 00:01:27,150 You also always want to live by that programmers rule of not reinventing the wheel and you know that 17 00:01:27,180 --> 00:01:34,350 every application out there has a lot of base features that are going to end up being the same in functionality 18 00:01:34,650 --> 00:01:43,240 relatively you know like your navigation your header your footer buttons things like that. 19 00:01:43,240 --> 00:01:50,010 The every application is going to need and that you're sure other people out there have obviously had 20 00:01:50,010 --> 00:01:51,530 to build before. 21 00:01:51,570 --> 00:01:56,800 So you know that there has to be some better solution out there than doing it on your own. 22 00:01:56,820 --> 00:01:59,340 And thankfully there is. 23 00:01:59,340 --> 00:02:07,710 So the solution to that would be to have a set of standardized components all with built in functionality 24 00:02:07,710 --> 00:02:14,550 and styles that you could call upon from the beginning of your project to get everything laid out very 25 00:02:14,550 --> 00:02:22,100 easily and then go in and customize things specific to the situation that your project calls for. 26 00:02:22,110 --> 00:02:27,280 So I'm going to walk you through some of the solutions to this problem. 27 00:02:27,540 --> 00:02:36,870 Some of the libraries that are out there and why I think material UI is the best most powerful yet least 28 00:02:36,900 --> 00:02:45,890 understood Out of all of them so the first option is probably the one that you've heard most about bootstrap 29 00:02:46,160 --> 00:02:48,070 and react bootstrap. 30 00:02:48,830 --> 00:02:53,230 So this is actually the oldest of the libraries that I'm going to show you. 31 00:02:53,330 --> 00:03:00,410 And it was one of the first to really try and solve this consistency problem by providing a suite of 32 00:03:00,410 --> 00:03:05,720 pre styled HCM UML elements that you could access via classes. 33 00:03:05,750 --> 00:03:12,530 So that really did well for a while and kind of became the standard until some of these other solutions 34 00:03:12,530 --> 00:03:16,400 came around before react was even out actually. 35 00:03:16,400 --> 00:03:20,080 So react bootstrap is a library. 36 00:03:20,090 --> 00:03:28,430 The essentially ports the original bootstrap library by taking those classes they had developed and 37 00:03:28,430 --> 00:03:31,920 turning them into react components. 38 00:03:31,970 --> 00:03:34,470 Now they did a really good job of this. 39 00:03:34,760 --> 00:03:38,620 But I think that is still misses out on some of the functionality. 40 00:03:38,720 --> 00:03:43,610 They could be gained from a reactive specific library. 41 00:03:43,860 --> 00:03:47,280 And I also think that it is a little bit restrictive. 42 00:03:47,370 --> 00:03:53,450 I think that it is not necessarily as easy to customize as some of these other solutions. 43 00:03:53,550 --> 00:04:02,510 And I think that the core set of just providing a bunch of components to you is essentially all it does. 44 00:04:02,510 --> 00:04:08,460 And I think the out of a library like what we're looking for there's a lot of other helpful things that 45 00:04:08,460 --> 00:04:15,390 they can do which material UI does provide that I'll get into that will show you why you would really 46 00:04:15,390 --> 00:04:20,880 want to look for that over something as basic as react bootstrap. 47 00:04:20,940 --> 00:04:30,100 So the second option is one you may or may not have heard of semantic UI and semantic UI react. 48 00:04:30,240 --> 00:04:38,730 This is another library attempting to solve the problem by providing a set of pre styled elements but 49 00:04:39,120 --> 00:04:46,560 it seeks to add a little bit extra functionality by also including a theming system that makes it a 50 00:04:46,560 --> 00:04:54,570 little easier to centralize some of your styles and is definitely a step up from just having all the 51 00:04:54,600 --> 00:04:57,600 components kind of isolated. 52 00:04:57,660 --> 00:05:06,120 The one thing that I don't really like about semantic UI as much is it again is ported for react. 53 00:05:06,120 --> 00:05:13,980 So you see we have the semantic UI react library that was brought over from the original. 54 00:05:14,010 --> 00:05:22,230 And again I just think the when you do this you're missing out on some of the innovation and features 55 00:05:22,230 --> 00:05:29,700 and functionality that I think could really come out of a completely react specific system. 56 00:05:29,700 --> 00:05:36,550 Another problem with that though is that that styling system actually isn't react specific. 57 00:05:36,690 --> 00:05:46,380 So they're theming that they have it doesn't include any specific react optimizations or any you know 58 00:05:46,380 --> 00:05:51,950 considerations that might have made it easier and more applicable to react projects. 59 00:05:52,200 --> 00:06:00,690 And on the semantic UI react documentation it says that you just have to rely on the system from the 60 00:06:00,690 --> 00:06:02,110 base library. 61 00:06:02,190 --> 00:06:08,340 And so that's something that I don't really like is that you are completely dependent on that main library 62 00:06:08,610 --> 00:06:10,320 for new features. 63 00:06:10,530 --> 00:06:19,530 And since it isn't a react specific library it's not as likely that you're going to see as much of a 64 00:06:19,530 --> 00:06:27,300 push for new react specific features or taking advantage of new react developments. 65 00:06:27,300 --> 00:06:29,670 And so you're kind of limited here. 66 00:06:29,670 --> 00:06:37,350 I think when you're relying on that duality between the original and the react version in the library. 67 00:06:37,350 --> 00:06:43,320 And to me that just seems to show that there has to be a better solution out there. 68 00:06:43,320 --> 00:06:53,400 And as you can probably expect there is so that brings us to the one you've all been waiting for material 69 00:06:53,400 --> 00:06:54,010 you. 70 00:06:54,000 --> 00:07:00,740 I now you can tell that this is the best library because the logo is by far the coolest. 71 00:07:01,380 --> 00:07:06,840 But in all seriousness I really have fallen in love with this library and I really think that you're 72 00:07:06,840 --> 00:07:15,180 going to as well I think first and foremost the reason for that is the material UI was built explicitly 73 00:07:15,180 --> 00:07:18,030 for and only for react. 74 00:07:18,030 --> 00:07:26,400 J Yes I think that that really allowed the developers to innovate and to think through every possible 75 00:07:26,400 --> 00:07:34,020 situation which might arise and really optimize that to create a streamlined cohesive experience that 76 00:07:34,140 --> 00:07:41,080 I really just think beats out any of the other similar libraries another great feature about material 77 00:07:41,080 --> 00:07:50,380 UI is its flexibility and how it's able to allow you to really customize everything and every sort of 78 00:07:50,380 --> 00:07:54,290 way specifically to how you want it and how you need it. 79 00:07:54,610 --> 00:08:03,010 Whereas some of the other libraries I feel like it maybe wasn't as clear or as easy to customize the 80 00:08:03,010 --> 00:08:09,610 styles that they already had and I felt maybe a little more trapped into their defaults with material 81 00:08:09,610 --> 00:08:10,180 UI. 82 00:08:10,180 --> 00:08:16,900 I never felt that once and I really feel like you have the complete power to manipulate every aspect 83 00:08:16,900 --> 00:08:18,980 of it in the ways that you need to. 84 00:08:19,120 --> 00:08:23,500 And that's really really powerful for a library like this. 85 00:08:23,620 --> 00:08:30,040 Now what I find really interesting is how they're able to provide that extreme flexibility for you while 86 00:08:30,040 --> 00:08:34,540 at the same time maintaining consistency throughout your application. 87 00:08:34,900 --> 00:08:42,160 So they provide all those default components and functionality for you but they enable you to really 88 00:08:42,220 --> 00:08:47,340 customize it without breaking the flow of everything else. 89 00:08:47,380 --> 00:08:56,590 And more than that they allow you to add to it and to redirect that flow and to really you know extend 90 00:08:56,830 --> 00:09:03,760 the consistency of your own designs through their library without being restrictive. 91 00:09:03,760 --> 00:09:09,880 And that really is amazing that they've been able to pull that off so well and was something I continuously 92 00:09:09,880 --> 00:09:17,940 appreciated as I was building these projects material UI is also very actively developed. 93 00:09:17,970 --> 00:09:23,220 I think that the latest commit to the project was actually only a few days from when I was recording 94 00:09:23,220 --> 00:09:31,920 this and they're constantly adding features and releasing updates and fixing bugs and doing all of the 95 00:09:31,920 --> 00:09:39,330 upkeep the a good library should have going on what I really like about this too is since they are so 96 00:09:39,330 --> 00:09:49,380 active they're able to respond to updates in react like say hooks and create features and functionality 97 00:09:49,380 --> 00:09:55,880 around that specifically that enabled things that definitely aren't possible in other libraries. 98 00:09:55,890 --> 00:10:02,070 If you're not react specific and that is just really impressive and shows the commitment of the authors 99 00:10:02,070 --> 00:10:09,740 who have created this so finally one of the last reasons that really pushed me to material UI over other 100 00:10:09,740 --> 00:10:13,700 libraries was its advanced features support. 101 00:10:13,700 --> 00:10:20,900 So not only is it a library giving you an extensive set of components priest style and functional for 102 00:10:20,900 --> 00:10:27,710 you to build on and not only is it a library that provides a great seeming solution allowing you to 103 00:10:27,710 --> 00:10:35,600 centralize your styles and modify individual components as necessary but it also provides a framework 104 00:10:35,780 --> 00:10:41,480 for building on even more advanced features outside the scope of normal design. 105 00:10:41,540 --> 00:10:47,840 So a great example of that is server side rendering which we are going to get into in this course and 106 00:10:48,050 --> 00:10:55,190 material UI is built specifically to work with server side rendering and they even provide boiler plates 107 00:10:55,430 --> 00:11:02,440 for common server side rendering setups for us to use and we actually are going to use that another 108 00:11:02,440 --> 00:11:10,240 great feature that I love of material UI is the responsive design system they make it so amazing we 109 00:11:10,240 --> 00:11:18,010 easy to change your layouts and adapt your styles based on the sizes of the screens that you're on without 110 00:11:18,010 --> 00:11:22,820 having to do all the tedious labor that you think might be involved with that. 111 00:11:22,960 --> 00:11:30,820 They really integrated responsive design with their entire layout and grid system and really just made 112 00:11:30,820 --> 00:11:39,760 it easy and natural for you to create applications that look perfect on every screen size without having 113 00:11:39,760 --> 00:11:43,160 to really struggle to implement that. 114 00:11:43,180 --> 00:11:49,060 So I really tip my hat off to them for being able to pull that off and I think that that is absolutely 115 00:11:49,330 --> 00:11:52,970 one of the best features of material UI. 116 00:11:52,980 --> 00:11:59,650 The you are going to fall in love with and really grow to appreciate the way that I have so I hope I've 117 00:11:59,650 --> 00:12:05,780 convinced you by now that material UI is the best library out there for what we want to do and that 118 00:12:05,840 --> 00:12:12,370 it is really going to change the way you create react applications and really going to enable you to 119 00:12:12,370 --> 00:12:21,070 make unique and amazing really professional looking designs and not even have to worry about implementing 120 00:12:21,070 --> 00:12:28,120 them and about figuring out the details because material UI just does such a great job of handling it 121 00:12:28,120 --> 00:12:28,720 for you. 14553

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.