|
|
|
0s
|
foreign
|
外国
|
11s
|
[Music]
|
[音乐]
|
28s
|
fox jumps over the lazy dog
|
狐狸跳过懒狗
|
33s
|
this is react podcast I'm chantastic today we're going back way back back to
|
这是 React 播客 我 今天非常棒 我们要回到
|
40s
|
the beginning of react 10 years in the rear view mirror it may
|
React 的开始 10 年从后视镜看 它可能
|
45s
|
feel like react was always going to succeed did a framework by Facebook was
|
感觉 React 总是会 成功 确实 Facebook 的框架
|
50s
|
too big to fail but this isn't that kind of story in fact there were many times
|
太大而不能失败,但这不是 那种故事,事实上
|
55s
|
in reacts history where it seemed like it wasn't going to succeed at all
|
在 Reacts 历史上有很多次看起来 它根本不会成功,
|
1:00
|
so what happened how did react go in 10 years from looking Dead on Arrival to
|
所以发生了什么反应在 10 年内如何发展 从看起来 Dead on Arrival 到
|
1:07
|
becoming the dominant front-end JavaScript framework that it is today
|
成为今天占主导地位的前端 JavaScript 框架
|
1:12
|
it starts at Facebook in 2011 jQuery and backbone are dominating front-end
|
它于 2011 年在 Facebook 开始
|
1:17
|
JavaScript but more opinionated tools like Ember angular knockout are already
|
-
|
1:23
|
on the scene in the outside world Gangnam Style has just been uploaded to
|
Gangnam Style 刚上传到
|
1:28
|
YouTube Call Me Maybe is topping the charts and the freshest meme is the
|
YouTube Call Me Maybe 就高居 榜首,最新鲜的 meme
|
1:33
|
overly attached girlfriend in Internet years it's basically been an eternity so
|
是互联网时代过度依恋的女朋友, 这基本上是永恒的,所以系好
|
1:38
|
strap in set yourself away enable that do not disturb because this is quite the
|
安全带让自己走开吧 请勿打扰,因为这完全是
|
1:44
|
Underdog Story foreign
|
Underdog Story foreign
|
1:54
|
[Music] but this one doesn't
|
[音乐] 但这个不是
|
1:59
|
[Applause] [Music]
|
[掌声] [音乐]
|
2:03
|
just keep it on with this testing one two testing
|
只是继续进行此 测试一两个测试
|
2:14
|
[Music] foreign
|
[音乐] 外国
|
2:19
|
[Music]
|
[音乐]
|
2:36
|
work at Facebook I told my mom I was like really excited The Social Network
|
在 Facebook 工作 我告诉 我的妈妈, 我真的很兴奋社交网络
|
2:40
|
the movie had just come out and she had you know seen it recently and she was
|
这部电影刚刚上映,她让 你知道最近看过它,她
|
2:45
|
actively discouraging me from joining because she was like Mark Zuckerberg
|
积极劝阻我加入, 因为她说马克扎克伯格
|
2:49
|
doesn't seem like a very nice boy Facebook in the time I was there was I
|
看起来不像一个非常好的男孩 Facebook 在 我在那里的时候,我
|
2:54
|
don't think they'll be anything like it ever again it was certainly not like
|
认为他们不会再像现在 这样了,这肯定
|
2:57
|
anything that I had experienced before in fact just a couple months after I
|
不像我以前经历过的任何事情, 事实上,就在我
|
3:01
|
joined Kanye West came to visit Facebook's campus and he got up on a
|
加入 Kanye West 几个月后 ,他来参观 Facebook 的校园,他起床了
|
3:07
|
table in the cafe and you know wrapped a few bars and I was working mostly with
|
在咖啡馆的桌子上,你知道包裹了 一些酒吧,我主要和
|
3:12
|
this guy who had just graduated from college and I was trying to explain to
|
这个刚从大学毕业的人一起工作 ,我试图向
|
3:16
|
him you know I've worked these crap jobs in software at that point had been like
|
他解释你知道我 在那个时候从事过这些垃圾软件工作 就像
|
3:21
|
10 or 15 years nothing like this ever happens not to software Engineers you're
|
10 或 15 年 像这样的事情从来 没有发生在软件工程师身上 你是
|
3:27
|
my stressing your mama sues Mama say Mama say Mama Don the son JavaScript at
|
我在强调你妈妈起诉
|
3:32
|
the time I think was going through this little
|
-
|
3:35
|
bit of an existential crisis as to whether it was like a real programming
|
编程
|
3:40
|
language or a toy programming language and so
|
语言 或玩具编程语言,所以
|
3:44
|
there was a lot of churn so you had jQuery was popular and moo tools was
|
有很多流失,所以你有 jQuery 很流行,moo 工具很
|
3:48
|
popular and there was so many different like warring Frameworks to try to get
|
流行,有很多不同的 框架,比如试图
|
3:52
|
the Mind share and there's a lot of similarities between them but each one
|
获得思想份额的交战框架,它们之间有很多 相似之处 但是每一个
|
3:55
|
had its kind of bespoke differences and none of them were actually really
|
都有其定制的差异,而且 它们都不是
|
3:58
|
fantastic for building really kind of complicated user interfaces and apps
|
真正适合构建真正 复杂的用户界面和应用程序的,
|
4:03
|
there was this trend towards more sophisticated applications that do more
|
有一种趋势是更 复杂的应用程序可以做更多的
|
4:07
|
stuff and at Facebook we still had a primarily sort of server rendered
|
事情,而在 Facebook,我们仍然有 一种主要的服务器 呈现的
|
4:12
|
technology stack which um you know one of the things that we
|
技术堆栈, 嗯,你知道我们
|
4:16
|
fought against for a really long time was just growing JavaScript bundle sizes
|
长期反对的事情之一 就是增加 JavaScript 包的大小,
|
4:20
|
so as we moved more and more stuff to the client the client got slower and
|
所以 随着我们将越来越多的东西 移到客户端,客户端变得越来越
|
4:24
|
slower so we actually swung the pendulum towards server-side rendering and
|
慢,所以我们实际上将钟摆 转向了服务器端渲染,并且
|
4:27
|
towards you know minimal amounts of JavaScript for a while and there was
|
在一段时间内让你知道了最少的 JavaScript,并且有一种
|
4:31
|
this feeling that we knew that what we were doing for client-side development
|
感觉,我们知道我们 是什么 为客户端开发所做的
|
4:35
|
wasn't working but also that server side wasn't going to get us all the way there
|
工作是行不通的,而且服务器 端也不会让我们一路走来,
|
4:40
|
so I think that was the kind of environment that react came out of
|
所以我认为这是
|
4:57
|
I joined Facebook back in 2010 I've been doing a lot of Open Source work
|
我在 2010 年加入 Facebook 时产生的那种环境,我一直 做了很多开源工作,
|
5:02
|
particularly in the JavaScript world I was a committer on the dojo.js toolkit
|
特别是在 JavaScript 世界我 是 dojo.js 工具包的提交者
|
5:07
|
back in the day which is one of the the granddaddies of the JavaScript movement
|
,它 是 JavaScript 运动的祖父之一,
|
5:11
|
along with prototype and jQuery I spent my first two years of Facebook
|
还有原型和 jQuery 我在 Facebook 度过了头两年
|
5:16
|
on the mobile team we had started off a big push to compete
|
在移动团队, 我们已经开始大力推动
|
5:21
|
with Apple and Google and we thought that our best chance of success as a
|
与苹果和谷歌的竞争,我们 认为我们作为一家公司成功的最佳机会
|
5:25
|
company was to go directly to the web and really push to build out the HTML5
|
是直接进入网络 并真正推动构建 HTML5
|
5:30
|
ecosystem so as part of that we developed myself
|
生态系统,所以 作为其中的一部分,我们 自己开发
|
5:36
|
two other Engineers called Vladimir khalestikov and will Bailey built a
|
了另外两名名为 Vladimir khalestikov 的工程师,Will Bailey 构建了一个
|
5:40
|
framework called bolt JS so named because we bolted together a bunch of
|
名为 bolt JS 的框架,之所以如此命名 是因为我们将我们每个人都喜欢的一堆东西用螺栓连接在一起
|
5:44
|
things that each of us liked bolt was basically more or less
|
,bolt 基本上或多或少是
|
5:49
|
Facebook's implementation of a client's head MVC I think it was like a pretty
|
Facebook 对客户端 head MVC 的实现 我认为它是一个非常
|
5:53
|
good version maybe a better version of things like backbone and a couple of
|
好的版本,也许是当时存在 的主干和其他几个框架的更好版本,
|
5:58
|
other Frameworks that had existed at the time but it was born from a place of the
|
但它诞生于
|
6:04
|
specific constraints of Facebook it's the heart of your Facebook experience
|
Facebook 的特定限制,它完全 是你 Facebook 体验的核心
|
6:09
|
completely rethought from the ground up we've been working on it all year
|
从头开始重新思考 我们一整年都在努力
|
6:13
|
and we're calling it timeline Facebook was one of the first
|
,我们称之为 时间线 Facebook 是第一批
|
6:18
|
big products that was really an experience more than anything else
|
真正提供体验的大型产品之一,
|
6:22
|
you're not trying to buy groceries or get tickets or anything like that on
|
你不是想买杂货 或买票或 在 Facebook 上的任何类似的东西
|
6:26
|
Facebook you really just want to be entertained and as such you know the
|
你真的只是想被 娱乐,因此你知道
|
6:31
|
user interface itself needs to be really pleasing bolt was not a tool belt it was
|
用户界面本身需要非常 令人愉悦螺栓不是工具 b elt 它
|
6:36
|
truly a application development framework something designed and meant
|
确实是一个应用程序开发 框架,
|
6:40
|
to build complicated interactive rich apps and was being used to build pretty
|
旨在构建复杂的交互式丰富 应用程序,并且在 Facebook 被用于构建非常
|
6:46
|
complicated very real products at Facebook at the time we ended up having
|
复杂的非常真实的产品, 当时我们最终
|
6:50
|
to essentially replicate most of Facebook
|
不得不基本上复制
|
6:53
|
all the various apps be it timeline chat news feed we had a whole photos app that
|
Facebook 的大部分应用程序 timeline chat news feed 我们有一个我们构建的完整照片应用程序
|
6:59
|
we built and so obviously the team had to expand greatly like that so I think
|
,所以显然团队必须 像那样大幅扩展所以我认为
|
7:03
|
at some point we probably had maybe 25 Engineers working on all this between
|
在某个时候我们可能有 25 名 工程师在
|
7:08
|
building bold and building apps built on Bold and that's just on the mobile team
|
构建 bold 和构建基于 Bold 和 这只是移动团队
|
7:11
|
bolt was never the problem it was the architecture that would eventually break
|
的问题,螺栓从来都不是问题,
|
7:15
|
down for us as the the product itself got more complex and as we added more
|
随着产品本身 变得越来越复杂,随着我们向团队添加更多
|
7:20
|
Engineers to the team we didn't hit a wall but it started to get really really
|
工程师,我们并没有 碰壁,但架构开始崩溃了。 真的
|
7:24
|
hard to make changes and so you know that was around the time that Jordan was
|
很难做出改变,所以你知道 那是乔丹
|
7:29
|
on the ads team and he's like I wonder there's got to be a better way
|
在广告团队的时候,他就像我想知道 必须有更好的方法 你外国人
|
7:38
|
foreign
|
|
7:42
|
is an enigmatic figure he uh he's a little secretive so there's not much
|
是个神秘人物他呃他 有点神秘
|
7:48
|
that I know about him Jordan and I aren't necessarily we haven't
|
所以我对他知之甚少乔丹 我不一定我们
|
7:52
|
necessarily been in the spotlight much especially Jordan kind of shied away
|
不一定在聚光灯下很多 特别是乔丹
|
7:56
|
from spotlights since the early days Jordan was a product engineer at the
|
从早期开始就有点回避聚光灯 乔丹当时是一名
|
8:00
|
time working on ads and ads has one of the most complicated pieces of UI across
|
从事广告工作的产品工程师,广告拥有目前 整个 Facebook 上最复杂的用户界面之一,在
|
8:07
|
all of Facebook at the moment on the as team they were hitting much
|
团队中,他们正在触及
|
8:12
|
you know really hitting the limits of what you can do without react uh
|
你知道的很多东西,这确实触及了 你可以在不做出反应的情况下做的事情的极限 呃
|
8:16
|
complexity wise and just the developers ability to hold in their head and
|
复杂性明智,只是开发人员 能够牢记并
|
8:21
|
understand a bit of code that somebody else wrote and you know look at the
|
理解 其他人编写的一些代码,你知道看看
|
8:25
|
screen and say okay this code is doing that and I need to know why and Jordan
|
屏幕并说好吧,这段代码正在这样 做,我需要知道为什么,乔丹
|
8:29
|
had a lot of very interesting ideas around how you could take what we had
|
有很多 非常有趣的想法 ,关于如何利用我们
|
8:33
|
done in both and make it much more functional and make it more um ability
|
在这两个方面所做的工作, 使它更具功能性,并
|
8:36
|
to make it easier for it to scale with people's ability to understand large
|
使其更容易扩展,以适应 人们理解大型
|
8:40
|
applications and so we had a lot of ongoing dialogue and he would come back
|
应用程序的能力 ications 所以我们进行了很多 持续的对话,他会来来
|
8:43
|
and forth to us with various ideas how to change it I think one of the original
|
回回地告诉我们 如何改变它的各种想法我认为反应的原始
|
8:47
|
names for react was F bolt which is functional Bolt foreign
|
名称之一是 F bolt,它是 功能性的 Bolt 外语
|
8:55
|
to do it to solve some of the tricky Parts in bolts in an easier way so what
|
来解决一些问题 螺栓中棘手的部分以更简单的方式进行,所以
|
9:02
|
Jordan decided to do or at least the story that he had told me was
|
Jordan 决定做的事情或者至少 他告诉我的故事是
|
9:08
|
hey wouldn't it be easier if any time anything happened in the app API State
|
嘿,如果 应用程序 API 状态中
|
9:14
|
changes user type something we just blow away the entire UI and we re-render all
|
发生任何事情改变用户类型,我们会不会更容易 去掉整个 UI,我们重新渲染
|
9:19
|
of it if you look at what every other
|
所有这些, 如果你看看当时其他所有
|
9:23
|
framework was doing at the time it was called two-way data binding and this was
|
框架在做什么,它被 称为双向数据绑定,
|
9:27
|
not that it was like forget about data binding we're not
|
这并不是说 忘记数据绑定,我们不会
|
9:31
|
going to do that at all anytime anything changes we're just going to re-render
|
去 随时执行任何 更改我们将重新渲染
|
9:35
|
and then there's an asterisk which says well we're not going to remember
|
然后有一个星号 表示我们不会记住
|
9:37
|
everything we're going to try to render as little as possible but conceptually
|
我们将尝试渲染的所有内容 尽可能少但从概念上讲
|
9:41
|
we're not going to manage these relationships between views and models
|
我们是 不会管理这些 之间的关系 视图和模型,
|
9:45
|
we're just gonna honestly I thought it was completely
|
我们只是 老实说,我认为
|
9:48
|
crazy at the time I was really down on Frameworks in general and I thought
|
当时我真的很不喜欢 框架,我认为
|
9:52
|
there was no way that was going to work to many people that seemed like magic it
|
这完全是疯狂的,我认为这对许多人来说是不可能的,因为 它看起来像魔法,
|
9:57
|
was so far outside of everybody's idea of how things should work and do work
|
它太遥远了 每个人 对事情应该如何运作的想法以及如何运作
|
10:01
|
that um yeah it took a lot of commenting
|
,嗯, 是的,它需要很多评论
|
10:07
|
[Music] I've been working at Facebook for 10
|
[音乐] 我已经在 Facebook 工作了 10
|
10:34
|
years now I met this person called Jordan walk
|
年,现在 我遇到了一个叫 Jordan walk 的
|
10:38
|
some people told me like he had an interesting project about JavaScript and
|
人,有人告诉我他有一个 有趣的东西 关于 JavaScript 的项目,
|
10:42
|
I may be interested and so I had this meeting with him and uh one thing he
|
我可能会感兴趣,所以我 和他开了这次会议,呃
|
10:47
|
asked me at the beginning of the meeting was what is the most difficult thing to
|
,在会议开始时他问我一件事,
|
10:53
|
do in the front end right now and I mean I was six months out of
|
现在前端最难做的事情是什么 ,我的意思是我当时六岁 离开
|
10:59
|
school I was like I don't know and the thing he told me is updates you need to
|
学校几个月我就像我不知道, 他告诉我的事情是更新你需要
|
11:05
|
find the dumb node that is going to change you need to like change the
|
找到将要改变的哑节点 你需要喜欢改变
|
11:09
|
listener to like the Click event and like remove it and like do all of this
|
监听器以喜欢 Click 事件并 喜欢删除它并喜欢 做这一切
|
11:13
|
which is like pretty complicated and then this was also like a massive source
|
这是我 这很复杂, 然后这也就像是
|
11:18
|
of bugs within the Facebook adbase I was like okay yeah you're right like
|
Facebook 广告库中的大量错误来源, 我说好吧,是的,你是对的,
|
11:24
|
this is probably like the hardest thing and it was like I have a solution for
|
这可能是最困难的事情 ,就像我有解决方案一样,
|
11:28
|
this I was like okay this guy is crazy like
|
我觉得好吧 这家伙太疯狂
|
11:31
|
this is never going towards never going to be performance the meeting ended for
|
了 永远不会走向 永远 不会成为表演 会议
|
11:36
|
like a few weeks I forgot about the idea but uh one weekend I was like okay
|
结束了几周 我忘记了这个想法 但是呃 一个周末 我觉得好吧
|
11:41
|
maybe I should try this like maybe there's something to it
|
也许我应该试试这个 就像之前可能 有一些东西
|
11:44
|
[Music] before joining Facebook I walked on a
|
[音乐 ] joining Facebook 我走
|
11:49
|
way to find your guilds in World of Warcraft and we basically need to search
|
在魔兽世界中寻找你的公会的路上 ,我们基本上需要
|
11:54
|
through like 20 000 yields and I did like a lot of uh performance work to
|
搜索大约 20 000 个产量,我确实 喜欢很多呃性能工作,
|
12:00
|
like be the fastest way to display possible when you change all of those
|
当你改变所有的时候,我喜欢成为最快的显示方式 那些
|
12:04
|
filters into this real time and I was like okay I spent like months full time
|
实时过滤器,我 觉得好吧,我花了几个月的
|
12:10
|
like working on like making this super performance let's try it with react and
|
时间来制作这种超级 性能让我们用 React 来尝试它
|
12:14
|
in practice uh it took me like half an hour to write it and it was actually
|
,实际上我花了 半个小时来写它,它是 实际上
|
12:20
|
like not as performant but like around the same order of magnitude as
|
不像性能那么好,但喜欢与性能 大致相同的数量级
|
12:24
|
performance and I was like mind blown and to this day I became like the
|
,我感到很震惊 ,直到今天我成为
|
12:29
|
biggest react fan in the world I was in the photos team and like spending all of
|
世界上最大的 React 粉丝,我 在照片团队,喜欢把我所有的
|
12:32
|
my working hours like trying to like use react on my own project in the photos
|
工作时间都花在 尝试喜欢 在照片团队中对我自己的项目做出反应,
|
12:36
|
team evangelizing I felt like it could change the world which is it
|
传福音,我觉得它可以 改变世界,就是这样
|
12:44
|
[Music]
|
[音乐]
|
12:50
|
Jordan is making Headway on his project he's gotten others involved and they're
|
乔丹在他的项目上取得了进展,他让 其他人参与进来,他们
|
12:56
|
seeing the value but not everyone is impressed one manager started to take
|
看到了价值,但不是每个人都看到了 给一位经理留下了深刻的印象,开始
|
13:02
|
notice but saw Jordan's project is a distraction
|
注意到他,但看到乔丹的项目让人 分心,
|
13:06
|
so the athlete Byron to meet with Jordan and put a stop to it we get into a room
|
所以运动员拜伦与乔丹会面 并阻止了它,我们立即进入一个房间,
|
13:12
|
instantly I knew that this was going to be weird because we showed up with very
|
我知道这会 很奇怪,因为我们出现了非常
|
13:15
|
different energies so I'm showing up with this like okay Jordan I want to
|
不同的人 能量所以我 带着这个出现,好吧,乔丹,我
|
13:20
|
understand what's going on with your project but I also want to help make
|
想了解你的项目发生了什么, 但我也想帮助
|
13:25
|
sure that we are spending our time well and we're working on things that are
|
确保我们把时间花得很好 ,我们正在做的事情
|
13:29
|
gonna have longevity and solving problems we
|
将会长寿并解决我们
|
13:32
|
want to have and Jordan came in with like can I show you a demo of what I've
|
想要拥有的问题,乔丹进来了, 就像我可以向您展示我一直在做的事情的演示,
|
13:35
|
been working on like this is so exciting and it does this and it does that and
|
这太令人兴奋了 ,它做到了这一点,它做到了,
|
13:39
|
eventually like towards the end of this meeting with him I had to kind of admit
|
最终喜欢到最后 在 与他的这次会面中,我不得不
|
13:42
|
like he had something really compelled like I was now really interested in
|
承认他确实有某种被强迫的东西, 就像我现在真的很想
|
13:47
|
learning more about what what he was doing so Jordan's pitch to me was like I
|
更多地了解他在 做什么,所以乔丹对我的推介就像我
|
13:51
|
only want to invest in this and work on it if it's going to be something that
|
只想投资于此并为此努力 如果这将成为
|
13:54
|
people will use and if that's not going to be the case like sure we're not going
|
人们会使用的东西,如果 情况并非如此,我们肯定不
|
13:58
|
to do this he's like but I feel really strongly that all the ways we've been
|
会这样做,他说,但我非常 强烈地认为,
|
14:02
|
doing UI development up until now have been flawed whether they're a JavaScript
|
到目前为止,我们一直在进行 UI 开发的所有方式 有缺陷,无论它们是一个
|
14:06
|
library that doesn't quite work for us or whether it's like a 30 year old uh
|
不太适合我们的 JavaScript 库, 还是像一个 30 年的
|
14:10
|
tried and true model for doing UI application development like they all
|
UI 应用程序开发久经考验的真实模型, 就像它们都
|
14:14
|
suffer from the same base problem Estate Management
|
遇到相同的基本问题 房地产管理
|
14:19
|
and I think this is the way forward and Lee if you could just like dig into
|
,我认为 这个我 这是前进的方向 ,Lee 如果你愿意深入
|
14:23
|
the code and learn more and try it and then come back and we'll talk about
|
研究代码并了解更多并尝试它 然后回来,我们将
|
14:28
|
this again um then we can figure this out it's like
|
再次讨论这个, 嗯然后我们可以弄清楚它就像
|
14:31
|
all right all right and so I did I dug around the code and it was um
|
好吧好吧,所以我做到了 我仔细研究 了代码,嗯
|
14:36
|
a little hard to understand uh but I eventually got to play with it got to
|
,有点难以理解,呃,但 我最终开始使用它来
|
14:40
|
build a couple of things and uh like had to admit coming away that like yes there
|
构建一些东西,呃, 不得不承认离开了,就像是的,那里
|
14:44
|
was something incredibly interesting there and that was how I got sucked into
|
有一些非常有趣的 东西,那就是 我是如何被吸引到
|
14:49
|
the project I ended up working on it quite a bit for the the next couple of
|
这个项目中的 我最终 在接下来的
|
14:53
|
months Lee brings us like rigor and sort of design mentality to these things that
|
几个月里做了很多工作 Lee 给我们带来了严谨和 某种设计心态来处理这些东西,
|
14:59
|
um really helped with the initial versions of react in terms of
|
嗯 ,在标准化方面确实帮助了 React 的初始版本
|
15:02
|
standardizing it and turning it from something that was kind of like an ugly
|
把它从 有点像一个丑陋的
|
15:06
|
baby that it just uh grown up at Facebook to something that really people
|
婴儿,它刚刚在 Facebook 长大, 变成
|
15:09
|
could approach from around the world [Music]
|
了世界各地的人们真正可以接近的东西 [音乐]
|
15:12
|
there were a couple of problems that I faced right away when trying to
|
我 在尝试时立即遇到了几个问题 g
|
15:20
|
understand the code base and build something Not only was the the set of
|
理解代码库并构建 一些东西不仅
|
15:25
|
tools and the mental models really different from what I was used to as a
|
工具集和心智模型 与我作为 UI 工程师所习惯的完全不同
|
15:28
|
UI engineer the syntax and the programming just like
|
语法和编程就像所
|
15:33
|
Concepts involved just the terminology was also really different my takeaway
|
涉及的概念只是 术语也非常不同我的 外卖
|
15:38
|
was you know okay the whole bid here was that this would be simpler but I can't
|
是你知道好的,这里的整个出价是 这样会更简单,但我
|
15:43
|
help but feel like this is really complicated mostly as a as a desire for
|
忍不住觉得这真的很 复杂,主要是因为
|
15:47
|
me to understand the model um but also with a hope that it would
|
我希望了解模型, 嗯,但也希望它会
|
15:52
|
kind of end up helping resolve some things I
|
好 最终帮助解决了一些我
|
15:56
|
wanted to build uh like a glossary like what are all the things the concepts and
|
想建立的事情,呃,比如词汇表, 比如所有的东西,概念,
|
16:02
|
then what are all the like actions or like verbs that are going on here and so
|
然后是这里发生的所有类似的动作或 类似的动词,所以
|
16:08
|
I I literally just like listed them all out and then I would go back to Jordan
|
我真的很喜欢把它们全部 列出来 然后我会回到约旦,
|
16:11
|
I'd go back to other people working on it and ask questions like did I get this
|
我会回到其他从事这项工作的人 那里,问一些问题,比如我做
|
16:14
|
right are these definitions right and they go yeah okay no you should really
|
对了吗,这些定义是否正确, 他们说的是的,好的,不,你
|
16:17
|
think about it that way and be like okay well that's not how this and it would go
|
真的应该那样考虑 好吧,这不是这样的,它会
|
16:20
|
back and forth and back and forth and I'd be honing these definitions and
|
来回来回, 我会磨练这些定义,
|
16:24
|
along the way we'd realize like oh this concept and that concept are the
|
一路上我们会意识到,哦, 这个概念和那个概念是
|
16:28
|
same we're going to name them one thing
|
一样的, 我们要命名 他们是一件事
|
16:31
|
instead of two things so unwinding all of this and essentially writing up what
|
而不是两件事,所以展开了 所有这些,基本上写出了
|
16:35
|
ended up being like a reimagining of the component life
|
最终 就像是对组件生命周期的重新构想
|
16:39
|
cycle and therefore sort of the entire front-facing API for react
|
,因此有点像 React 的整个 前端 API
|
16:45
|
and I was very happy to see like incredible enthusiasm around that Jordan
|
,我很高兴看到 难以置信的热情
|
16:48
|
was like oh this is amazing this really clarifies the ideas at that point a
|
乔丹说,哦,这太棒了,这真的 澄清了当时的想法
|
16:52
|
handful of other folks had gotten involved with the project too and then I
|
,其他一些人也 参与了这个项目,然后我
|
16:56
|
spent sort of the next month or so sort of piece by piece folding those into
|
花了大约一个月的时间, 把它们一点一点地折叠
|
17:02
|
place and pretty significantly changing the surface API of react in the process
|
到位,然后 在这个过程中相当显着地改变 了 React 的表面 API,
|
17:07
|
that was I think the first shift from this being a thing that existed mostly
|
我认为这是第一个转变,从 一个主要存在
|
17:13
|
in Jordan's head that other people were playing with to a thing that all of a
|
于 Jordan 头脑中 的东西,其他人正在玩的东西到一个所有人都在玩的东西
|
17:16
|
sudden felt owned by the whole team uh where team here is like a collection of
|
突然感觉整个团队都拥有了 嗯 ,这里的团队就像
|
17:21
|
UI Engineers scattered across Facebook who were sort of bought in on this
|
分散在 Facebook 上的 UI 工程师的集合, 他们有点认同这个
|
17:24
|
Vision who now felt that like we now have the same terminology we can use
|
愿景,他们现在觉得就像我们现在 拥有相同的术语,
|
17:28
|
when someone has a question anyone can jump in and answer it rather than only
|
当有人有问题时我们可以使用 任何人都可以 加入并回答它,而不仅仅是
|
17:32
|
Jordan that was the first big shift [Music]
|
乔丹,这是第一个重大转变 [音乐]
|
17:40
|
one of the first projects um that Greg was used for was the ufi
|
第一个项目, 嗯,格雷格被用于的是
|
17:46
|
the universal feedback interface which is basically the likes comments and
|
ufi 通用反馈界面, 基本上是喜欢的评论和
|
17:52
|
shares at the bottom of each post this was still during Facebook's kind of web
|
底部的分享 每篇文章 都处于
|
17:56
|
era when Facebook on the web was like the sort of Big Driver of Engagement
|
Facebook 的网络时代,当时网络上的 Facebook 就像 是一种参与新闻提要的大驱动力
|
18:00
|
news feed had a billion people hitting it every day
|
,每天都有十亿人点击它,
|
18:04
|
and was massively tuned for performance heavily interactive surface both on the
|
并且在
|
18:10
|
input side of course you're like clicking it to add likes you're typing
|
输入端进行了大规模的性能调整 当然你喜欢 点击它来添加喜欢你正在
|
18:13
|
into it to add comments but also on the receiving side we want comments to come
|
输入它来添加评论但是在 接收方我们希望评论
|
18:16
|
in live so as you're looking at it as a comment comes in we want it to just pop
|
能够实时出现所以当你把它看成一个 com 消息进来了,我们希望它就在
|
18:20
|
up right there and there was this product desire for that interface to
|
那里弹出,这个 产品希望这个界面
|
18:25
|
feel almost like a one-off chat thread and that was so cool at that time and as
|
感觉几乎就像一个一次性的聊天线程 ,这在当时非常酷,当
|
18:32
|
that started to work the second thread was well okay if this can work for this
|
它开始工作时,第二个 线程很好 好吧,如果这可以用于这种
|
18:36
|
really isolated sense of messaging then what if it could work for messaging as a
|
真正孤立的消息传递, 那么如果它可以用于整个消息传递又会怎样
|
18:40
|
whole and this was another really complicated
|
,这是另一个非常复杂
|
18:44
|
and fraught with bug surface area that was when a lot of the ideas in react
|
且充满错误的表面积, 当时反应中的许多想法
|
18:49
|
congealed the jsx syntax was introduced and some of the ideas about how to work
|
凝结了 jsx 语法是 介绍了 一些关于如何
|
18:55
|
with data and react sort of were clarified a couple of our UI Engineers
|
处理数据和做出反应的想法,如果我没记错的话 ,我们的几个 UI 工程师
|
18:59
|
along with the messaging team if I remember correctly Jing Chen was sort of
|
和消息传递团队得到了澄清 Jing Chen
|
19:04
|
the champion of this project realized that we needed a completely new way to
|
是这个项目的冠军, 意识到我们需要一个全新的
|
19:07
|
think about State too
|
考虑 State 的方式也是
|
19:12
|
so my name is John um and I'm a software engineer and the
|
如此,所以我叫 John um,我是一名软件工程师
|
19:15
|
product infrastructure team at Facebook is an application architecture designed
|
,Facebook 的产品基础架构团队 是一个围绕 React 的单向原则设计的应用程序架构
|
19:20
|
around react's principle of unidirectional data flow paired with
|
onal data flow 与
|
19:25
|
flux react could go beyond the view layer to model entire applications this
|
flux react 相结合可以超越视图 层来对整个应用程序进行建模,这种
|
19:30
|
shift in how to think about State paired very well with how react was thinking
|
对 State 的思考方式的转变 与 react 对更新 UI 的思考方式很好地结合在一起,
|
19:34
|
about updating UI and ended up being sort of the next chapter for how to
|
并最终成为 下一章的
|
19:39
|
think about react being more than just how do you model complicated UI but how
|
思考方式 React 不仅仅是 如何为复杂的 UI 建模,而是如何为
|
19:45
|
do you model sufficiently complicated applications like this was something
|
足够复杂的 应用程序建模,就像
|
19:48
|
that expanded the full screen and multiple touch points and had navigation
|
这样扩展了全屏和 多个触摸点并可以导航
|
19:51
|
to it and it allowed us to step into that next chapter I remember asking Jing
|
到它,它让我们 进入下一章我记得问过 Jing
|
19:56
|
like hey how's it going with this react stuff you know do you think this is
|
说,嘿,这个 React 东西怎么样了, 你知道吗,你认为这
|
20:00
|
going to work she's like yeah this is pretty good I'm pretty sure it's gonna
|
会起作用吗,她就像是的,这 很好,我很确定它会
|
20:03
|
work that was when I became more convinced
|
起作用,那时我变得更加 确信
|
20:07
|
[Music] thank you
|
[音乐] 谢谢
|
20:17
|
[Music]
|
[音乐]
|
20:21
|
Instagram joined Facebook in 2012. I think we had started calling it react by
|
Instagram 于 2012 年加入 Facebook。我 想那时我们已经开始称它为 React,
|
20:27
|
then and there was a couple Engineers from Facebook that went to join
|
Facebook 的几位工程师加入
|
20:30
|
Instagram to help them expand the product offering at the time Instagram
|
Instagram 以帮助他们扩展 产品 ct 当时提供的 Instagram
|
20:35
|
was just an iOS and an Android app and they wanted to have a web presence as
|
只是一个 iOS 和一个 Android 应用程序, 他们希望在网络上
|
20:39
|
well foreign
|
也有 外国
|
20:43
|
[Music] 11 years in San Francisco it was a
|
[音乐] 在旧金山 11 年,这
|
20:49
|
really fun made a lot of great friends but the the change of pace out in the in
|
真的很有趣,结识了很多好朋友, 但节奏发生了变化
|
20:54
|
the countryside is is great um it's just very peaceful and nice
|
在乡下是很棒的, 嗯,非常安静和美好
|
20:59
|
I went to Facebook straight at school I studied computer science undergrad and I
|
我在学校直接去了 Facebook 我 本科学习计算机科学并
|
21:03
|
got a master's degree Facebook was believe it or not the like cool place to
|
获得了硕士学位 无论你相信与否,Facebook 都是
|
21:08
|
work back in 2010 it was like this great product that like everybody used it was
|
2010 年工作的好地方它 就像这个很棒的 产品,每个人都在使用它,它
|
21:13
|
super cool on college campuses and I was really excited to work there
|
在大学校园里非常酷,我 很高兴能在那里工作,在
|
21:19
|
foreign
|
国外
|
21:23
|
I joined Facebook video the pitch was we're the third largest
|
我加入了 Facebook 视频宣传我们是
|
21:29
|
video site in the world after YouTube and Dailymotion I think and there was
|
继 YouTube 和 Dailymotion 之后的世界第三大视频网站, 我认为和
|
21:35
|
like one engineer working on it and like you get to be engineer number two and I
|
好像有一个工程师在做这件事,就像 你成为二号工程师
|
21:38
|
was like that sounds pretty cool we worked really closely with the iOS
|
一样,我觉得这听起来很酷,我们 与
|
21:41
|
photos team in the Android Photos team and we were building an Instagram killer
|
Android Photos 团队中的 iOS photos 团队密切合作 ,我们是 bui 一个 Instagram 杀手
|
21:44
|
and nobody remembers this but it was called Facebook Camera
|
,没人记得这个,但它被 称为 Facebook Camera
|
21:48
|
one morning the photo scene got called into the office early they said like be
|
一天早上,照片场景很 早就被叫到办公室,他们说
|
21:52
|
at HQ at 8am and then the VP of engineering was like hey we bought
|
早上 8 点在总部,然后工程副总裁说, 嘿,我们买了
|
21:56
|
Instagram they're your new co-workers now and these were like our people that
|
Instagram,他们是你的新人 现在是同事,这些人就像我们的人,
|
21:59
|
they were like our Fierce competitors you know we looked at them a little bit
|
他们就像我们的激烈竞争对手, 你知道我们有点把他们
|
22:03
|
as the enemy I'm sure they looked at us a little bit as the enemy they were a
|
当作敌人,我敢肯定他们有点把我们 当作敌人,他们是一个
|
22:07
|
really small team at the time they had their core fundamentals really nailed
|
非常小的团队 他们真正确定了核心基础知识的时间,
|
22:10
|
but there was a lot of stuff they needed to figure out that they did not have the
|
但是他们需要弄清楚很多东西 ,而他们没有
|
22:15
|
team to figure out along with their own and a big one of those was what does it
|
团队来弄清楚自己的东西 ,其中很大的一个就是
|
22:19
|
mean for Instagram to be on the web the web experience is really important for
|
Instagram 意味着什么 在 web 上, web 体验对于
|
22:22
|
driving growth and so this was a pretty important priority and so me and this
|
推动增长非常重要,所以这是一个非常 重要的优先事项,所以我和这位
|
22:25
|
Designer Michael lumens started building all the web stuff and that's kind of
|
设计师 Michael lumens 开始构建 所有 web 的东西,这
|
22:30
|
where react enters the pictures when we started
|
就是 react 进入图片的地方 wh 然后我们开始
|
22:34
|
developing this website [Music]
|
开发这个网站 [音乐],
|
22:42
|
we were given this mandate to use client rendering so I went to the product
|
我们被授权使用客户端 渲染,所以我去了 Facebook 的产品
|
22:48
|
infrastructure team at Facebook which was run by like Tom Aquino product
|
基础架构团队, 该团队由 Tom Aquino 运营,产品
|
22:54
|
infrastructure's role was to support any team that needed help
|
基础架构的角色是支持任何 需要帮助的团队,
|
22:59
|
and do it in a way that you know your key indicators of success are going to
|
并在 你知道你 成功的关键指标的一种方式
|
23:04
|
be other teams saying yeah that really helped us you go to them and you kind of
|
是其他团队说是的,这真的 帮助了我们你去他们那里,你有点
|
23:08
|
consult the Council of Elders and they they give you their recommendation and I
|
咨询长老会, 他们给你他们的建议,我
|
23:14
|
said hey we need to do client rendering what do we do and the recommendation at
|
说嘿我们需要做 客户端渲染 我们做什么,当时的建议
|
23:18
|
the time was yeah we don't know we've got like three different things that
|
是是的,我们不知道我们 正在处理三个不同的东西,
|
23:21
|
we're working on you should go try one we had uh something called bolt Js
|
你应该去试试一个, 我们有一个叫做 bolt Js 的东西,
|
23:28
|
there was a second thing called jshtml and then there was this this thing
|
还有第二个 叫做 jshtml ,然后有一个
|
23:35
|
called react you wouldn't spoke to Jordan about using
|
叫做 react 的东西, 你不会和 Jordan 谈论使用 React,
|
23:39
|
react and he came and talked to me about potentially using both for it but I
|
他来和我谈论 可能同时使用它,但我
|
23:43
|
think he really really liked Jordan's ideas around functional programming the
|
认为他真的很喜欢 Jordan 的 想法 围绕函数式编程,
|
23:48
|
conceptual model of react was like crazy Innovative and it really really spoke to
|
React 的概念模型就像是疯狂的 创新,它真的告诉了
|
23:52
|
me my background was in distributed systems I was not somebody that loved
|
我我的背景是在分布式 系统中,我不是一个喜欢
|
23:58
|
front end or thought front end was like doing things well so the fact that react
|
前端的人,也不认为前端就像把 事情做好,所以 React
|
24:02
|
came in with like a totally Fresh Approach and like didn't really care too
|
出现了 就像一个完全新鲜的 方法,并
|
24:06
|
much about existing best practices like I was I was on board with that so while
|
不太关心现有的最佳实践,就像 我在船上一样,所以当
|
24:11
|
I had evaluated all three I really just dove in on react to build a prototype
|
我评估了所有这三个方法时,我真的只是 投入了反应,首先构建了一个原型
|
24:14
|
first and that ended up shipping on instagram.com which was the second use
|
,结果是 在 instagram.com 上发布,这是有史以来第二次
|
24:21
|
of of reactant production ever and the first use of building a full application
|
使用反应物生产,也是 第一次使用端到端构建完整的应用程序
|
24:25
|
end to end in react
|
,
|
24:30
|
when I chose react for Instagram it was not well known within Facebook
|
当我为 Instagram 选择 React 时, 它在 Facebook 中并不为人所知
|
24:34
|
and it was this like kind of crazy science experiment
|
,这有点疯狂 科学实验
|
24:39
|
not even close by the time Instagram was and you know Pete was started playing
|
在 Instagram 出现时甚至还没有结束 ,你知道皮特开始
|
24:45
|
with it uh it was significantly better than it was in the early early stage uh
|
玩它,呃, 它比早期阶段好得多,呃,
|
24:50
|
but it still needed a ton of iteration we had to take this thing that was very
|
但它仍然 我需要大量的迭代, 我们不得不接受这个
|
24:53
|
much tied to Facebook's infrastructure which back then was a big giant PHP
|
与 Facebook 的基础设施非常相关的东西 ,当时它是一个巨大的 PHP
|
24:58
|
application and I had to go get that working in a Django application which is
|
应用程序,我不得不 让它在 Django 应用程序中工作,这是
|
25:02
|
a totally different system and what was key was not doing that once but making
|
一个完全不同的系统,什么是 关键不是只做一次,而是让它
|
25:07
|
that a repeatable process and and making sure that that pipeline didn't break I
|
成为一个可重复的过程,并 确保管道不会中断
|
25:12
|
think he hit a number of really interesting problems along the way which
|
-
|
25:15
|
quite proved the fact that react was not quite ready for that scale and along the
|
一路上,
|
25:21
|
way Pete and the team that he was working with into that building a lot of
|
Pete 和他的 团队正在构建许多
|
25:23
|
really interesting things [Music]
|
非常有趣的东西 [音乐]
|
25:28
|
foreign
|
国外,
|
25:50
|
some of these products ended up being fairly successful there were relatively
|
其中一些产品最终 相当成功,在相对
|
25:55
|
short time to to deliver a relatively high quality product that show that this
|
较短的时间内交付了一个相对 高质量的产品,这表明 这个
|
26:01
|
model could work and it was not just that but people liked developing using
|
模型可以工作,不仅 如此,而且人们喜欢使用
|
26:06
|
it and so that kind of spread and took off and especially if you got more and
|
它进行开发,所以这种模式传播开 来,尤其是当你得到越来越
|
26:12
|
more investment they came clear that this was
|
多的投资时 他们很清楚, 这
|
26:15
|
what we wanted to use and it was really ads that was kind of using Baltimore it
|
就是我们想要使用的东西,它确实是 广告,它在某种程度上使用了巴尔的摩,它
|
26:21
|
had a higher level investment more people working in that code base that
|
有更高层次的投资,更多的 人在
|
26:27
|
already knew it and more components so it was a harder shift to make
|
已经知道它的代码库和更多的组件中工作, 所以它更难转向
|
26:35
|
the ads team just before I joined ads from the mobile team had done a full
|
在我加入广告团队之前让广告团队
|
26:39
|
rewrite of the ads creation flow into bolt which took them I think upwards of
|
将广告创建流程完全重写为 bolt,我认为这花了他们六个月以上的
|
26:44
|
six months replacing a very old PHP application with what time was
|
时间 用当时被
|
26:50
|
considered a very modern JavaScript application but at the same time react
|
认为是非常现代的 JavaScript 应用程序替换了一个非常旧的 PHP 应用程序 但与此同时,
|
26:53
|
was also now actually deployed for real on Facebook and had a team that was
|
React 现在也实际部署 在 Facebook 上,并围绕它组建了一个团队,
|
26:59
|
forming around it so we now had two viable Frameworks that were both live on
|
所以我们现在有两个 可行的框架,它们都在
|
27:03
|
Facebook both solving real problems we shouldn't have two especially two that
|
Facebook 上运行,都解决了实际问题,我们 不应该有两个,尤其是两个
|
27:09
|
were similar similar enough to confuse people like if you looked at a code
|
相似到足以让人们感到困惑, 就像如果您查看代码,
|
27:12
|
their code almost looked identical but that worked really differently it would
|
他们的代码看起来几乎相同, 但工作方式
|
27:16
|
actually be an absolute nightmare if you had to work in both so we had to decide
|
却完全不同,如果 你 必须在两者中工作,所以我们必须
|
27:20
|
which which to use [Music]
|
决定使用哪个 [音乐
|
27:26
|
a lot of this was ended up being a conversation between myself and Jordan
|
] 很多这最终成为 我和乔丹之间的对话,
|
27:30
|
we did an evaluation of boredom a lot of performance-based stuff and trying to
|
我们对无聊进行了评估,很多基于 性能的东西并试图
|
27:36
|
figure out where the edge cases were on the pro side of react obviously there's
|
弄清楚 边缘情况在 反应的专业方面显然有
|
27:39
|
all the things that we know now it handles complexity way way more even
|
我们现在知道的所有事情它 处理复杂性的方式更多即使
|
27:44
|
when writing the as creation flow in bold we had already hit one place that
|
在用粗体编写 as 创建流程时 我们已经达到了一个地方,
|
27:48
|
you just could not do in Bolt without writing spaghetti code and you can do in
|
如果没有,你在 Bolt 中无法做到 编写意大利面条代码,你可以
|
27:52
|
react so we knew in the future even if it was only 10 of the experiences we
|
做出反应,所以我们知道将来即使 我们正在构建的体验中只有 10 个,
|
27:57
|
were building we're going to run into this problem again now it might only be
|
我们也会再次遇到 这个问题,现在它可能只有
|
28:00
|
10 unmaintainable but as you scale that across a company that is growing rapidly
|
10 个无法维护,但随着你扩展它 一家发展迅速的公司,
|
28:04
|
this becomes an absolute mess the cons of it on the other hand were that react
|
这变得一团糟 另一方面,它的缺点是
|
28:09
|
in a lot of ways was not battle tested yet there's a lot of things that simply
|
在很多方面的反应都没有经过实战测试, 但有很多事情
|
28:12
|
didn't work in react it couldn't handle forms they'd never done a text box and
|
在它无法处理的反应中根本不起作用 形式 他们从来没有做过文本框,
|
28:16
|
there's a lot of complexities around handing awkward form controls like radio
|
处理单选按钮等笨拙的表单控件有很多复杂性
|
28:19
|
buttons and so on that it messed up just performance issues where it would try
|
,它搞砸了 性能问题,它会
|
28:24
|
and re-render large blocks so they hadn't had to do all of the performance
|
尝试重新渲染大块,所以 他们不必做
|
28:28
|
improvements that obviously exist now on the organizational side that the other
|
现在在组织方面明显存在的所有性能改进, 另一个
|
28:33
|
con was that we had just done the six-month rewrite in both
|
缺点是我们刚刚完成了 为期六个月的重写,
|
28:37
|
um Facebook had done an IPO recently and the stock had
|
嗯 Facebook 最近进行了 IPO,
|
28:42
|
since IPO Facebook wasn't making enough money and
|
自 IPO 以来股票 一直没有 Facebook 没有赚到足够的钱
|
28:45
|
so the ads team is the team that makes you know that's where the money starts
|
所以广告团队是让你知道的团队,
|
28:48
|
if we stop for four months we're gonna have to tell everybody
|
如果我们停止四个月,那是
|
28:53
|
sorry no money for you so there was a lot of conversation back and forth about
|
钱开始
|
28:56
|
all this it was got very difficult initially a lot of the engineers that
|
的地方 最初非常困难, 很多使用螺栓的工程师,
|
29:00
|
used bolt including Shane realized just what you said like look we've invested
|
包括 Shane 都 意识到你所说的,就像我们
|
29:04
|
so much in this thing and it's it's really worked for all this stuff
|
在这件事上投入了很多,它 确实对所有这些东西
|
29:07
|
certainly we can work through the next set of challenges we're having so
|
都有效,我们当然可以努力 尽管我们面临着下一 组挑战,所以
|
29:10
|
initially there was opposition to react coming in and saying like how are you
|
最初有人反对做出反应 ,说你
|
29:14
|
gonna you know this new thing that's not even proven yet this is our business
|
怎么知道这个甚至还没有被证实的新事物, 但这是我们的业务,
|
29:18
|
this is really important when Jordan and I were working through it was definitely
|
这在乔丹和我工作时非常重要 通过它肯定是
|
29:22
|
uh some emotions uh there um and mostly I think it came from uh
|
呃一些情绪呃那里 嗯而且主要是我认为它来自呃
|
29:27
|
each of us having a lack of context of where the other one was coming from so I
|
我们每个人都缺乏 另一个人来自哪里的背景所以我
|
29:30
|
think there was a lot of talking past each other in the end Mike shroffer
|
认为最后有很多 相互交谈迈克 shroffer
|
29:34
|
stepped in and said look make the right technical decision make
|
介入并说, 做出正确的技术决策,
|
29:38
|
the right long-term decision and whatever it is
|
做出正确的长期决策 ,无论
|
29:43
|
you know I'll back you up but if you need to pause product development for
|
你知道什么,我都会支持你,但如果你 需要暂停产品开发
|
29:47
|
four months you can we all kind of just got in rooms and you know worked through
|
四个月,我们都可以 参与进来 房间,你知道经历了
|
29:52
|
all these things and got everything out in the air of you know what's a
|
所有这些事情,把一切都弄清楚 了,你知道什么是
|
29:55
|
technical problem what's an organization problem what's a financial problem uh
|
技术问题,什么是组织 问题,什么是财务问题,嗯
|
29:59
|
and uh kind of a computer understanding eventually
|
,嗯, 最终计算机的理解
|
30:03
|
um through uh through uh with lots and lots of coffee
|
嗯, 嗯,嗯,喝了很多很多咖啡
|
30:06
|
that the react was the right way to go but um it was not a straight line at all
|
,反应是正确的方式, 但嗯,这根本不是一条直线,
|
30:11
|
he ultimately was one of the biggest proponents of decision makers and ads
|
他最终是决策者和广告的最大支持者之一,在
|
30:16
|
switching all over everything to react and that doesn't happen in most
|
所有事情上都进行了反应 , 这在大多数
|
30:21
|
companies and most companies if that's your baby project you try to undermine
|
公司和大多数公司都不会发生,如果那是 你的婴儿项目,你会试图
|
30:25
|
the other the the upstart because you're you know you're really defensive over
|
破坏另一个暴发户,因为 你知道你真的对
|
30:29
|
your own thing that was not the vibe at Facebook at the time and I think that
|
自己的事情进行防御,而这在当时的 Facebook 并不流行 我认为
|
30:33
|
Shane in particular really exemplified that
|
尤其是 Shane 确实 证明了
|
30:38
|
there was still a lot of work to do on the ads creation flow tensions were
|
在广告创作流程上还有很多工作要做
|
30:43
|
mounting and the team was stuck here again to get them unstuck is Jing Chen
|
-
|
30:50
|
we'd have this thorny management issue and a lot of people disagreeing with
|
-
|
30:54
|
each other up and down the management chain on both sides of you know in ads
|
在广告
|
30:57
|
and in this product infrastructure group those building react and we'd send Jing
|
和这个产品基础设施组
|
31:01
|
in to talk to the engineers and everyone come out like patting each other on the
|
中,很多人在管理链上上下下彼此意见不一 每个 人都喜欢互相拍拍对方的
|
31:05
|
back full agreement a plan to move forward so she's great at building a
|
背完全同意一个前进的计划 所以她很擅长建立
|
31:09
|
consensus because she's able to drill into the important technical details
|
共识因为她能够深入 研究重要的技术细节
|
31:14
|
identify them really quickly and and get everyone talking about the same thing
|
真正快速地识别它们并让 每个人都谈论同样的事情
|
31:17
|
she obviously helped both build the product but she also made sure that
|
她显然 帮助双方构建 产品,但她也确保
|
31:21
|
every time we found a bug in react or just something that didn't handle yet
|
每次我们发现 React 中的错误或 只是无法处理的问题时,
|
31:25
|
she either stepped back from products and then just fixed the framework or she
|
她要么退出产品 然后修复框架,要么
|
31:30
|
went back to the team and said look we need two |