開頭
我是Peter
抖音系企業應用設計系統 Semi Design 開源了,這是我今天聽到最大的訊息,於是晚上回家趕緊去看了看
開啟知乎,果然跟我想的一樣,第一件事肯定有人否定這個開源的庫,是基於別人的開源庫改造而來
甚至有人會覺得,Ant-Design跟semi-design基本可以說完全一致,是不是完全的KPI專案?
不得不說的,什麼是”核心技術“
其實真正的核心技術,少而又少(特別是國內相對於國外來說),可以說百分90的程式設計師都是在找資源來完成、解決問題(找輪子)
我在教一些人學習前端的時候,我會告訴他,你要明白,你出了問題,第一時間應該去找業內已經有的解決方案,然後去找一個最適合你現狀的方案用起來
只有那不到百分10的程式設計師會去設計、制定業內的一個標準,提供輪子。
例如:
babel-import-plugin
And-design
和Semi-design
以及我在公司研發的元件庫,都是用的它。
那我們其實都是認可它的這套標準,規則。很適合我們元件庫的建設,所以三者都採用了這種方式去做。
那麼這個外掛的自動轉換成按需載入的那幾行核心程式碼,就算是一個核心技術
。很多元件庫都依賴了它,都遵循它的設計規則來實現按需載入
核心技術少而又少,這也是我們國內內卷化的一個真正原因
回到semi-design,能不能用?
當然可以用,都說了是企業級的。就類似於兩臺車,都是可以開的,都是豪華知名品牌的C級別轎車,那他們都不會有明顯的致命弱點,區別是可能區別在於你更喜歡誰的外觀,或者某一個方面的特質,例如底盤、操控?還是內飾的奢華程度,或者是勞斯萊斯的小金人吸引了你。
我對比了semi-design
和ant-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
,喜歡的話幫我公眾號:前端巔峰
的文章點個在看/贊,關注一波