WEBVTT 00:00:25.896 --> 00:00:27.535 Hey everybody, I'm Pete. 00:00:29.621 --> 00:00:33.581 So, who is exited for some big O-notation in the morning? 00:00:34.655 --> 00:00:36.995 Alright, alright, so we gonna get to that. 00:00:37.312 --> 00:00:39.377 but before we do 00:00:39.377 --> 00:00:41.008 i'm just gonna say I'm Pete. 00:00:41.018 --> 00:00:43.959 I work at Facebook on the Instagram team 00:00:44.079 --> 00:00:46.801 and I'm a contribute to a library called react 00:00:46.801 --> 00:00:51.966 which you may have heard is the one that puts the angle brackets in your javascript 00:00:52.186 --> 00:00:57.958 .. but, I'm not gonna really talk to much of that React and why it is so awesome because 00:00:57.958 --> 00:01:00.007 that's not the interesting part 00:01:00.007 --> 00:01:02.388 what I wanna talk about the ideas behind React 00:01:02.388 --> 00:01:05.678 and React is a reference implementation of those ideas. 00:01:06.528 --> 00:01:08.378 So. This isn't a turial 00:01:08.675 --> 00:01:12.289 and I give a focus on ideas and not implementations. 00:01:12.315 --> 00:01:14.500 So. I'm gonna talk about the ideas behind react 00:01:14.531 --> 00:01:16.769 Some ideas behind other systems 00:01:16.769 --> 00:01:18.546 how they're a different kind a 00:01:18.546 --> 00:01:21.879 what a different tradeoffs are in there are different tradeoffs between them 00:01:22.386 --> 00:01:25.996 and hopefully you take some of the ideas and bring them to your favourite system 00:01:26.674 --> 00:01:29.523 or you maybe you think that react is cool and you can tribute to it. 00:01:31.580 --> 00:01:35.200 Lets talk about what makes user interfaces difficult to build. 00:01:36.881 --> 00:01:40.136 Has anyone build an user interface before? 00:01:40.136 --> 00:01:42.678 Alright, OK. I figured it. 00:01:42.678 --> 00:01:45.065 Was it really easy? 00:01:45.135 --> 00:01:46.792 Yeah, testing it was super-easy, 00:01:46.792 --> 00:01:49.200 maintainng quality was probably a joke, right. 00:01:49.402 --> 00:01:51.341 It's just a kind a .. always works 00:01:51.341 --> 00:01:53.280 He said sarcastically 00:01:53.280 --> 00:01:55.219 But you get this a lot 00:01:55.615 --> 00:01:57.474 This doesnt feel right 00:01:57.645 --> 00:02:01.381 So, you know - even if you use all the test driven development that you can throw at it 00:02:01.581 --> 00:02:04.091 you still have to have a human look at this 00:02:04.091 --> 00:02:05.762 this doesnt look right and this doesnt fell right 00:02:05.915 --> 00:02:09.311 and when I click this button and I click this button and I click this button ... it breaks 00:02:10.865 --> 00:02:13.381 There's a lot of things that come in to this 00:02:13.757 --> 00:02:17.429 They are human verifiedy but UIs are also deceptely complex