Building a Simple Virtual DOM from Scratch - Jason Yu

  Рет қаралды 25,230

Tech Talks YLD

Tech Talks YLD

Күн бұрын

Пікірлер: 72
@afuqua
@afuqua 6 жыл бұрын
This is incredible! You cover great content in a very concise presentation. I also love how excited and joyful you are! You are a great instructor!
@ycmjason
@ycmjason 6 жыл бұрын
Thank you Aaron!!! Glad you enjoyed it!
@jameslay6505
@jameslay6505 5 жыл бұрын
That was honestly one of the best, most concise, and easily understood programming tutorials I've ever seen.
@l-cornelius-dol
@l-cornelius-dol 6 жыл бұрын
Jason, you are possibly one of the most engaging, and entertaining presenters for coding that I've ever seen. Well done.
@ycmjason
@ycmjason 6 жыл бұрын
Thank you!!!
@damonwu9658
@damonwu9658 3 жыл бұрын
If I was in your class, I will definitely be thrilled as you did, this is a real deal !!!!
@YCMJasonCodes
@YCMJasonCodes 3 жыл бұрын
thanks man!
@Totiimon
@Totiimon 6 жыл бұрын
What a wholesome person :) And was really interasting, I had an idea of what virtual dom is and how it should work, but I think I learnt a lot with this talk, thanks
@sushrut24
@sushrut24 4 жыл бұрын
very well presented 👏 loved Jason's enthusiasm and clarity
@cui.cui.
@cui.cui. 6 жыл бұрын
the sound is crappy but your smile makes up for it
@ichigo_kurosaaki
@ichigo_kurosaaki 5 жыл бұрын
Thank you for uploading the video. It was fun :)
@mathematicalninja2756
@mathematicalninja2756 5 жыл бұрын
Diffing is honestly amazing and you coded it in mere 20 mins that's achievement :D
@tjkandala5650
@tjkandala5650 4 жыл бұрын
Great video! This is a very elegant implementation of a virtual DOM. I believe that the randomized list was broken because you are iterating directly over childNodes in diffChildren(). childNodes is a live collection, so when you delete a node from it, the indices of the patches become inaccurate.
@YCMJasonCodes
@YCMJasonCodes 3 жыл бұрын
thanks TJ!
@blue_benjamin
@blue_benjamin 5 жыл бұрын
Thank you, Jason, love your energy!
@shangli8257
@shangli8257 2 жыл бұрын
wow , incredible , what a concise presentation
@aravideo79
@aravideo79 6 жыл бұрын
@ycmjason You have such great energy! Thank you for sharing, and please consider teaching courses in the future! It would be a treat to be a student in one of your classes :)
@ycmjason
@ycmjason 6 жыл бұрын
Awww thank you so much!!
@tseponkalai6528
@tseponkalai6528 5 жыл бұрын
Coolest coding video I ever saw! I swear this guy's not human, at 30:53 he raises his left hand and right continues to type "return $node;"!!! WHAT?!
@tseponkalai6528
@tseponkalai6528 5 жыл бұрын
oh, no wait, he just types faster than comp can follow 😯
@punkweb
@punkweb 3 жыл бұрын
This was great, I would have watched another hour to go over events.
@HeinekenLasse
@HeinekenLasse 4 жыл бұрын
Legend. Live coding something like this under 30 mins, few mistakes and using Vim. Ballsy
@amitkrgupta094
@amitkrgupta094 6 жыл бұрын
was learning about middlewares and js weekly pinged me a mail and I see Mr.J(a)S(on) making React from scratch! My eyes are wide opened now..with surprise
@ycmjason
@ycmjason 6 жыл бұрын
HAHA Thanks!
@bfoot239
@bfoot239 6 жыл бұрын
awesome, I have been using React over 1 year without any idea what virtual dom is.
@ycmjason
@ycmjason 6 жыл бұрын
That is exactly why I chose this topic!
@GRIFTYRODRIGUEZ
@GRIFTYRODRIGUEZ 5 жыл бұрын
what if something occurs that adds 5 new nodes but removes 6? i.e. maybe a menu is opened or a page view changes, or a modal opens. wouldn't this pose a problem with the way you designed diffChildren? isn't it possible for many new nodes to be added as children but the new list still ends up smaller than the old list?
@pradeepgowda7660
@pradeepgowda7660 5 жыл бұрын
Awesome! you helped me in understanding virtual DOM Better.
@northicewind
@northicewind 6 жыл бұрын
Awesome talk. Thanks. And additional respect for vim )
@yotsaisu9346
@yotsaisu9346 3 жыл бұрын
how to install this tool -> "gitignore init node"?
@MarcinPyta
@MarcinPyta 4 жыл бұрын
we always talk about her to a vampire - subtitles are great
@moschopsd2047
@moschopsd2047 6 жыл бұрын
Would it be possible to get a link to a repo so a newb like myself can look over the code at non-hyper speed?
@ycmjason
@ycmjason 6 жыл бұрын
the repo was already attached in the comment! There is even an article attached if u find it too fast. :) Enjoy!
@moschopsd2047
@moschopsd2047 6 жыл бұрын
@@ycmjason There are no links in the comments, and the only ones attached to the video are for the Manchester Web Meetup and the video category, unless I'm missing something. Was it a private comment, by any chance?
@ycmjason
@ycmjason 6 жыл бұрын
@@moschopsd2047 omg youtube must have thought that my comment is a spam.... here is the comment: The repo to the code I wrote at the talk: github.com/ycmjason-talks/2018-11-21-manc-web-meetup-4 dev.to/ycmjason/building-a-simple-virtual-dom-from-scratch-3d05 Here is a write up of my talk with some extra bits clarified.
@moschopsd2047
@moschopsd2047 6 жыл бұрын
@@ycmjason Thanks, man. You rock.
@martien15
@martien15 4 жыл бұрын
Thankyou, the explanation is so clear
@andresfelipemezamendez1194
@andresfelipemezamendez1194 5 жыл бұрын
thanks a lot, amazing this job, god bless you man
@TheVitkuz
@TheVitkuz 6 жыл бұрын
Man this tutorial is gold. They should put it to react docs
@ycmjason
@ycmjason 6 жыл бұрын
Thank you so so so much! I'm so glad you enjoyed it! ☺️☺️☺️
@ZaidQureshi
@ZaidQureshi 6 жыл бұрын
This is great, Am I too greedy to expect a part 2 ??
@ycmjason
@ycmjason 6 жыл бұрын
Thanks Zaid! What should part two be about? Completing react from here? 😂😂😂
@amitkrgupta094
@amitkrgupta094 6 жыл бұрын
@@ycmjason , Am I too greedy to expect Js lectures on your actual youtube channel ? 😂(You motivated me learn Js more and build more..after watching 15 mins..)
@ycmjason
@ycmjason 6 жыл бұрын
@@amitkrgupta094 😂😂😂😂 Thank you very much! I am glad I motivates people to learn more. I did think about starting a youtube channel doing coding. My idea was to do live coding stream and upload a summary video of length
@ycmjason
@ycmjason 6 жыл бұрын
@@amitkrgupta094 I am actually planning on this after your comment. Thanks for the motivation! I am going to do a live-coding video on Wednesday at here: kzbin.info/www/bejne/d3OUfYGnoZyjmbc
@ZaidQureshi
@ZaidQureshi 6 жыл бұрын
​@@ycmjason​ haha, but I like Vue more. What about "Create your own bindings using proxies from scratch" or something related to bundling or transpilers ??
@hooligansofts7430
@hooligansofts7430 6 жыл бұрын
Which editor are you using?
@ycmjason
@ycmjason 6 жыл бұрын
vim :)
@hooligansofts7430
@hooligansofts7430 6 жыл бұрын
@@ycmjason brother please create more tutorials covering these deep topics that no one really talks about. we are very much interested in learning more from you.
@YCMJasonCodes
@YCMJasonCodes 6 жыл бұрын
@@hooligansofts7430 Thank you so much for supporting! I have created this channel and I will be sharing more from here!
@wixnarara
@wixnarara 6 жыл бұрын
Great video, but why is he editing in a terminal? Just showing off or something?
@ycmjason
@ycmjason 6 жыл бұрын
😂 No. It just happens that some developers like using Vim and I am one of them.
@wixnarara
@wixnarara 6 жыл бұрын
@@ycmjason I mean I respect it, and in retrospective my comment is dumb, I do like the keyboard only appeal. However this can also be done in all of the other IDE + you have a better UI, and im my opinion with the amount of extensions required today (eslint, prettier, version control) that are one click away in IDEs like VSCode you end up being more productive. I know this can be done in Vim but with a lot more boilerplate and not so intuitively. Not to talk about the awful font and color quality. In short: im not right, and you're not wrong, use whatever you feel best with!
@ycmjason
@ycmjason 6 жыл бұрын
@@wixnarara I mostly agree! The UI in VSCode looks amazing and the functionality are actually awesome! I recently used VSCode because I picked up Flutter and the Flutter plugin in VSCode is absolutely amazing. I also use IntelliJ for Java simply because it is virtually impossible to code Java without an IDE. 😂😂😂I have installed a Vim plugin in both VSCode and IntelliJ, but they just don't feel as fluent as native vim. Furthermore, I have always been coding JS in Vim so this is what I feel most comfortable with for now. The VSCode vim plugin is actually pretty good so I might switch to VSCode in the future.
@l-cornelius-dol
@l-cornelius-dol 6 жыл бұрын
@@ycmjason: I must not have got the memo. I have been coding Java for 18 years with a simple text editor. :-)
@namespace242
@namespace242 5 жыл бұрын
讲得非常好,我都听懂了:)
@bl1tzQ
@bl1tzQ 5 жыл бұрын
Thanks man, that so lit
@عليالمرسي-ه2ل
@عليالمرسي-ه2ل 2 ай бұрын
for anyone decided to watch this now. He is talking fast but try to play it on x2.It's more fun. But great presentation
@lyingcat9022
@lyingcat9022 4 жыл бұрын
This is great! Only really bad thing is his vim setup; with the error markers popping up and shifting his code over every few seconds! It’s giving me damn motion sickness.
@YCMJasonCodes
@YCMJasonCodes 4 жыл бұрын
haha! time is limited!
@Samuel-ql7tq
@Samuel-ql7tq 6 жыл бұрын
Great explanation!!
@naveenda2064
@naveenda2064 3 жыл бұрын
Now I am planning to move vscode to vim
@yun-ruzeng5026
@yun-ruzeng5026 3 жыл бұрын
gooooooooood!
@code_with_om
@code_with_om 5 жыл бұрын
amazing :)
@O1zo
@O1zo 6 жыл бұрын
Cool, but your createElement does not create any element.I would move it from the render function to the create element
@ycmjason
@ycmjason 6 жыл бұрын
That's why it is virtual, isn't it? :)
@gompro
@gompro 6 жыл бұрын
You just built simplified version of React.js from nothing. I really want other people to know that it is possible to make React.js less than an hour :)
@ycmjason
@ycmjason 6 жыл бұрын
Haha! There are still a lot more happening in React. This is a very very very simplified version of a tiny part of React.js.
@tweakmy
@tweakmy 5 жыл бұрын
It would be nice if there is less of the clapping noise and more focus on the content otherwise it is good video
@BerinWong
@BerinWong 5 жыл бұрын
Good English, bro.
Let's Build a Virtual DOM from Scratch
38:57
Kevin Heis
Рет қаралды 18 М.
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
Fun with React Hooks - Michael Jackson and Ryan Florence
1:02:51
Boston React
Рет қаралды 112 М.
Netflix JavaScript Talks - RxJS + Redux + React = Amazing!
37:14
Netflix Engineering
Рет қаралды 396 М.
Rich Harris - Rethinking reactivity
36:45
You Gotta Love Frontend
Рет қаралды 322 М.
Lin Clark - A Cartoon Intro to Fiber - React Conf 2017
31:48
Meta Developers
Рет қаралды 203 М.
The Node.js Event Loop: Not So Single Threaded
31:54
node.js
Рет қаралды 168 М.
Understanding React's UI Rendering Process
29:07
CrossComm, Inc.
Рет қаралды 220 М.
Tech Talk: What is the Virtual DOM?
9:30
Fullstack Academy
Рет қаралды 48 М.
React Today and Tomorrow and  90% Cleaner React With Hooks
1:35:30
React Conf
Рет қаралды 1,1 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН