React藏在旧笔记本的散热缝里

去年冬天整理家里储藏室的旧纸箱,我翻出了我哥2017年买的那台MacBook Air。键盘上的W键漆都磨掉了,露出下面银灰色的金属底,D键翘着一点边,按下去的时候会发出轻微的咔哒声,散热口摸上去还留着似有若无的、七八年前夏天熬夜攒下的温度。

开机密码是我家老狗的生日,输进去转了三圈才进桌面。没有弹窗广告,没有乱七八糟的安装软件,整个桌面就一个文件夹,名字打在浅灰色的图标下面:react-demo-2016。

键盘缝里的commit记录

点开文件夹,里面的文件按创建时间排得整整齐齐,最早的那个文档建在2016年3月12号。那天我高三第一次模考,数学考了58分,在学校被班主任留到下午六点才回家。推开门就闻见阁楼上传来的风扇嗡嗡声,我哥盘腿坐在凉席上,笔记本放在摞起来的两本高中数学教辅上,屏幕上跳着满屏的代码。

他那天没去上班。跟我说是要赶个东西,我给他带的蛋炒饭放在旁边的小凳子上,饭粒都凉透了他也没动两筷子。我凑过去看他的屏幕,绿色的光标在代码行里晃来晃去,他嘴里念叨着什么“改了state页面怎么没反应”,手在键盘上敲得飞快,敲着敲着突然皱起眉,把手里捏的半瓶冰可乐捏得凹进去一块。

后来我才知道,那时候React刚在国内技术圈冒头,能搜到的中文资料少得可怜,他翻的还是GitHub上网友自发fork的翻译版,连“单向数据流”都被翻成了“单方向数据流水”。他照着文档改了三天代码,直到把文档翻到最底下的评论区,才看见有人留了一句“翻译错了,大家别跟着走弯路”。他说当时气得差点把电脑合上。

2016年React官方文档旧版截图
2016年React官方文档旧版截图

那台电脑的散热口因为常年被橘子皮、薯片渣堵着,夏天跑代码的时候风扇转得像小型直升机,嗡嗡的声音顺着楼梯飘到一楼,楼下的张阿姨还上来敲过门,以为我们家在偷偷装修。我哥每次都笑着给人开门,说“对不起啊,在家赶点作业”。

外婆的菜谱网站

我一直以为他当时熬了那么久写的是什么商业项目,直到去年我把那个文件夹里的代码翻完才发现,根本不是。他花了三周时间写的那个React应用,是给我外婆做的菜谱查询网站。

外婆那几年因为糖尿病,被医生嘱咐要少糖少油,之前的菜谱都写在一个硬皮笔记本上,纸页因为常年翻,边角都卷得像晒干的菜叶子。每次亲戚来问哪个菜适合糖尿病人吃,外婆就戴着老花镜,把本子翻得哗啦响,有时候翻十分钟都找不到想要的那页,急得手都有点抖。我哥之前试着用纯HTML写过两个静态页面,把能找到的二十多个菜谱都贴上去,结果上次加“少糖蒸南瓜”那道菜的时候,他忘了改侧边栏的导航链接,外婆拿着手机戳了十分钟,点进去全是404的白页面。那天他坐在阁楼的凉席上,盯着白了的屏幕看了好久,说这个方法太笨了。

后来他刷到一个国外博主的技术博客,说用React写小工具特别省事,只要把数据存在单独的文件里,改个菜的做法、换个食材的用量,根本不用去翻整个页面的结构,页面会自己跟着变。他当时就抱着试试的心态,建了那个叫react-demo-2016的文件夹。

**他没有用任何复杂的第三方组件库,所有的页面都是自己手写的,连样式都没花多少时间调,就是特意把字调到了最大号,米黄色的背景不晃眼睛,每道菜下面都标着单次建议的食用量**。网站上线那天是2016年的母亲节,他把链接通过微信发给外婆,我站在旁边教外婆怎么点进去。页面加载出来的那一刻,外婆举着老花镜凑到屏幕跟前,看见他蹲在厨房拍的那盘清炒西兰花,笑得眼角的皱纹都挤在了一起。

手写React组件实现的家庭菜谱网站旧页面截图
手写React组件实现的家庭菜谱网站旧页面截图

那个网站其实只跑了三年。因为当时他用的是免费的个人服务器,后来服务商停止了服务,链接一打开就是空白页。外婆后来还是翻她那个硬皮笔记本,有时候吃饭的时候还会念叨,说之前那个手机上的菜谱怎么没了,字那么大,看着不累。我哥那几年换了好几个工作,从十几个人的小创业公司到几百人的互联网大厂,做过的项目从电商前台到内部管理后台,见过的React版本从15到18,用过的组件库一茬接一茬,但是他说,他写过的几十万行代码里,最有成就感的还是那个只跑了三年的菜谱网站。

散热缝里的旧橘子皮

那天整理电脑的时候,我把翘边的D键抠开,掉出来半片干得发脆的橘子皮,还有两张折得皱巴巴的小纸条。一张是我当年的模考成绩单,数学58分的那一张,我哥当时在背面写了一行字:下次数学多考10分,请你吃楼下的炸鸡。另一张是他自己的笔记,字歪歪扭扭的:“今天搞懂了为什么setState是异步的,原来不是bug,是设计。”

我捏着那半片干橘子皮,突然就想起2016年的那个夏天。阁楼里没有空调,落地扇对着笔记本吹,吹得他的白T恤衣角飘起来,风扇转动的声音混着笔记本的嗡嗡声,他敲着代码跟我说,这个东西以后会让很多人省力气。我当时还笑他,说你一个刚毕业的学生,别吹那么大。

后来React真的成了前端圈最常用的开发工具,行业里的人聊起它的时候,总要说它的虚拟DOM性能有多好,生态有多完善,多少创业公司靠它快速做出了产品。但是我哥说,他当初选它,根本不是因为那些写在技术博客上的高大上理由。就是因为它能让他少写几百行重复的DOM操作代码,能让外婆不用翻十分钟硬皮本找菜谱。

很多技术的传播从来都不是靠行业大会上的keynote,不是靠百万粉丝的博主带货。就是靠一个个像我哥这样的普通人,在出租屋的凉席上,对着卡了橘子皮的旧电脑,写出第一个能解决自己家小麻烦的demo,然后把这个方法传给身边的人。

去年我哥自己开了个小小的工作室,还是习惯用React给周边的社区做小工具。比如小区的养老餐预定页面,给独居老人做的一键呼叫网页端,他说现在写代码比当年快多了,组件库一拉,半天就能做出一个能用的页面,但是他还是会特意把每个按钮的字号调大两号,就像当年给外婆做菜谱网站的时候那样。

我把那半片干橘子皮放在家里的旧相框旁边,相框里是外婆2016年站在厨房门口,举着手机看那个菜谱网站的照片,阳光刚好落在她的老花镜上。刚才我给我哥发消息,说我翻到他那台旧电脑了。他秒回,说“哦对,那个D键下面的橘子皮,是我当时赶代码的时候吃的,橘子太酸,酸得我掉了两滴眼泪在键盘上,你有没有看见”。

我盯着屏幕笑了半天。

作者|大讲堂

排版|大讲堂

审核|知知

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:React藏在旧笔记本的散热缝里
文章链接:https://m.lfdjt.com/info_23_28317.html