如何評價抖音前端開源的 Semi Design ?

Peter譚老師發表於2021-10-28

開頭

我是Peter

抖音系企業應用設計系統 Semi Design 開源了,這是我今天聽到最大的訊息,於是晚上回家趕緊去看了看

開啟知乎,果然跟我想的一樣,第一件事肯定有人否定這個開源的庫,是基於別人的開源庫改造而來

甚至有人會覺得,Ant-Design跟semi-design基本可以說完全一致,是不是完全的KPI專案?

不得不說的,什麼是”核心技術“

其實真正的核心技術,少而又少(特別是國內相對於國外來說),可以說百分90的程式設計師都是在找資源來完成、解決問題(找輪子)

我在教一些人學習前端的時候,我會告訴他,你要明白,你出了問題,第一時間應該去找業內已經有的解決方案,然後去找一個最適合你現狀的方案用起來

只有那不到百分10的程式設計師會去設計、制定業內的一個標準,提供輪子。

例如:

babel-import-plugin

And-designSemi-design以及我在公司研發的元件庫,都是用的它。

那我們其實都是認可它的這套標準,規則。很適合我們元件庫的建設,所以三者都採用了這種方式去做。

那麼這個外掛的自動轉換成按需載入的那幾行核心程式碼,就算是一個核心技術。很多元件庫都依賴了它,都遵循它的設計規則來實現按需載入

核心技術少而又少,這也是我們國內內卷化的一個真正原因

回到semi-design,能不能用?

當然可以用,都說了是企業級的。就類似於兩臺車,都是可以開的,都是豪華知名品牌的C級別轎車,那他們都不會有明顯的致命弱點,區別是可能區別在於你更喜歡誰的外觀,或者某一個方面的特質,例如底盤、操控?還是內飾的奢華程度,或者是勞斯萊斯的小金人吸引了你。

我對比了semi-designant-design兩者的Table元件,他們的props欄位都基本上差不多,這也是為了讓大家更友好的切換使用。

如何看待semi-design?

是不是KPI專案,這個我不好說

但是能確定的一個點是,即便是基於ant-design的原始碼進行改造封裝,然後開源(前提是:是否符合對應開源協議,這也是軟體開源的魅力),在這個過程中,參與這項開源工作的人,他們的提升是巨大的

真正做一個事情,遠比想象的更困難,特別是深度參與的時候,會對自己有一個比較全面的提升,例如:為什麼會這樣設計元件庫的打包輸出?原來是為了配合babel-import-plugin來進行無感知的按需載入

那麼babel-import-plugin這個外掛原理是什麼呢?得去了解下,哦,原來是根據配置做了一個轉化~

那麼你可能下次會設計出自己的一個另外的按需引入外掛,適配你自己的一個新的場景。

這,就是做開源的意義,只要它是符合開源的協議,即便是基於別人的封裝,那麼也會對參與人員有一個大幅的能力提升,同時提升團隊的知名度等

我們應該怎麼做

做個人吧,別上來就噴,有本事你也去基於semi-design原始碼做一套mesi-design,作為一個普通前端開發,我們應該去了解semi-design的設計上跟ant-design有沒有什麼區別?比如可以去看看它的原始碼,瞭解和跟上業內的變化。這種並不像webpack5和vite有本質上區別,根據喜好而定。

另外大家要注意的一個點是,位元組跳動的力量不容忽視,它在我看來:相對於其他幾個BATJ公司來說,現在還是處於快速發展期,以後開源的東西也會越來越多,但是質量和長期發展的穩定性需要大家用時間來鑑定。

github:https://github.com/DouyinFE/s...

結尾

這幾天生寶寶了,做爸爸了,寫文章時間最近會相對少一些,但是會擠出一些時間來寫,最後打個廣告,我的之前一些手寫原始碼文章:

https://github.com/JinJieTan/...

記得給個star,喜歡的話幫我公眾號:前端巔峰的文章點個在看/贊,關注一波

相關文章