染陌的2021年度總結——我在淘寶做架構

寫在前面

這幾天閒暇時候刷知乎掘金時,發現時間線上朋友們都開始寫年終總結了,才反應過來一年又到了頭。

去年由於太忙()沒有寫,今年還是得按照慣例補上。

畢業到現在也有六年多了,站着快要 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!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章