YouTube2Text

The Real Web Developer Roadmap: Part 1 ๐Ÿ’ป๐Ÿš€ | How to become a Web Developer โ€” Transcript

by Zero To Mastery ยท 10,588 words ยท 1,510 segments ยท language en ยท Watch on YouTube

Full transcript

  1. 0:00hello everyone my name is Andre in this
  2. 0:03video we're gonna be talking about the
  3. 0:05real web developer roadmap now there's a
  4. 0:09ton of videos out there about how to
  5. 0:11become a web developer what should you
  6. 0:13learn here are all the skills that you
  7. 0:15need to learn now how is this any
  8. 0:17different well I'm gonna be doing the
  9. 0:20same thing but along the way I actually
  10. 0:22want to teach you some principles as
  11. 0:25well as really show the entire landscape
  12. 0:28and in order for me to do that I created
  13. 0:31well
  14. 0:33jean-claude the octopus and you're
  15. 0:35thinking to yourself Andre
  16. 0:38octopuses have eight legs well let's not
  17. 0:42get into the details here the web
  18. 0:44development landscape is pretty big so
  19. 0:47had to make more than eight legs and
  20. 0:49this is Jean Claude's friend little
  21. 0:51Timmy now this landscape and this web
  22. 0:55development path has a lot of
  23. 0:57information we are gonna talk about
  24. 0:59react we're gonna talk about all the
  25. 1:02front end that we're going to talk about
  26. 1:04hosting cloud testing sea icd even
  27. 1:07webassembly we're gonna talk about
  28. 1:09back-end and data bases and looking at
  29. 1:12this I know you're thinking wow that's
  30. 1:15really overwhelming do I really need to
  31. 1:18learn all this stuff and the truth of
  32. 1:22the matter is known now really now what
  33. 1:25I'm going to show you in this roadmap is
  34. 1:28to cover the current landscape so that
  35. 1:31you know what's out there you know how
  36. 1:33things are connected so that you know
  37. 1:36how each of them relate to one another
  38. 1:39but also hoping that you will actually
  39. 1:41learn something instead of just
  40. 1:43overwhelm you with all the choices and
  41. 1:45for that I've actually created little
  42. 1:48rockets for you so as I talk about the
  43. 1:50landscape you'll see that some items are
  44. 1:53gonna have rockets which signify that
  45. 1:55you should probably learn them because
  46. 1:57they're super important other things
  47. 1:59don't have rockets and are more for you
  48. 2:02to understand that they exist so that
  49. 2:04one day when you need them you can go
  50. 2:06read up and learn about it on your own
  51. 2:08now the goal of this roadmap is to
  52. 2:12actually gay
  53. 2:13you to a point where you can get a job
  54. 2:15as a web developer because at the end of
  55. 2:18the day all the YouTube videos all the
  56. 2:21tutorials all the coding boot camps that
  57. 2:23you do don't really teach you as much as
  58. 2:25real-life experience the best way to
  59. 2:28learn is to actually work in teams for a
  60. 2:31company day-to-day on the job and
  61. 2:34getting paid doing that doesn't sound
  62. 2:36bad either so I'm going to be focusing
  63. 2:39on what is going to get you a job in
  64. 2:42this current year now
  65. 2:45the next question you might have is who
  66. 2:47are you why should I even listen to you
  67. 2:50well this is my face right here
  68. 2:53I'm Andre and I've worked as a software
  69. 2:58engineer for numerous years I've worked
  70. 3:00in Toronto and Silicon Valley but I've
  71. 3:02also spent the last two years teaching
  72. 3:05over 200,000 students how to cope some
  73. 3:09of them are graduates of computer
  74. 3:11science degrees some of them are
  75. 3:12completely self-taught programmers but
  76. 3:16all of them want to learn to code to
  77. 3:19become great web developers and some of
  78. 3:22them even work at some pretty nice
  79. 3:23companies but I also write a monthly
  80. 3:27newsletter a web developer monthly
  81. 3:30newsletter where every month I recap
  82. 3:33exactly what happens in our industry any
  83. 3:36news any resources any changes so I have
  84. 3:39to stay up-to-date with the industry so
  85. 3:41this is my job my job is to stay current
  86. 3:44with the web development trends so
  87. 3:47that's why I think I'm qualified to talk
  88. 3:50about the subject with that set I want
  89. 3:53to warn you and this is something that
  90. 3:54is just general advice what I'm going to
  91. 3:58talk about in this web developer roadmap
  92. 4:00are just my opinions and I will simplify
  93. 4:04some things I will make recommendations
  94. 4:06based on my experience and my opinion
  95. 4:10that doesn't mean that you should follow
  96. 4:12it a hundred percent if anybody tells
  97. 4:15you their way is the only way they're
  98. 4:17probably lying to you so use this video
  99. 4:20as a reference as if I'm your friend and
  100. 4:24I'm just giving you my advice
  101. 4:27on why you should learn from there do
  102. 4:29your own research and figure out the
  103. 4:31path that best suits you for example
  104. 4:34when we talk about the front end well
  105. 4:37maybe you'll decide that you want to
  106. 4:38become a front-end developer or maybe
  107. 4:41you think hmm I don't think I like that
  108. 4:42but what interests me is to be a
  109. 4:45back-end developer or work with
  110. 4:47databases or even work with mobile the
  111. 4:51choice is up to you so once again decide
  112. 4:54for yourself what you want to take away
  113. 4:57from this video now the reason I created
  114. 5:00this diagram is that I was a self-taught
  115. 5:03programmer as well you know I remember
  116. 5:06when I got started it was really
  117. 5:08overwhelming it seemed like you have to
  118. 5:10learn so many things and I mean looking
  119. 5:12at this diagram well it's a lot of
  120. 5:15things but I never knew how things are
  121. 5:17connected how is one related to another
  122. 5:20what does know do what does phb do what
  123. 5:23does Python do you how does it fit into
  124. 5:25this whole landscape so being a
  125. 5:28self-taught programmer I always found it
  126. 5:31useful to connect the dots to make sure
  127. 5:33I understood how each one is related to
  128. 5:35the other but enough talk I think you're
  129. 5:39getting excited so let's start diving
  130. 5:41into what the web development landscape
  131. 5:44looks like in the current year so the
  132. 5:48very first thing you want to do if you
  133. 5:49want to become a web developer is to
  134. 5:51start with the basic fundamentals now at
  135. 5:55the end of the day web pages are just
  136. 5:57data that we try and show to a user and
  137. 6:02that user can interact with it usually
  138. 6:05submitting forms like sending a tweet or
  139. 6:08posting an Instagram picture well when
  140. 6:12it comes to the basic fundamentals
  141. 6:13there's a few things that we want to
  142. 6:14learn but the biggest thing is to
  143. 6:16understand that the Internet at the end
  144. 6:18of the day is all just a bunch of wires
  145. 6:20and these are real wires that are
  146. 6:22connecting everyone around the world
  147. 6:24with Internet and the way we view web
  148. 6:29pages well we have a browser and this
  149. 6:34browser sends a request to a computer
  150. 6:37somewhere in the world called a server
  151. 6:39and
  152. 6:40as hey can you give me some data some
  153. 6:43information maybe you want to Google how
  154. 6:45to make delicious chicken soup
  155. 6:47and the server says yep no problem here
  156. 6:51you can have this data and the way it
  157. 6:55sends this data is through a protocol
  158. 6:58called HTTP or HTTPS and it usually
  159. 7:02sends these three files that's right
  160. 7:04they're just files CSS HTML and
  161. 7:06JavaScript but we'll get to that in a
  162. 7:09bit the job of a web developer is to
  163. 7:13write these files these HTML CSS and
  164. 7:17JavaScript files so that we can display
  165. 7:20information to the user so the first
  166. 7:23step is to learn about editors and I des
  167. 7:29these are text editors and developer
  168. 7:32environments that allow us to write what
  169. 7:35we call code for example the most
  170. 7:38popular one is visual studio code I
  171. 7:40personally like sublime text but there's
  172. 7:43many many choices and as you can see all
  173. 7:46they do they let you write code but at
  174. 7:50the end of the day there's just text
  175. 7:51that you're writing on a file except
  176. 7:54that they give you these nice color
  177. 7:56syntax and give you hints so that you
  178. 8:00can write code better so once you learn
  179. 8:02about IDE editors it doesn't really
  180. 8:06matter what you pick just pick probably
  181. 8:08visual studio code because it's the most
  182. 8:10popular and from there you can start
  183. 8:12writing your HTML CSS and JavaScript
  184. 8:14files you want to learn about git and
  185. 8:17github nothing too crazy here you may
  186. 8:19have heard of it but it's a way for
  187. 8:21programmers to save code online and
  188. 8:24essentially have a social profile of all
  189. 8:27the code that they've written next you
  190. 8:30also want to learn about terminal
  191. 8:32partial command prompt for example I
  192. 8:35have my terminal right here a terminal
  193. 8:39or what we call a command line is simply
  194. 8:42a way for you to communicate with your
  195. 8:44computer without using a mouse like this
  196. 8:48it's a text-based way to work with your
  197. 8:51computer now why does a web developer
  198. 8:54need to know that well beyond looking
  199. 8:56cool like you know what you're doing it
  200. 8:58also allows you to do a lot of important
  201. 9:00things as a programmer for example git
  202. 9:02and github well with the way you use git
  203. 9:05is through something like a terminal now
  204. 9:08if you're a Windows user you use
  205. 9:10something like PowerShell or command
  206. 9:12prompt but Windows also now has a
  207. 9:15terminal that you can use which looks
  208. 9:18kind of like this or you can even do
  209. 9:21something like wsl - which is Windows
  210. 9:24subsystem for linux to run linux like
  211. 9:27immense but we're getting ahead of
  212. 9:28ourselves
  213. 9:29let's not worry too much about that so
  214. 9:31now that you have your IDE set up your
  215. 9:33github profile set up you have your
  216. 9:36terminal set up you then want to learn
  217. 9:39about what are these domain name servers
  218. 9:42domain name servers are well you may
  219. 9:45have heard of them
  220. 9:46something like GoDaddy or Namecheap
  221. 9:48allow you to buy a domain name for
  222. 9:51example I bought zero to mastery i/o and
  223. 9:55I bought it on name cheap domain name
  224. 9:58servers are ways for us to say hey zero
  225. 10:03to mastery IO where is that computer
  226. 10:06remember this diagram with a DNS server
  227. 10:09we want to say where is this computer in
  228. 10:11the world so that I can get these files
  229. 10:13to the browser for example I can run a
  230. 10:17command on my terminal called ping
  231. 10:18google.com and here look I get a little
  232. 10:23number over here so if I copy this
  233. 10:25number which is called an IP address and
  234. 10:27I paste it in look at that it takes me
  235. 10:31to google.com a DNS server essentially
  236. 10:34says hey this number points to a
  237. 10:37computer somewhere in the world and
  238. 10:38figure out what name is associated with
  239. 10:42this number this address and well this
  240. 10:45one happens to be google.com so zero to
  241. 10:48mastery IO is also going to have an
  242. 10:51address so once we learn about that then
  243. 10:54you should learn a little bit about
  244. 10:57something called FTP and SFTP or File
  245. 11:00Transfer Protocol and back in the day if
  246. 11:03let's say you wanted to become a
  247. 11:05wordpress developer well WordPress which
  248. 11:09is a very popular tool for creating
  249. 11:11blogs you usually what you do is you'd
  250. 11:14buy a domain name sign up for WordPress
  251. 11:17and then you use something like
  252. 11:19Hostgator to host your files so remember
  253. 11:24our diagram Hostgator was something
  254. 11:26where they provided the computer for you
  255. 11:29and you just give it the files that you
  256. 11:32want this computer to serve to the user
  257. 11:35now WordPress
  258. 11:37went even further and took care of this
  259. 11:39whole JavaScript HTML and CSS so even if
  260. 11:42you don't know how to program well
  261. 11:43they'll just help you as long as you
  262. 11:45write a bunch of blog posts they'll help
  263. 11:47you display and send that information to
  264. 11:50the user but if you wanted to get a lot
  265. 11:53more fancy and you wanted to write your
  266. 11:55own HTML CSS and JavaScript files like
  267. 11:58we have on this website well then you
  268. 12:01can use something like FTP SFTP to
  269. 12:05transfer your files of HTML CSS and
  270. 12:09JavaScript to that server somewhere in
  271. 12:11the world well you can use a tool like
  272. 12:13cyberduck if you're on a Mac which looks
  273. 12:17like this I just drag and drop some
  274. 12:18files and it puts those files on a
  275. 12:20server for me or something like
  276. 12:23FileZilla if you're on Windows next you
  277. 12:25want to learn a little bit about HTTP
  278. 12:28HTTP this is essentially the way that
  279. 12:30browsers communicate with servers if I
  280. 12:33click over here you see that I'm using
  281. 12:35HTTP S stands for secure which means
  282. 12:38that see that little lock it means that
  283. 12:40this communication with the server is
  284. 12:41secure so maybe I can even submit
  285. 12:43passwords or my user information over
  286. 12:48our internet cables and it'll be secure
  287. 12:51technically then you want to learn about
  288. 12:53JSON XML and G RPC now G RPC is
  289. 12:58something new maybe you don't need to
  290. 13:00know about it but it's good to
  291. 13:01understand what it does this JSON and
  292. 13:05XML g RPC if we take a look kind of
  293. 13:08looks like this it's the way that we
  294. 13:09transfer data from servers to clients
  295. 13:12for example JSON if I wanted to send ID
  296. 13:14of 42 well this is what it look like
  297. 13:18XML looks like this and G are PC which
  298. 13:22technically uses protobufs sends data
  299. 13:25like this this different way to send
  300. 13:28data across the web and then finally you
  301. 13:31might want to learn about SSH SSH is
  302. 13:34really really important for you as a web
  303. 13:37developer mainly for working with github
  304. 13:40for example if you go to github to one
  305. 13:44of your repositories you can usually
  306. 13:45clone the code using SSH or HTTPS
  307. 13:51but you can also use SSH to actually log
  308. 13:55in to a server somewhere or a computer
  309. 13:57somewhere for example I can use the
  310. 13:59command SSH in my terminal to say some
  311. 14:02user at this IP address go and log in
  312. 14:04there and he'll probably ask me for a
  313. 14:06password so SSH is really really
  314. 14:09important but at the end of the day when
  315. 14:11we talk about basic fundamentals that's
  316. 14:13what we're doing right we are just
  317. 14:16learning how the internet works how
  318. 14:19servers send files to browsers how does
  319. 14:24Google send their JavaScript HTML and
  320. 14:27CSS files to Google Chrome or Firefox or
  321. 14:32Safari so that myself as a user can see
  322. 14:36what is happening
  323. 14:39now don't spend too much time on these
  324. 14:41things these are just fundamentals for
  325. 14:44you to understand how things work
  326. 14:46instead of going and writing HTML CSS
  327. 14:50and JavaScript code without really
  328. 14:52understanding what you're doing or what
  329. 14:55all this magic is these fundamentals are
  330. 14:57gonna help you understand how things
  331. 15:00work why do we have things like git and
  332. 15:02github but you also work with all of
  333. 15:05these throughout your web development
  334. 15:07career so you don't need to understand
  335. 15:09them perfectly one final thing the next
  336. 15:13thing that you want to focus on or
  337. 15:14understand are something called web AP
  338. 15:17us you see web api's are essentially
  339. 15:21tools that browsers give us for example
  340. 15:25we have Google Chrome and Google Chrome
  341. 15:27has little things that we can use so
  342. 15:31that we can make websites for example
  343. 15:33the Dom or the document object model
  344. 15:36allows us to use JavaScript to modify
  345. 15:39different things around the page things
  346. 15:41like fetch and xhr by the way fetch is a
  347. 15:45more modern newer version of xhr allows
  348. 15:49us to fetch or retrieve data from other
  349. 15:52websites we have things like local
  350. 15:54storage to save user information for
  351. 15:57example let's say you log in to a
  352. 15:59website and then you come back to it and
  353. 16:01you're still logged in it might use
  354. 16:03something like local storage or
  355. 16:05something like serviceworkers where it
  356. 16:07allows you to do some interesting thing
  357. 16:09called caching and also allows us to do
  358. 16:12something called progressive web apps
  359. 16:13which we're going to talk about later
  360. 16:15and then we have things like
  361. 16:17internationalization so that websites
  362. 16:19can display different languages these
  363. 16:22web api are provided by the browser and
  364. 16:26using javascript you can usually use
  365. 16:29these tools and use JavaScript to say
  366. 16:31hey fetch me some data
  367. 16:34hey modify this Dom so that the webpage
  368. 16:37looks different and oh boy I've been
  369. 16:40talking a lot and it already seems
  370. 16:43overwhelming and I got some bad news for
  371. 16:46you all this stuff that I just talked
  372. 16:47about isn't going to get you a job I
  373. 16:50know I know not
  374. 16:52to waste your time but you have to
  375. 16:54understand that to really know what's
  376. 16:56going on you want to focus on these
  377. 16:58fundamentals and build that foundation
  378. 17:01but once you just on the surface
  379. 17:04understand what these basic things do
  380. 17:07and like I said you don't need to dive
  381. 17:09deep into it you can then go on to the
  382. 17:12fun part and that is the front end right
  383. 17:16here now don't worry we'll go back to
  384. 17:19advanced fundamentals later on but I
  385. 17:22recommend instead of going into advanced
  386. 17:24which won't mean much if you don't have
  387. 17:26a bit of experience we're gonna dive
  388. 17:28into the front end and this is the path
  389. 17:30that I recommend if you want to become a
  390. 17:32web developer whether you are not
  391. 17:34interested in front-end or not it's good
  392. 17:36to understand the landscape because the
  393. 17:38front-end landscape well it's a big one
  394. 17:44I promise you I won't talk too long
  395. 17:46we'll fly through this one but it's a
  396. 17:49pretty big step so let's take a look at
  397. 17:51front end that's what you might call a
  398. 17:54front end developer in the front end
  399. 17:57developer well they work with this side
  400. 18:01of the stack they're the ones that say
  401. 18:03hey what should I display on the website
  402. 18:07let's go have a look
  403. 18:09alright let's talk about front-end we
  404. 18:13talked about the fundamentals but you
  405. 18:14shouldn't really spend too much time on
  406. 18:16the fundamentals because like I said it
  407. 18:19doesn't help you get a job just
  408. 18:21understand them at the basic level what
  409. 18:23they mean but then move on to the
  410. 18:25front-end and this is where things get
  411. 18:28interesting if you want the fastest way
  412. 18:30to get a job I recommend starting with
  413. 18:33the front end now the front end is what
  414. 18:38the user sees your web app your web page
  415. 18:42is worked on by front-end developers
  416. 18:44sometimes they're called JavaScript
  417. 18:46developers sometimes they're called
  418. 18:47react angular View developers we're
  419. 18:50gonna get into that but it's a long road
  420. 18:52ahead so let's talk about what you
  421. 18:54should learn to be a modern front-end
  422. 18:56developer now I'm going to keep saying
  423. 18:59this over and over but don't get
  424. 19:01overwhelmed when you see all these
  425. 19:03topics and you think to yourself there's
  426. 19:05no way I'm going to get there the road
  427. 19:07ahead is just so long there's no way
  428. 19:10that I'm qualified or able to ever
  429. 19:12become a web developer remember the
  430. 19:15harder a skill is the more valuable a
  431. 19:17skill is the less people that are
  432. 19:20willing to take that path so use this to
  433. 19:23your advantage the fact that there is so
  434. 19:25much to learn allows you to have a
  435. 19:27chance to get a valuable skill to do
  436. 19:30something that people pay a lot of money
  437. 19:32for so with that said I've tried to make
  438. 19:34this section easy for you to follow so
  439. 19:37that if you want you can just focus on
  440. 19:40the little Rockets over here and those
  441. 19:43are the big topics that you really want
  442. 19:45to focus on in the smaller stuff you
  443. 19:47don't necessarily have to worry too much
  444. 19:48about because remember the goal is to
  445. 19:50get a job so that you can get experience
  446. 19:53as soon as possible all right let's get
  447. 19:55started first you want to learn about
  448. 19:58HTML specifically html5 which is the
  449. 20:01latest specification remember it's a
  450. 20:04file that displays text hTML is simply
  451. 20:08hey what text should I display on this
  452. 20:12web page or a web app and that's it it
  453. 20:15was the initial way that the web started
  454. 20:17the web started with just HTML files
  455. 20:19that allowed universities to communicate
  456. 20:23and
  457. 20:23share text with each other and there are
  458. 20:26a lot of things you can do with HTML
  459. 20:28before introducing JavaScript for
  460. 20:30example you can do forms and submitting
  461. 20:33forms like usernames and passwords and
  462. 20:36at the end of the day most websites that
  463. 20:38we use are just forms right on Facebook
  464. 20:42we submit a form to post something on
  465. 20:45our newsfeed on Instagram we post a
  466. 20:47picture we submit a form on Twitter we
  467. 20:49tweet something by submitting a form now
  468. 20:52when it comes to HTML it's all just
  469. 20:55these tags that we can use to describe
  470. 20:58what our webpage should display now
  471. 21:01there's a ton of them but you don't need
  472. 21:03to really memorize all of them you just
  473. 21:06need to remember the important ones and
  474. 21:08then you want to dive into topics like
  475. 21:10semantic HTML that literally means how
  476. 21:13can you describe your HTML file the best
  477. 21:16for example you can use something like
  478. 21:19article to say hey this section has an
  479. 21:23article
  480. 21:23hey this section has address this is the
  481. 21:27footer of the website semantic simply
  482. 21:29means describe to the best of your
  483. 21:31ability using the tags or the HTML
  484. 21:34element tags what your website displays
  485. 21:38you also want to dabble a little bit in
  486. 21:41SEO that is search engine optimization
  487. 21:43essentially HTML tags and the text that
  488. 21:47are within them allow places like Google
  489. 21:51to rank your websites and say oh this
  490. 21:54website is about chicken soup so I'm
  491. 21:56going to rank it in my databases so that
  492. 21:59when a user searches for his chicken
  493. 22:01soup your website's going to show up and
  494. 22:03HTML has a big impact on SEO again
  495. 22:06something on the surface that you need
  496. 22:07to know but you don't really need to
  497. 22:09dive that deeply you want to learn about
  498. 22:11accessibility that is how can we make
  499. 22:14web pages and web apps accessible to
  500. 22:17everybody not everybody maybe can view
  501. 22:20websites and they need a visual aid or
  502. 22:22they need a screen reader to understand
  503. 22:25what a website does it's very important
  504. 22:27for us to consider everybody when
  505. 22:29building web apps and web pages and then
  506. 22:32obviously forms there's a lot you can do
  507. 22:34when it comes to HTML and forms
  508. 22:36before we even introduced JavaScript but
  509. 22:39HTML forms is a really important part of
  510. 22:42the web now keep in mind that when it
  511. 22:45comes to HTML it's really easy to start
  512. 22:48going one by one and learning every
  513. 22:50single element which is a complete waste
  514. 22:52of time
  515. 22:53just focus on though important ones that
  516. 22:55you see a lot of like div but then you
  517. 22:57have things like tables in HTML that
  518. 23:00honestly barely anybody ever uses
  519. 23:03anymore
  520. 23:03next we want to dive into CSS or css3
  521. 23:08which is the latest specification now
  522. 23:11CSS is what style does your web app or
  523. 23:16web page should have does it have pretty
  524. 23:18colors does it look yellow green all the
  525. 23:21nice-looking websites use CSS to make
  526. 23:23them look nice now when it comes to CSS
  527. 23:26the important things to keep in mind
  528. 23:29especially for modern websites are these
  529. 23:33four things you can do animations with
  530. 23:36CSS now so you want to look at CSS
  531. 23:38animations you can do something called
  532. 23:40CSS variables now which is a fairly new
  533. 23:43feature and CSS variables allow us to do
  534. 23:46something cool like black or dark and
  535. 23:49white theme on websites just using
  536. 23:51variables you want to learn about the
  537. 23:55difference between Ram p.m. and pixels
  538. 23:58and this allows you to define the size
  539. 24:01of an element on a page for example we
  540. 24:04want to start using Ram which is a
  541. 24:06relative size so that our websites
  542. 24:09become more responsive and
  543. 24:11mobile-friendly than if we just use
  544. 24:13pixels so it's recommended to start
  545. 24:15using Ram for let's say your font sizes
  546. 24:19then you want to learn about media
  547. 24:21queries media queries are the things
  548. 24:23that allow our websites to be displayed
  549. 24:26on different screens everybody checks
  550. 24:29out a website on their computer their
  551. 24:31phone all these different screen sizes
  552. 24:34and modern web apps need to be
  553. 24:36responsive for example if I change the
  554. 24:39size of this this should be responsive
  555. 24:42write media queries allow us to do this
  556. 24:46now there's a ton of CSS features that
  557. 24:50you can learn and again just like HTML
  558. 24:52you don't want to spend too much time
  559. 24:53learning every single one reading it one
  560. 24:56by one CSS is one of those things that
  561. 24:58you just search and understand and read
  562. 25:01up on as the need arises a lot of the
  563. 25:05times you can go to your favorite web
  564. 25:06site and just simply open up the
  565. 25:09developer console inspect it and see
  566. 25:12what kind of CSS that your favorite
  567. 25:16element uses now the one thing that is
  568. 25:20important with CSS and probably the
  569. 25:22hardest part to get especially when
  570. 25:24you're starting out is something called
  571. 25:26CSS layout and CSS layout is all about
  572. 25:31where should we position elements or
  573. 25:33components on our website now luckily
  574. 25:36for us the modern CSS has two really
  575. 25:39good tools that we didn't used to have
  576. 25:41before that is flexbox and CSS grid and
  577. 25:45using these two you can pretty much do
  578. 25:47any sort of layout that you want and as
  579. 25:50a matter of fact if you use flexbox and
  580. 25:52CSS grid properly you actually might not
  581. 25:55even need media queries or a lot less
  582. 25:58media queries than we were used to
  583. 26:01and if you want to learn flexbox or CSS
  584. 26:04grid I actually have a resources page on
  585. 26:06my website where you can play fun games
  586. 26:09like flexbox defense flexbox froggy or
  587. 26:13grid garden to learn how to do layout
  588. 26:17with CSS now the other parts of CSS that
  589. 26:20you might want to focus on is something
  590. 26:22like the box model how margins and
  591. 26:25padding work to make those minor
  592. 26:27adjustments you want to learn about
  593. 26:29positioning display and floats these
  594. 26:32three things are ways to display and
  595. 26:35position elements but a lot of them like
  596. 26:39floats are now outdated and using
  597. 26:41flexbox and CSS grid is preferred which
  598. 26:43is why these two have rockets you should
  599. 26:46definitely learn these you also have
  600. 26:48options like bootstrap you see bootstrap
  601. 26:51was really popular back in the day
  602. 26:52because of the grid system it had it
  603. 26:54allowed us to do layouts really really
  604. 26:57easy before we have things like flexbox
  605. 27:00and CSS great bootstrap now it is still
  606. 27:03popular but less so because we have
  607. 27:05these two things so yeah just focus on
  608. 27:07these two for layout now the next thing
  609. 27:09is pre-processors and pre-processors are
  610. 27:13essentially ways for us to write a
  611. 27:15souped-up or a superset of CSS that
  612. 27:21allows us to have extra features and
  613. 27:23then they get pre processed into regular
  614. 27:27CSS and the most popular one and the one
  615. 27:30that you probably should stick with is
  616. 27:31sass there's obviously post CSS and les
  617. 27:34as well but sass is the most popular
  618. 27:36right now and sass pretty much looks
  619. 27:38like this you can see over here that
  620. 27:40instead of the regular CSS you can have
  621. 27:43some extra features that you're you
  622. 27:45don't have and then before you publish
  623. 27:48your website you can just convert it or
  624. 27:50pre process it into CSS so this turns
  625. 27:55into this now don't worry too much about
  626. 27:59sass I've actually never fully studied
  627. 28:02sass whenever it comes up it's similar
  628. 28:04enough to CSS that you can learn it on
  629. 28:06the spot you can probably spend a day
  630. 28:09and just learn the different features
  631. 28:11between sass and CSS but think of it as
  632. 28:14a way for you
  633. 28:15to have superpowers with CSS once you're
  634. 28:18done with that then you want to think
  635. 28:20about organizing your CSS one problem
  636. 28:23that will constantly see throughout this
  637. 28:25web developer roadmap is that as
  638. 28:27projects get bigger and bigger it
  639. 28:29becomes harder and harder to manage and
  640. 28:31a lot of these tools help us not to
  641. 28:34build really small tiny one-page
  642. 28:36websites they helped us build really big
  643. 28:38web apps like Facebook that have so many
  644. 28:41features and organizing CSS is one of
  645. 28:45those things when your CSS file becomes
  646. 28:47not just one file but hundreds and
  647. 28:49thousands of files how do you manage it
  648. 28:51now these sort of problems seem kind of
  649. 28:55hard unless you actually experience them
  650. 28:57in your head why not just put all your
  651. 29:00CSS into one file it keeps things simple
  652. 29:03but it's hard to really understand the
  653. 29:05problem until you encounter it but trust
  654. 29:07me on this as things get bigger and
  655. 29:09bigger you need tools to manage them and
  656. 29:11some of the tools to manage or organize
  657. 29:13your CSS is something like smacks or I
  658. 29:17think it is scalable modular
  659. 29:20architecture CSS OCS which is object
  660. 29:23oriented CSS them which is actually have
  661. 29:26it here because I forgot what it was
  662. 29:27what was it it's a block element
  663. 29:29modifier all these difficult names that
  664. 29:32essentially just are ways for you to
  665. 29:34organize CSS to be honest they are a
  666. 29:37little bit outdated I'm personally a big
  667. 29:40fan of something like atomic CSS which
  668. 29:43is a lot more scalable a lot easier to
  669. 29:46understand and tools like tell when CSS
  670. 29:48which we'll talk about later use there's
  671. 29:51also a special CSS nsj way of organizing
  672. 29:55styles and this is a more modern way
  673. 29:58that was introduced with something we'll
  674. 30:01talk about later which is react this is
  675. 30:04the idea that hey instead of writing CSS
  676. 30:06the regular way let's just write it
  677. 30:08inside of JavaScript and then whatever
  678. 30:11tool or library we'll use we'll just
  679. 30:14apply those Styles automatically so
  680. 30:17Facebook that pioneered the CSS and J's
  681. 30:20mentality has its own implementation
  682. 30:22there's CSS modules there's something
  683. 30:24called style components that's really
  684. 30:25popular with react projects and also
  685. 30:28emotions
  686. 30:29as well now you don't need to worry too
  687. 30:32much about this unless you really want
  688. 30:34to dive into being something like a
  689. 30:36reactive Alper which we'll get into for
  690. 30:38now just focus on atomic CSS and that is
  691. 30:41just using really neat libraries like
  692. 30:44tailwind CSS and you can see here you
  693. 30:48just add CSS like this or my favorite is
  694. 30:51tachyons whoo that's a lot and the last
  695. 30:55part of CSS is the frameworks and
  696. 30:57libraries that come with it
  697. 30:59now frameworks and libraries are
  698. 31:02infinite there's so many you can create
  699. 31:04a library you can create a framework
  700. 31:05essentially they're helpers instead of
  701. 31:08all of us all developers all designers
  702. 31:10writing CSS from scratch maybe we can
  703. 31:14share some of the nice things for
  704. 31:17example I might really like this button
  705. 31:20it would be nice if dan over here shared
  706. 31:23this with me so I can use it on my
  707. 31:24website well in a sense frameworks and
  708. 31:28libraries are that a way for us to use
  709. 31:31tools that are already pre-built for us
  710. 31:33when it comes to CSS we have things like
  711. 31:36foundation like bootstrap like boma like
  712. 31:39materialized CSS like tell when CSS that
  713. 31:42give us pre-built
  714. 31:44Styles so for example one of the popular
  715. 31:48tools is tailwind CSS that's becoming
  716. 31:51really popular this days allows us to
  717. 31:54have all this styling just by writing a
  718. 31:58few lines that would have required a lot
  719. 32:00more lines in the past and one of the
  720. 32:03things that they have is they have the
  721. 32:05new tailwind UI so you can actually use
  722. 32:08UI components that is user interface
  723. 32:11components and just put them on your
  724. 32:13website remember how I wanted this
  725. 32:15button on my website
  726. 32:17well these libraries and frameworks
  727. 32:19allow us to just plug and play and add
  728. 32:21these nice styles and components to our
  729. 32:24website but for now you don't really
  730. 32:26need to specialize in them just
  731. 32:28understand that they exist and if you
  732. 32:30ever want to build your own project I
  733. 32:31recommend maybe using tailwind or even
  734. 32:34going with something like Bomar and
  735. 32:35bootstrap
  736. 32:37now I'm going to disappoint you once
  737. 32:40again because we talked about the
  738. 32:42fundamentals we talked about HTML and
  739. 32:44CSS and let's say you mastered all these
  740. 32:46three things well you probably still
  741. 32:49won't get a job as a web developer as a
  742. 32:51matter of fact you won't really
  743. 32:53encounter these topics in your interview
  744. 32:55most of the time because now we're
  745. 32:57getting to the exciting part when it
  746. 32:59comes to front-end the principle skill
  747. 33:03the main skill that you really need to
  748. 33:04know is JavaScript
  749. 33:07that's why front-end developers are
  750. 33:09usually called JavaScript developers or
  751. 33:10react developers or angular developers
  752. 33:13because HTML and CSS although not easy
  753. 33:17are things that you can usually pick up
  754. 33:20fairly quick the key for you is not to
  755. 33:23spend too much time on HTML and CSS and
  756. 33:26instead dive into the JavaScript world
  757. 33:28because as you build websites as you
  758. 33:31build the web apps you're going to keep
  759. 33:33learning about HTML and CSS but the
  760. 33:35thing that's really hard the thing that
  761. 33:37makes you valuable is your JavaScript
  762. 33:40knowledge so let's get started with that
  763. 33:42now javascript allows interactivity in
  764. 33:46our web sites back in the day web pages
  765. 33:49were just that just pages with text then
  766. 33:52we had CSS so we can add some styling
  767. 33:54but then JavaScript came along and said
  768. 33:56hey let's play games on the web let's
  769. 33:59have drop-down menus let's have
  770. 34:02interactivity and JavaScript controls
  771. 34:04the behavior or what the web page does
  772. 34:07beyond just displaying information now
  773. 34:10to get started with JavaScript you
  774. 34:13definitely need to understand the
  775. 34:15fundamentals things like ACMA script
  776. 34:18which is the specification of JavaScript
  777. 34:21that is there's a governing body that
  778. 34:22says hey this is what JavaScript should
  779. 34:25look like this is what JavaScript code
  780. 34:27is you want to learn about asynchronous
  781. 34:29JavaScript there's this thing called
  782. 34:31synchronous and asynchronous and the
  783. 34:34idea of asynchronous allows us to do
  784. 34:37some really interesting things when it
  785. 34:38comes to performance especially when it
  786. 34:41comes to the web you obviously need to
  787. 34:43know the basics and the basics are
  788. 34:45things that all programming languages
  789. 34:46usually have whether it's Python PA
  790. 34:50P Ruby Java all these languages usually
  791. 34:54have some ideas of loops conditionals
  792. 34:57functions maybe classes these are the
  793. 35:00basic things the building blocks of a
  794. 35:02programming language that allow us to
  795. 35:04tell a computer what to do you then want
  796. 35:07to learn a little bit about opie versus
  797. 35:09FP what is that
  798. 35:11well it's object-oriented programming
  799. 35:13versus functional programming now this
  800. 35:17is more of a design idea as programs get
  801. 35:20more and more complicated we need to
  802. 35:22organize our code we need to make our
  803. 35:24code cleaner or easier to understand
  804. 35:27because most of the time were not the
  805. 35:29only ones working on a project we are
  806. 35:31working with tens hundreds sometimes
  807. 35:34thousands of other programmers and
  808. 35:36sharing hundreds thousands of files and
  809. 35:39object-oriented programming and
  810. 35:41functional programming allow us to
  811. 35:43create clean maintainable code
  812. 35:46hypothetically these are more high-level
  813. 35:48ideas but it's really important to
  814. 35:51understand what the differences are this
  815. 35:54is a bit of an advanced topic that will
  816. 35:55take some time getting used to but it's
  817. 35:57good to know that they exist then you
  818. 36:00want to learn about Dom manipulation and
  819. 36:02web api s-- now remembering the
  820. 36:04fundamentals where is it hold on let's
  821. 36:08zoom out here there it is remember in
  822. 36:10the fundamentals how I said we have
  823. 36:12these things called web api s-- and one
  824. 36:15of them is the done well browsers like
  825. 36:17Chrome Safari and Firefox allow us to
  826. 36:21manipulate the Dom or the way our page
  827. 36:24looks using javascript
  828. 36:26so using these web api switch are
  829. 36:29essentially tools that browsers give us
  830. 36:31we can use JavaScript to manipulate and
  831. 36:34change these things for example you want
  832. 36:36to do a drop-down menu
  833. 36:38well JavaScript can do that well you
  834. 36:40want to have sparkles and glitter every
  835. 36:42time you scroll through your website
  836. 36:44well in JavaScript can do that too and
  837. 36:46this is probably the biggest thing when
  838. 36:49it comes to the web javascript
  839. 36:50essentially allows us to change things
  840. 36:53on the page and a lot of the libraries
  841. 36:56and frameworks we talked about are doing
  842. 36:58exactly this then we want to learn about
  843. 37:00modules and especially the es6 modules
  844. 37:03and this is a neck mascara cific a ssin
  845. 37:06that well we're now way into yes what 11
  846. 37:10yes 12 because every year the language
  847. 37:13evolves and a deaths so javascript is
  848. 37:16constantly evolving new features are
  849. 37:18being added and one of the most
  850. 37:19important ones is this idea of modules
  851. 37:22modules and programming is all about
  852. 37:24what happens when we have more than one
  853. 37:27file javascript was initially a toy
  854. 37:30language a language that we could just
  855. 37:31have one single file of and do funny
  856. 37:34things or simple things on a website but
  857. 37:37as javascript got bigger and bigger as
  858. 37:39we got bigger and bigger websites like
  859. 37:41Google Maps like Facebook we couldn't
  860. 37:44just keep all JavaScript into one page
  861. 37:46and this idea of modules was introduced
  862. 37:49natively to JavaScript with the es6
  863. 37:52modules this allows us to have hundreds
  864. 37:55of JavaScript files and all of them we
  865. 37:58can use on a single weather so
  866. 38:01definitely learn about this and the
  867. 38:04history of modules when it comes to
  868. 38:06JavaScript because it's an interesting
  869. 38:08one all right and before we get into
  870. 38:11everybody's favorite topic frameworks
  871. 38:13libraries let's talk about these ones
  872. 38:15you see I've added them here because
  873. 38:18these are all compilers what does that
  874. 38:24mean well a compiler is simply taking
  875. 38:27one language like let's say typescript
  876. 38:31compile it and spits out another
  877. 38:34language in this case JavaScript and all
  878. 38:37of these
  879. 38:38typescript svelte elm reason ml babel
  880. 38:41are ways to write a specific program
  881. 38:45using something similar to javascript
  882. 38:48but not really but then spit out
  883. 38:50javascript it's similar to what we saw
  884. 38:53in the CSS the preprocessors right with
  885. 38:56sass what they do is essentially let you
  886. 38:59write a superset like typescript of
  887. 39:02javascript that gives javascript extra
  888. 39:04feature in this case static typing we
  889. 39:07have things like svelte
  890. 39:08you write in a custom spelt way and it
  891. 39:11spits out Raghava script and then
  892. 39:13functional languages like Elm and reason
  893. 39:15ml that against better
  894. 39:17javascript or things like Babel that
  895. 39:19allows to write modern JavaScript with
  896. 39:21some new features and spit out
  897. 39:23JavaScript all of these are compilers
  898. 39:26sometimes called transpilers that give
  899. 39:28javascript superpowers for those people
  900. 39:31that want it but still at the end of the
  901. 39:33day spit out javascript because on the
  902. 39:35web you can only use javascript well
  903. 39:38kind of we'll get to that later in the
  904. 39:39video all right so we have that we have
  905. 39:44the fundamentals next we want to go into
  906. 39:46frameworks and libraries and this is a
  907. 39:49big one that's everyone's favorite topic
  908. 39:51everywhere you go on the web you'll see
  909. 39:53articles like this and yes I did it to
  910. 39:55react versus angular versus view what's
  911. 39:58your favorite what's the best one now
  912. 40:01this is such a big field that one of the
  913. 40:03hottest jobs for the past couple years
  914. 40:05has been a reactive Albert that's right
  915. 40:09just being a professional developer
  916. 40:12means learning this one library or one
  917. 40:15framework you'll see jobs like react
  918. 40:18developer angular developer view j/s
  919. 40:21developer all of these are ways for us
  920. 40:23to write JavaScript but in a more clean
  921. 40:27way just like we saw with CSS as
  922. 40:29projects get bigger and bigger it's nice
  923. 40:32to have some sort of a kitchen that we
  924. 40:35can work in that already have pre-built
  925. 40:37tools just like we did with CSS now all
  926. 40:40of these at the end of the day do what
  927. 40:44javascript does which is to Dom
  928. 40:46manipulation and work with api's now
  929. 40:49this current year react is still
  930. 40:51dominant it's the number one if you
  931. 40:53really want to get into it I show you
  932. 40:55here exactly what the numbers are react
  933. 40:57is pretty dominant still there's two
  934. 41:01angular's here because oh there was
  935. 41:03originally angularjs and then they did a
  936. 41:05big rewrite and now there's the angular
  937. 41:08which is the more modern one that is
  938. 41:10starting to die down a bit there's still
  939. 41:12a lot of enterprise applications that
  940. 41:13run on angular but not too many new
  941. 41:16applications or not too many people
  942. 41:18excited about angular sorry if I
  943. 41:20offended you just my personal opinion
  944. 41:22and then we have things like Vijay s
  945. 41:24which are newer and a lot simpler to
  946. 41:28learn than something like angular and
  947. 41:31but very very popular still and then
  948. 41:33things like jQuery jQuery was there
  949. 41:36before all these libraries existed and
  950. 41:38they essentially allowed really simple
  951. 41:41Dom manipulation and was one of the most
  952. 41:45popular libraries that's now starting to
  953. 41:47die down a bit just because all these
  954. 41:49frameworks have come in and they're a
  955. 41:50lot more popular and then we have things
  956. 41:53like elm and svelte and I put both of
  957. 41:55these together because elm and spelt
  958. 41:57remember are actually just compilers
  959. 41:59they just take your JavaScript code and
  960. 42:01convert it into regular JavaScript and
  961. 42:03there's just different ways for us to
  962. 42:05write JavaScript code and then finally I
  963. 42:08also want to talk about Redwood Jas this
  964. 42:11is actually a fairly new library but
  965. 42:14this is a high level library what does
  966. 42:17that mean well because apps are getting
  967. 42:21more and more complicated react code
  968. 42:22angular code view code is getting more
  969. 42:24and more complicated
  970. 42:26something like Redwood Jas has come out
  971. 42:29that has a lot of tools built in for
  972. 42:33example routing for example cells and
  973. 42:35services
  974. 42:36there's just easy ways for us to create
  975. 42:38forms to do things at a higher level so
  976. 42:41again you can think of it as how react
  977. 42:44is a super skill or a framework library
  978. 42:47that we can use with JavaScript redwood
  979. 42:49stays on top of that so it uses react
  980. 42:52but it has extra features already built
  981. 42:55in now right now the two that I would
  982. 42:58recommend if you really want to focus on
  983. 43:00job is probably react and view maybe
  984. 43:03angular as well but my bed is on react
  985. 43:05still even though it's a little harder
  986. 43:08to get started it's still the number one
  987. 43:10way that you're probably gonna find a
  988. 43:12job as a web developer so definitely
  989. 43:14recommend react as a matter of fact I
  990. 43:16recommend react so much that timmy is
  991. 43:18all about react remember Timmy the
  992. 43:21friend of jean-claude the octopus well
  993. 43:25Timmy's an octopus too and yes doesn't
  994. 43:27have a legs either but let's not worry
  995. 43:30about that now react sixteen is actually
  996. 43:34the version of react if you go to the
  997. 43:37react documentation you can see the
  998. 43:39current version here react version 16
  999. 43:42entry
  1000. 43:43used a lot of new things a lot of
  1001. 43:45updates so as a modern react developer
  1002. 43:49you really need to know these newer
  1003. 43:51features for example profiler for
  1004. 43:54checking out your react performance
  1005. 43:57context API react a memo for
  1006. 43:59memorization and performance portal for
  1007. 44:02building modal's and pop-ups react lazy
  1008. 44:05again for performance suspense fragments
  1009. 44:08the async act for testing something
  1010. 44:11called hooks which is really really
  1011. 44:13popular right now for us to build
  1012. 44:15components in a newer way and also
  1013. 44:17manage something called state and the
  1014. 44:20new concurrent mode which essentially
  1015. 44:22just allows our react apps to be faster
  1016. 44:25all of these are fairly new features
  1017. 44:27that you should be aware of again
  1018. 44:30don't have to master them too much but
  1019. 44:32you should be aware of if you are a
  1020. 44:35react developer now we can't talk about
  1021. 44:38these frameworks and libraries without
  1022. 44:40talking about state management what is
  1023. 44:42that well at the end of the day what all
  1024. 44:45these tools do is use JavaScript to
  1025. 44:49display something on the page right they
  1026. 44:51manipulate the DOM and display something
  1027. 44:53on the page but at the end of the day
  1028. 44:55what we display on the page is data rate
  1029. 44:59and state management is all about how do
  1030. 45:02we manage this data when I sign into a
  1031. 45:04website
  1032. 45:05my name is going to appear as a logged
  1033. 45:08in user
  1034. 45:09but then when I sign out that state that
  1035. 45:12data changes and as apps get bigger and
  1036. 45:15bigger
  1037. 45:15you can't just manage your state just
  1038. 45:18with these libraries sometimes you have
  1039. 45:20to bring in specific libraries that help
  1040. 45:22you with state management for example
  1041. 45:24view has view acts angular has ng rx
  1042. 45:30which uses something called observables
  1043. 45:32and then react has many many things you
  1044. 45:36can get into huge debates with react
  1045. 45:38state management the most popular one is
  1046. 45:40Redux that's my favorite too there's
  1047. 45:42also context API which if you remember a
  1048. 45:44little Timmy that's actually part of
  1049. 45:46react for smaller scale state that you
  1050. 45:49need to manage or you might have mob X
  1051. 45:52which again uses observable pattern or
  1052. 45:55something more
  1053. 45:57that has a lot of hype around a witch is
  1054. 45:59using a polo client which has something
  1055. 46:02called graph QL uses graph QL which
  1056. 46:04we'll get into in to the backend section
  1057. 46:07so all these options are there again the
  1058. 46:09ones that I recommend is really learning
  1059. 46:11Redux because it does teach really solid
  1060. 46:14computer science principles and also a
  1061. 46:17little bit of Apollo and graph QL just
  1062. 46:19because it's very trendy right now but
  1063. 46:21don't dive too deep into it until you
  1064. 46:23use it on a project your own really need
  1065. 46:25to know every single detail then we have
  1066. 46:28something called component libraries the
  1067. 46:31beauty is that with all these tools
  1068. 46:33there's component libraries that you can
  1069. 46:36use for example react has a large
  1070. 46:39community of developers that have
  1071. 46:41already built components you want a date
  1072. 46:43picker a color picker maybe you want a
  1073. 46:45search bar where somebody has already
  1074. 46:47built it in react and you can use
  1075. 46:50different libraries component libraries
  1076. 46:52to just download and use those
  1077. 46:55components same with angular same with
  1078. 46:57the view all of these things have
  1079. 46:59component libraries hmm what about this
  1080. 47:03SSR thing
  1081. 47:04well SSR stands for server-side
  1082. 47:06rendering remember in the fundamentals
  1083. 47:10part how I talked about server-side and
  1084. 47:13client-side rendering oh wait I didn't
  1085. 47:16really did I well that's because
  1086. 47:18server-side and client-side rendering is
  1087. 47:21all about where should we render or
  1088. 47:24where should we calculate what the HTML
  1089. 47:26page should display you can do it on the
  1090. 47:29server side or you can do it on the
  1091. 47:31client side which is on the user's phone
  1092. 47:34or computer on their browser well all of
  1093. 47:38these libraries and frameworks
  1094. 47:39out-of-the-box do client-side rendering
  1095. 47:42Hey use the power of my cell phone to
  1096. 47:45display the page hey use the power of
  1097. 47:48the user's computer to display the page
  1098. 47:50but you can also do something called
  1099. 47:52server-side rendering if you control
  1100. 47:54your servers or the computer that sends
  1101. 47:57those HTML j/s and CSS file you have the
  1102. 48:00option to do that now we won't get into
  1103. 48:02what the differences are there are some
  1104. 48:03implications like SEO when it comes to
  1105. 48:06them but the key thing is that you
  1106. 48:08should know that they exist for example
  1107. 48:10with react he can use something like
  1108. 48:12next yes with angular you can use
  1109. 48:14angular Universal with view NOx Jas or
  1110. 48:17even something like zapper if you're
  1111. 48:20using it's felt again you don't need to
  1112. 48:23focus too much on it just to understand
  1113. 48:26the difference between server-side
  1114. 48:27rendering and client-side rendering
  1115. 48:29personally I would recommend next yes if
  1116. 48:32you really want to get into it but as
  1117. 48:33you can see no rocket ship there now one
  1118. 48:37note I want to give because I guarantee
  1119. 48:39you all get this question is what about
  1120. 48:41felt it's the newest library that has
  1121. 48:43come out it's gaining a lot of traction
  1122. 48:46should I learn spelt and honestly not
  1123. 48:49really because there just isn't that
  1124. 48:51much job demand yet it's still fairly
  1125. 48:53new I personally don't think it offers
  1126. 48:56that big of a value compared to what's
  1127. 48:58already out there like reacting angular
  1128. 49:00or view but it is quite useful because
  1129. 49:03it is performant that it might be good
  1130. 49:06for low powered embedded devices that
  1131. 49:10need UI so for example small devices
  1132. 49:13that don't have a lot of power that
  1133. 49:14still have some sort of UI or user
  1134. 49:18interface well maybe salt you should
  1135. 49:20consider it but for getting a job no not
  1136. 49:23yet
  1137. 49:24holy moly that's a lot but I think we're
  1138. 49:27getting there so let's see we talked
  1139. 49:29about JavaScript fundamentals frameworks
  1140. 49:31which was a big one we have only a few
  1141. 49:34more things let's talk about helpers and
  1142. 49:36helpers are both technically build tools
  1143. 49:38as well but these are ways for us to
  1144. 49:40help write JavaScript as programmers so
  1145. 49:44we have things like Babel that allow us
  1146. 49:46to write the newest features of
  1147. 49:48JavaScript we have things like es lint
  1148. 49:50which is kind of like a spell checker
  1149. 49:52for our JavaScript if we ever make a
  1150. 49:54mistake
  1151. 49:54well yes lint is going to check our code
  1152. 49:57and say oh you should fix that up that's
  1153. 49:59why it's a helper we also have something
  1154. 50:01like prettier and prettier is almost
  1155. 50:03like an auto formatter
  1156. 50:04it takes your code and make sure that
  1157. 50:07all your spaces look nice all your
  1158. 50:09indentation on your code looks nice
  1159. 50:11these we are very useful to use and then
  1160. 50:14we have built tools and built tools are
  1161. 50:17essentially things that allow us to do
  1162. 50:21things to our projects and files that we
  1163. 50:23might not want to do manually for
  1164. 50:26example I have here a project that I
  1165. 50:29created for create react app so create
  1166. 50:33react app is a CLI or a command-line
  1167. 50:36interface that allows me to build a
  1168. 50:38react project without having to do
  1169. 50:41things manually myself so I just ran
  1170. 50:44this command and now if I open up my
  1171. 50:46sublime text I have all these files and
  1172. 50:50this project already pre-built for react
  1173. 50:53so all this boilerplate code is done for
  1174. 50:55me and I have commands like NPM start or
  1175. 50:58NPM build to run certain commands for
  1176. 51:03example NPM start if I run it is going
  1177. 51:09to build the project and actually
  1178. 51:11display it on a web page for me just
  1179. 51:15like that
  1180. 51:15I could all
  1181. 51:18MPM run build
  1182. 51:22and if I look over here I now have a
  1183. 51:25built folder magically just through that
  1184. 51:28command that contains all my files
  1185. 51:31remember our CSS JavaScript well and
  1186. 51:33some images it's all there
  1187. 51:37I even have my HTML file so that's what
  1188. 51:40build tools do and NPM scripts which I
  1189. 51:43just used is what you usually do when
  1190. 51:46creating a project before we also used
  1191. 51:49to have something like gulp it still
  1192. 51:50exists less often use but let's say if
  1193. 51:53you want to do certain things like you
  1194. 51:54want to zip some files or compress some
  1195. 51:57files well you can use gulp to do that
  1196. 51:59we also have something called module
  1197. 52:02bundler something like the web pack
  1198. 52:03roll-up parcel well remember how
  1199. 52:06javascript had modules which are
  1200. 52:07essentially different sort of javascript
  1201. 52:09files as we got more and more JavaScript
  1202. 52:11files what we wanted to actually at the
  1203. 52:14end combine it all into one single
  1204. 52:16javascript file and send it to the user
  1205. 52:19this is what module bundling is it
  1206. 52:22bundles modules if we go to the web pack
  1207. 52:25website we see that it not only does
  1208. 52:27JavaScript but it does a whole lot of
  1209. 52:29things and spits out our JavaScript our
  1210. 52:31CSS files now the importance of parcel
  1211. 52:36what pack and roll-up has diminished a
  1212. 52:39little bit mainly because a lot of these
  1213. 52:41things are configurations that you don't
  1214. 52:44really need to understand things like
  1215. 52:46create react app do it automatically for
  1216. 52:49you for example they have already gzip
  1217. 52:52my files they have created different
  1218. 52:54chunks of JavaScript
  1219. 52:56of CSS that is optimized for delivery
  1220. 53:00because modern browsers now don't
  1221. 53:03necessarily need one large giant
  1222. 53:05javascript file you might only want to
  1223. 53:07send to JavaScript that is needed or
  1224. 53:09files that the user actually needs and
  1225. 53:11only load up new files when a user
  1226. 53:14visits a different page so for now I
  1227. 53:17recommend just knowing about them but
  1228. 53:19for example is used underneath
  1229. 53:21the hood for create react app roll-up is
  1230. 53:23really really good if you're a library
  1231. 53:25creator and you want to create your own
  1232. 53:27NPM modules or you can use parcel which
  1233. 53:30allows you to do some module bundling
  1234. 53:32without too much config that well with
  1235. 53:35web
  1236. 53:36it'll be a huge headache all right we're
  1237. 53:39almost done people the last little part
  1238. 53:41here is well all websites now you pretty
  1239. 53:44much have to create responsive mobile
  1240. 53:47first design that is if you're a
  1241. 53:49front-end developer you can't just
  1242. 53:51assume that everybody will be using a
  1243. 53:53computer you now have to build with
  1244. 53:55mobile in mind that is to make sure that
  1245. 53:58all these views and web pages that you
  1246. 54:01create also work on mobile and we
  1247. 54:04already talked about that with things
  1248. 54:06like CSS grid or CSS flexbox is just a
  1249. 54:10standard now we then have something like
  1250. 54:12web components now web components is one
  1251. 54:15of those things that has been around for
  1252. 54:16a long time especially something like
  1253. 54:17polymer but there are tools like lit
  1254. 54:20elements and stencil and what they are
  1255. 54:24is an idea developed by Google that says
  1256. 54:26hey wouldn't it be nice if we had
  1257. 54:28shareable components little date pickers
  1258. 54:32little search boxes little user cards
  1259. 54:35that can be used all across the web that
  1260. 54:38can be used between angular between
  1261. 54:40react between view that we can share
  1262. 54:43these web components and plug-and-play
  1263. 54:45web components to any website it's an
  1264. 54:48idea that is taking a bit of time to
  1265. 54:50pick up I wouldn't worry too much about
  1266. 54:52it just know that it exists and then we
  1267. 54:55talk about package management this is
  1268. 54:58the reason why javascript is so popular
  1269. 55:02the reason javascript is so popular is
  1270. 55:04because of all the tools and libraries
  1271. 55:08and code that people have built that a
  1272. 55:10community have built that you can now
  1273. 55:12use and share you don't have to create
  1274. 55:15things from scratch there's a lot of
  1275. 55:17tools a lot of problems that have
  1276. 55:19already been solved that you can now use
  1277. 55:21and that's where package management
  1278. 55:22comes in and with JavaScript package
  1279. 55:26management it happens on the NPM
  1280. 55:28registry it's right here and it was
  1281. 55:31actually recently acquired by github
  1282. 55:33which is owned by Microsoft which also
  1283. 55:36owns v/s code they were everywhere but
  1284. 55:40NPM allows me to search any packages
  1285. 55:42that I want let's say I wanted a date
  1286. 55:44picker well I can do a date picker
  1287. 55:46search and somebody has already built
  1288. 55:49that look
  1289. 55:49somebody built a react date picker so I
  1290. 55:52can now download this javascript file
  1291. 55:55and use it in my project so the NPM
  1292. 56:00registry allows us to use code use
  1293. 56:03modules that we haven't written and
  1294. 56:06build our project now there's also
  1295. 56:10something called an anti NPM registry
  1296. 56:12which is just something I made up but it
  1297. 56:15goes against NPM the problem with NPM is
  1298. 56:18that well it's controlled by one central
  1299. 56:20governing body and entropic tries to
  1300. 56:24essentially have a more less centralized
  1301. 56:27NPM registry or a packaged registry
  1302. 56:30still growing but interesting looking at
  1303. 56:33especially now that NPM has been
  1304. 56:35acquired by Microsoft now you may have
  1305. 56:38seen me run these commands in my
  1306. 56:40terminal that is NPM to run certain
  1307. 56:43commands like NPM run build again these
  1308. 56:47are just commands or build tools that I
  1309. 56:50can run and scripts that I can run using
  1310. 56:52NPM npx is a way for us to install
  1311. 56:56packages
  1312. 56:58for example if I go to create react app
  1313. 57:01let's see where it is there it is you
  1314. 57:03can see that I can run MPX create react
  1315. 57:05app to create a boilerplate code and MPX
  1316. 57:09make sure that we always use the latest
  1317. 57:12version of create react app so again
  1318. 57:16because I recommend learning react
  1319. 57:18definitely know these two things and
  1320. 57:21yarn is another option for you to use
  1321. 57:23for installing packages and third-party
  1322. 57:27libraries but they've had a few issues
  1323. 57:29now it came out of Facebook but they now
  1324. 57:31have a issue where yarn two just came
  1325. 57:34out that is not compatible with or very
  1326. 57:36different from the original yarn and I
  1327. 57:39would personally just stick with NPM
  1328. 57:42finally there are some popular libraries
  1329. 57:44that you should be aware of d3.js which
  1330. 57:46is for charting Axios which is for fetch
  1331. 57:50requests with extra tools you have
  1332. 57:52things like moment and date FNS which
  1333. 57:54are for dates
  1334. 57:55rammed up for functional programming
  1335. 57:56rxjs for something called observables
  1336. 57:59amor for something called immutables
  1337. 58:01lodash and underscore which are very
  1338. 58:04popular utility libraries that are less
  1339. 58:06often used now that javascript language
  1340. 58:08has a lot more features or that's a lot
  1341. 58:13and I promise I'm almost done we just
  1342. 58:16have this one last thing to talk about
  1343. 58:17and this is the jam stack this is
  1344. 58:20actually something that I included very
  1345. 58:22last minute on the video because it's
  1346. 58:24growing at a really fast pace and I
  1347. 58:26think it's an interesting thing to keep
  1348. 58:27an eye on that's why I have a little
  1349. 58:29Rokit but you don't necessarily have to
  1350. 58:31dive too deep into this but it is a
  1351. 58:33movement in the web that's happening
  1352. 58:35that you should definitely keep an eye
  1353. 58:36on and jam stack is all about static
  1354. 58:39sites remember when I showed you redwood
  1355. 58:43j/s well look at that it's a bringing
  1356. 58:45full stack to jam stack tool so what is
  1357. 58:49this whole Jam stack I personally don't
  1358. 58:51like the name I stands for JavaScript
  1359. 58:54API is in markdown it tries to bring the
  1360. 58:57web to how it was before I have a great
  1361. 59:01image here to demonstrate exactly what
  1362. 59:04is happening with Jam stack the idea
  1363. 59:06with Jam stack is what let's talk about
  1364. 59:08the initial way so initially we as
  1365. 59:11default
  1366. 59:12or as programmers we write a website's
  1367. 59:15program we send it to the server and
  1368. 59:17then the server produces the HTML on
  1369. 59:21demand and the user goes to google.com
  1370. 59:24and the server sends the user or the
  1371. 59:27client the HTML file with jam stack it's
  1372. 59:30a little bit different we write our code
  1373. 59:34and our JavaScript and then we build
  1374. 59:38these files and deliver them to
  1375. 59:40something like a CDN and the CDN which
  1376. 59:44is just a fancy way of saying a server
  1377. 59:46that is closer to the user the server
  1378. 59:50just has a prebuilt files now jam stack
  1379. 59:56is a topic that I'll get into in a
  1380. 59:58separate video because it is a lot the
  1381. 1:00:00key thing to remember is that they're
  1382. 1:00:03trying to simplify the web because what
  1383. 1:00:05happened with react and angular and view
  1384. 1:00:08is that all these JavaScript files
  1385. 1:00:10started getting more and more bloated
  1386. 1:00:12bigger and bigger and bigger so that
  1387. 1:00:14when you load an app on your screen it
  1388. 1:00:17runs a lot of JavaScript instead Jam
  1389. 1:00:21stack says hey especially for websites
  1390. 1:00:23like blogs some static sites the sites
  1391. 1:00:26that just display things already let's
  1392. 1:00:29just pre build this something like
  1393. 1:00:31gatsby is actually a static site
  1394. 1:00:34generator what that means is you write
  1395. 1:00:37your code and then you click run and
  1396. 1:00:40gatsby takes all that code that you
  1397. 1:00:42wrote and puts it into a neat HTML CSS
  1398. 1:00:45and javascript file and those files are
  1399. 1:00:48the files that you upload to the server
  1400. 1:00:51this way a lot of the content such as a
  1401. 1:00:55blog post can be displayed right away to
  1402. 1:00:57a user instead of having to run all this
  1403. 1:01:01javascript and anything that needs to
  1404. 1:01:03get updated such as a user logs in and
  1405. 1:01:06we now have to display a user name we
  1406. 1:01:08can just use api's and do that
  1407. 1:01:10afterwards so for example we can use
  1408. 1:01:13something like Hugo to build static
  1409. 1:01:16sites we can use something like grits
  1410. 1:01:18'im which is for view GIS Gatsby which
  1411. 1:01:21is for react
  1412. 1:01:22we even have skully which is for
  1413. 1:01:24building and
  1414. 1:01:26other apps we have Jekyll which is a
  1415. 1:01:28very popular one with Ruby and this
  1416. 1:01:31actually relates to something called a
  1417. 1:01:33content management system something
  1418. 1:01:35really popularized with WordPress
  1419. 1:01:37WordPress back in the day was really
  1420. 1:01:39really popular it still is because it
  1421. 1:01:41allowed people that don't really need to
  1422. 1:01:45learn how to code to build beautiful
  1423. 1:01:47websites and beautiful blogs using
  1424. 1:01:50themes and just using an interface like
  1425. 1:01:53this a dashboard like this to write up
  1426. 1:01:55blog posts
  1427. 1:01:57well now there's a movement towards
  1428. 1:01:59these static sites let's say you wanted
  1429. 1:02:02to build a block post but you don't
  1430. 1:02:03really need to go into all this trouble
  1431. 1:02:05you can use something like a headless
  1432. 1:02:07CMS so unlike WordPress that already had
  1433. 1:02:09pre-built themes and ways that the
  1434. 1:02:12website can look you can use something
  1435. 1:02:14like contentful for example and have
  1436. 1:02:18your own content management system a
  1437. 1:02:21place for you to write blog posts and
  1438. 1:02:22it's headless because it doesn't have
  1439. 1:02:25any client-side code that is it doesn't
  1440. 1:02:28necessarily tell you how you should
  1441. 1:02:30build your front-end as a matter of fact
  1442. 1:02:32this website my zero to mastery web site
  1443. 1:02:35is doing exactly that it's using
  1444. 1:02:39contentful to write blog posts but how
  1445. 1:02:43the blog looks it's completely up to me
  1446. 1:02:45this is written from scratch but quick
  1447. 1:02:49note if you were paying attention you
  1448. 1:02:52might be wondering to yourself what
  1449. 1:02:55exactly is a difference here between
  1450. 1:02:57static sites
  1451. 1:03:00versus that thing you are talking about
  1452. 1:03:02called SSR or server-side rendering
  1453. 1:03:05isn't that the same thing well let's
  1454. 1:03:09talk about the two of the most popular
  1455. 1:03:10ones for server-side rendering we have
  1456. 1:03:13next J s and for jam stack or static
  1457. 1:03:17site generation we have Gatsby J s they
  1458. 1:03:20both use react underneath the hood
  1459. 1:03:23they are both server-side so what's the
  1460. 1:03:26difference well gatsby is before the
  1461. 1:03:29server so think of it this way before I
  1462. 1:03:32even upload my files to a server I use
  1463. 1:03:35gas bjs to take all my code and spit out
  1464. 1:03:39a static files that is JavaScript CSS
  1465. 1:03:43and HTML that's what Gatsby does you use
  1466. 1:03:46it before you even deploy your code to
  1467. 1:03:48production or to the server on the other
  1468. 1:03:51hand server-side rendering with next GS
  1469. 1:03:55is we upload all the code we don't
  1470. 1:03:59generate any new code we upload it all
  1471. 1:04:02to the server so the server is now
  1472. 1:04:05listening to the client and as the
  1473. 1:04:08client makes requests next Jay S is
  1474. 1:04:10going to work and display different
  1475. 1:04:13things so next yes is what we use on our
  1476. 1:04:17server the code on the server versus
  1477. 1:04:20with gatsby we use it even before we put
  1478. 1:04:23the code on the server and instead the
  1479. 1:04:27server simply sends those files and on
  1480. 1:04:29the client side we use something called
  1481. 1:04:31api's to do interactive things like
  1482. 1:04:35display user information so that's the
  1483. 1:04:39difference there Gatsby is pre server
  1484. 1:04:43next GS is on the server so keep an eye
  1485. 1:04:47on the jam stack jam stack is gonna be
  1486. 1:04:50quite big over the next couple of years
  1487. 1:04:52alright that's it
  1488. 1:04:55front end seems pretty overwhelming
  1489. 1:04:57doesn't it but as you can see there's
  1490. 1:05:01only a few things that you need to focus
  1491. 1:05:03on little Rockets here the rest are just
  1492. 1:05:06important for you to understand and know
  1493. 1:05:09that they exist and how they relate to
  1494. 1:05:11one another
  1495. 1:05:13but you can spend your whole career in
  1496. 1:05:15the front end like I said it's a good
  1497. 1:05:17idea to start here get a job right away
  1498. 1:05:20and then dive deeper into the other
  1499. 1:05:23topics
  1500. 1:05:24up until now we've been talking about
  1501. 1:05:27the front end which is what does a user
  1502. 1:05:29see but we haven't really talked about
  1503. 1:05:31the server servers were just something
  1504. 1:05:34that somebody else owned but as a
  1505. 1:05:38back-end developer we can have control
  1506. 1:05:39as to what the server does instead of
  1507. 1:05:42just what do we display to the user we
  1508. 1:05:44can now say hey what data do we send to
  1509. 1:05:47the client what data do we receive from
  1510. 1:05:50the client so let's get into that

About this transcript

This page contains the full transcript of The Real Web Developer Roadmap: Part 1 ๐Ÿ’ป๐Ÿš€ | How to become a Web Developer by Zero To Mastery, generated from the public captions YouTube serves with the video. The transcript has 10,588 words across 1,510 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator โ€” no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.