写在前面
这几天闲暇时候刷知乎掘金时,发现时间线上朋友们都开始写年终总结了,才反应过来一年又到了头。
去年由于太忙(懒)没有写,今年还是得按照惯例补上。
毕业到现在也有六年多了,站着快要 30 岁的节骨眼上去回看过去的自己,得失参半。这一路走来不断地尝试各种领域,移动端中后台 IoT 一个都不少,写过业务也做过架构,在 C++、JS 、Dart 等各种语言之间反复横跳,也经常记混每种语言的写法。我这一年还是都在做技术的事情,也因为去年工作内容的转换基本上都在 Github 上做一些事情。
我也越来越喜欢自己的工作,于公司,还是要更多探索业务的价值与创新,于社区,我期望能够把技术做得更纯粹一些。
热爱技术,期望能从技术中收获不一样的自己,不断地拓宽自己的边界。
我想,这就是一直都不变的少年气吧。
北海 Kraken
转岗到淘宝快两年了,基本都在做 北海 Kraken 相关的事情,平时研究的方向更多的是 Webkit、Flutter 以及 W3C 标准。
在前端卷了那么多年,这总算是卷到浏览器里去了。
Kraken 实现了浏览器的子集,站在 “W3C 标准”这个巨人肩膀上可以低成本接入已有的庞大的大前端生态,减少用户的理解成本,让用户觉得它就是他们所熟悉的浏览器。但是作为渲染引擎,与浏览器的相似度越来越高的同时,Kraken 还是需要更多地去定义与浏览器的差异性,如何在取其精华的同时,也去解决一些在端上表现并不好的问题。
而最近开发的功能——Flutter Widget 与 Kraken 混合渲染(后续会产出相关文章),其实也将 Kraken 的生态进一步扩大,同时也大大降低了开发者定制渲染引擎的门槛。在浏览器作为前端开发者一个卡脖子技术基础上,通过更强大的插件能力定制化能力,让前端开发者可以用非常低的成本把优化手段直接下沉到 Render Object 层,解决很多以前在应用层处理起来非常棘手的性能问题。同时,我也开始更多地去思考与探索大前端(前端+客户端)在未来的开发(协作)模式应该是怎么样的,我们期望将前端的研发效率+动态性与客户端的高性能结合在一起,两者互取所长,并且站在标准化的角度,不需要额外的理解与开发对接成本,形成一套大前端的技术体系。
关于 Kraken 的实践与思考还有很多,开源也快一周年了,但 Kraken 还是刚起步的阶段,这块也是我们坚定不移一直投入去做的事情,期望它会越来越好。
W3C 标准
由于 Kraken 的关系,今年我也花了更多的时间去研究 W3C 标准,并且也成为了W3C 组织 CSS 工作组 的一员。
在 Kraken 开发过程中,我们可以从业务场景去抽象共性问题,把这些问题提取出来并抽象出基础能力,用开发浏览器的思维去开发这些“W3C 超集”的能力,然后再将这部分能力反馈到 W3C 中去,期望可以通过探索与定义新的问题,让整个社区变得更好。比如我们提出 display: sliver 的特性去解决场列表场景下动态回收的能力,通过定义的手势能力去优化低端场景下的复杂交互的性能问题等等。
未来也期望自己可以更多地参与到 W3C 标准中去,为社区贡献自己的一份力量。
社区
这两年我在社区的声音明显没有以前多了,但是还是沉淀了一些分享出来。
5月的时候在 VueConf 上分享了《用 Vue.js 构建一个高性能 Flutter 应用》,美中不足的是这次的分享最前面似乎过多篇幅“不够技术”,后来我也意识到了这点,之后去其他场合的分享我都会 PPT 做得更加技术一些,期望我的分享还是更技术一些更纯粹一些。
Kraken 作为一款 W3C 标准的渲染引擎,上层支持不同的开发者生态也是 Kraken 本身的命题之一。既然选择了开源,就要通过拥抱社区拥抱标准的方式把技术体系建设好,定义好开源产品的职责与边界,把一个领域问题解决好,跟社区的生态一起建设与成长。既要也要还要的大而全方案,往往会因为什么都要自己做而导致无法持续维护,最终只会把成本转嫁到用户身上。
今年我也通过实现(或补齐)各种基础能力让 Vue、Vue-router 等可以在 Kraken 上非常好地运行起来,同时也解决了不少在 Vue 上的兼容性问题。因为目前已经把引擎替换成了 QuickJS,接下来打算抽时间支持一下 ESM 等特性,打造更好的开发者体验(当然,我定义的好的开发者体验就是跟浏览器一致,无学习成本并且能用到最前沿的能力)。
这里得手动感谢尤大以及波波的支持~
以及讲师们的合影,这次分享收获还是很大的,认识了不少志同道合的小伙伴~
以及八月初的时候飞到了深圳,在 全球开源技术峰会 GOTC 上也分享了一个 topic。
这次的分享吸取了两次的教训,讲得更技术了一些,让我感觉很舒服。
同样的,也整理成了一篇文章,相信期望了解 Kraken 实现原理的小伙伴可以通过这篇文章了解 Kraken 更多的技术细节——《深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理》。
工作与生活
前两年因为运动过少等原因,体检时脂肪肝也偷偷找上了门,这才感觉到健康的重要性。
淘宝这边有非常多志同道合的小伙伴,我们会一起打篮球、游泳以及去健身房锻炼。最近一年保持了每周至少锻炼三次的习惯,我不是一个朋友圈健身达人,但是我在偷偷地卷(狗头)。立个 flag,明年体检绝不能再有脂肪肝!
在淘宝这工作还是非常开心的,有非常多的活动丰富工作之外的生活,劳逸结合才能更好地卷!
比如篮球赛、王者荣耀大赛(我们是冠军 =。=),以及四驱车比赛等等。
未来
我不太立 flag,我喜欢自己偷偷地卷,明年再跟你们说我一年卷了什么(狗头)。
那好吧。
你好 2022,加油 2022!